package eu.etaxonomy.taxeditor.ui.section.classification;
+import org.apache.commons.lang.StringUtils;
import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.common.CdmUtils;
Taxon taxon = HibernateProxyHelper.deproxy(node.getTaxon(), Taxon.class);
if(taxon.getName()!=null && taxon.getName().isInstanceOf(NonViralName.class)){
NonViralName<?> name = HibernateProxyHelper.deproxy(node.getTaxon().getName(), NonViralName.class);
- if(!name.getRank().isHigher(Rank.GENUS())){
+ if( ! name.isSupraGeneric() && name.getRank() != null){
String taxonName = "";
- if(name.isGenus() || name.isInfraGeneric()){
+ if(name.isGenus() || name.isInfraGeneric()|| name.isSpeciesAggregate() ){
taxonName = name.getGenusOrUninomial();
}
- else if(name.isSpecies() || name.isInfraSpecific()){
- taxonName = name.getGenusOrUninomial() +" "+ name.getSpecificEpithet();
+ else if(name.isSpecies() || name.isInfraSpecific() ){
+ taxonName = CdmUtils.concat(" ", name.getGenusOrUninomial(),name.getSpecificEpithet());
}
- text_newTaxonName.setText(taxonName+" ");
- if(text_newTaxonName.getMainControl() instanceof Text){
- Text text = (Text)text_newTaxonName.getMainControl();
- text.setSelection(text_newTaxonName.getText().length());
+ if (StringUtils.isNotBlank(taxonName)){
+ text_newTaxonName.setText(taxonName + " ");
+ if(text_newTaxonName.getMainControl() instanceof Text){
+ Text text = (Text)text_newTaxonName.getMainControl();
+ text.setSelection(text_newTaxonName.getText().length());
+ }
}
}
}