ref #8930: come back to unicode in navigator
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / util / TaxonTreeNodeLabelProvider.java
index 8088c5727fc56c4e4a97cb553ec2c7c2d115d935..31886199293ecec09ad3a6a851b16a172e38e04d 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * Copyright (C) 2017 EDIT
  * European Distributed Institute of Taxonomy
@@ -18,10 +17,10 @@ import org.hibernate.LazyInitializationException;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.security.RequiredPermissions;
@@ -31,28 +30,24 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
 /**
  * @author pplitzner
  * @date 05.09.2017
- *
  */
-public class TaxonTreeNodeLabelProvider extends ColumnLabelProvider
-implements IStyledLabelProvider {
+public class TaxonTreeNodeLabelProvider
+        extends ColumnLabelProvider
+        implements IStyledLabelProvider {
 
-    private Styler notGrantedStyler = null;
+    protected Styler notGrantedStyler = null;
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public String getText(Object element) {
         //classification
         if(element instanceof Classification){
             String text = ((Classification) element).getName().getText();
-            return text != null ? text : "Unnamed Taxonomic Tree";
+            return text != null ? text : "Unnamed Classification";
         }
         //taxon node
         else if (element instanceof TaxonNode){
             TaxonNode taxonNode = (TaxonNode) HibernateProxyHelper.deproxy(element);
-
-            try{
+          try{
                 Taxon taxon = HibernateProxyHelper.deproxy(taxonNode.getTaxon());
                 if(taxon == null){
                     String text = taxonNode.getClassification().getName() == null ? null : taxonNode.getClassification().getName().getText();
@@ -62,7 +57,15 @@ implements IStyledLabelProvider {
                     return text;
                 }else{
                     try{
-                        return taxon.getName() != null ? ((IIdentifiableEntity) HibernateProxyHelper.deproxy(taxon.getName())).getTitleCache() : new String();
+                        String text = "";
+                        if (taxonNode.getStatus() != null){
+                            text = taxonNode.getStatus().getSymbol() + " ";
+                        }
+                        if (taxonNode.getTaxon() != null && !taxonNode.getTaxon().isPublish()) {
+                            text = text + "\\u20ac";
+                        }
+                        text += taxon.getName() != null ? taxon.getName().getTitleCache() : "";
+                        return text;
                     }catch(Exception e){
                         MessagingUtils.error(getClass(), e);
                     }
@@ -71,12 +74,24 @@ implements IStyledLabelProvider {
                 MessagingUtils.error(getClass(), e);
             }
         }
+        else if (element instanceof TaxonNodeDto){
+            TaxonNodeDto taxonNode = (TaxonNodeDto) element;
+            String text= "";
+            if (taxonNode.getStatus() != null){
+                text = taxonNode.getStatus().getSymbol() + " ";
+            }
+            if (!taxonNode.isPublish() ) {
+                text = text + "\u26D4 ";
+            }
+            //TODO if symbols contain non-ASCII this may create problems
+            //     if so we may use ASCII like text +=Character.toString((char)248) + " ";
+
+            text += taxonNode.getTitleCache();
+            return text;
+        }
         return new String();
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public StyledString getStyledText(Object element) {
         //classification
@@ -107,4 +122,5 @@ implements IStyledLabelProvider {
         }
         return notGrantedStyler;
     }
-}
+
+}
\ No newline at end of file