#5910 if the default language of the editor is not available then the Language.Defaul...
authorKatja Luther <k.luther@bgbm.org>
Thu, 23 Jun 2016 08:44:45 +0000 (10:44 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 23 Jun 2016 08:44:45 +0000 (10:44 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java

index 5490df762c9671532d5b4f4a9a608c58a3314054..a34694860036ee3eeec77263738880f9e2f8ce45 100644 (file)
@@ -9,6 +9,8 @@
  */\r
 package eu.etaxonomy.taxeditor.editor.definedterm;\r
 \r
+import java.util.ArrayList;\r
+\r
 import org.apache.commons.lang.StringUtils;\r
 import org.eclipse.jface.viewers.StyledCellLabelProvider;\r
 import org.eclipse.jface.viewers.StyledString;\r
@@ -21,6 +23,8 @@ import org.eclipse.swt.graphics.TextStyle;
 import org.eclipse.swt.widgets.Display;\r
 \r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.Representation;\r
 import eu.etaxonomy.cdm.model.common.TermBase;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
@@ -84,11 +88,17 @@ public class TermLabelProvider extends StyledCellLabelProvider {
 \r
         if (element instanceof DefinedTermBase) {\r
             DefinedTermBase<?> dtb = (DefinedTermBase<?>) element;\r
+\r
+            Representation rep = dtb.getRepresentation(PreferencesUtil.getGlobalLanguage());\r
+            if ( rep == null){\r
+                rep = dtb.getPreferredRepresentation(new ArrayList<Language>());\r
+            }\r
             if (StringUtils.isNotBlank(dtb.getIdInVocabulary())) {\r
-                return dtb.getIdInVocabulary() + " : " + dtb.getLabel(PreferencesUtil.getGlobalLanguage());\r
+                return dtb.getIdInVocabulary() + " : " + rep.getLabel();\r
             } else {\r
-                return dtb.getLabel(PreferencesUtil.getGlobalLanguage());\r
+                return rep.getLabel();\r
             }\r
+\r
         } else if (element instanceof TermBase) {\r
             return ((TermBase) element).getTitleCache();\r
         }\r
index 02243a6cbad7f7be6c1f6005b2ab0911b4b69261..33b37cb0bf65be9974bf1035eabef78dd49c82a4 100644 (file)
@@ -292,9 +292,16 @@ public class TermComboElement<T extends DefinedTermBase>
                        return "";
                }else{
                        String termLabel = term.getLabel(CdmStore.getDefaultLanguage());
+                       if (termLabel == null){
+                           termLabel = term.getLabel();
+                       }
                        if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_VOCABULARY_ID_FOR_TERM_LABELS)
                            && term.getVocabulary()!=null){
-                           termLabel += " ["+term.getVocabulary().getLabel(CdmStore.getDefaultLanguage())+"]";
+                           String vocLabel = term.getVocabulary().getLabel(CdmStore.getDefaultLanguage());
+                           if (vocLabel == null){
+                               vocLabel = term.getVocabulary().getLabel();
+                           }
+                           termLabel += " ["+vocLabel+"]";
                        }
             return termLabel;
                }