import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.taxeditor.store.CdmStore;
return getCache((TypeDesignationBase<?>) element);
}else if (element instanceof HomotypicalGroup) {
return getCache((HomotypicalGroup) element);
+ }else if (element instanceof TaxonNode) {
+ return getCache((TaxonNode) element);
}else if (element instanceof Marker) {
Marker marker = (Marker) element;
MarkerType type = marker.getMarkerType();
}
+ private static String getCache(TaxonNode taxonNode) {
+ String result = "";
+ Classification classification = taxonNode.getClassification();
+ if (classification != null){
+ String classificationStr = classification.getName() == null ? "" : classification.getName().getText();
+ result = CdmUtils.concat("" , result, classificationStr);
+ if (StringUtils.isBlank(result)){
+ result = classification.toString();
+ }
+ }
+ String parentStr;
+ TaxonNode parentNode = taxonNode.getParent();
+ if (parentNode == null){
+ parentStr = "no parent";
+ }else{
+ Taxon parentTaxon = parentNode.getTaxon();
+ if (parentTaxon == null){
+ parentStr = "no parent taxon";
+ }else{
+ TaxonNameBase<?,?> parentName = parentTaxon.getName();
+ if (parentName == null){
+ parentStr = parentTaxon.getTitleCache();
+ }else{
+ parentStr = parentName.getTitleCache();
+ }
+ }
+ }
+ result = CdmUtils.concat(": ", result, parentStr);
+
+ return null;
+ }
+
private static String getCache(TypeDesignationBase<?> designation) {
designation = CdmBase.deproxy(designation);
TypeDesignationStatusBase<?> status = designation.getTypeStatus();