ref #8763: disable multiselect
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / featuretree / FeatureTreeLabelProvider.java
index 1f2f7131c8bf05ee00f1796adb82575e9fff1f80..7139a978387becaa107bb5d7c548a3252be9b056 100644 (file)
@@ -1,52 +1,50 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
 
 package eu.etaxonomy.taxeditor.featuretree;
 
+import java.util.ArrayList;
+
 import org.eclipse.jface.viewers.LabelProvider;
 
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.model.term.TermNode;
+import eu.etaxonomy.cdm.model.term.TermTree;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 
 /**
- * <p>FeatureTreeLabelProvider class.</p>
  *
  * @author n.hoffmann
  * @created Aug 5, 2010
  * @version 1.0
  */
 public class FeatureTreeLabelProvider extends LabelProvider {
-       
-       private Feature feature;
-               
+
        /** {@inheritDoc} */
        @Override
        public String getText(Object element) {
-               if(element instanceof FeatureTree){
-                       return ((FeatureTree) element).getTitleCache();
-               }else if(element instanceof FeatureNode){
-                       feature = ((FeatureNode) element).getFeature();
-                       
-                       if(feature != null)
-                               return feature.getTitleCache();
-                       
+               if(element instanceof TermTree){
+                       return ((TermTree) element).getTitleCache();
+               }else if(element instanceof TermNode){
+                   DefinedTermBase term = ((TermNode) element).getTerm();
+                   if(term!=null){
+                       Representation rep = term.getRepresentation(PreferencesUtil.getGlobalLanguage());
+                       if (rep == null){
+                           rep = term.getPreferredRepresentation(new ArrayList<Language>());
+                       }
+                       return rep != null? rep.getLabel() : term.getTitleCache();
+                   }
+
                }
                return "No label provided";
        }
-       
-       /**
-        * <p>Getter for the field <code>feature</code>.</p>
-        *
-        * @return a {@link eu.etaxonomy.cdm.model.description.Feature} object.
-        */
-       public Feature getFeature(){
-               return feature;
-       }
+
 }