- fixed NPE (#4448)
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / combo / TermComboElement.java
index 38f1fea81b332f054d072085ff5ca243c296bffd..14336ea794cc628fa30c21ba6b1b4caf1fbf268c 100644 (file)
@@ -69,26 +69,28 @@ public class TermComboElement<T extends DefinedTermBase>
 
        private List<T> customPreferredTerms;
 
+       private boolean addEmptyElement;
+
        public TermComboElement(CdmFormFactory formFactory,
-                       ICdmFormElement parentElement, TermType termType, String labelString, T selection,
+                       ICdmFormElement parentElement, TermType termType, String labelString, T selection, boolean addEmptyElement,
                        int style) {
-               this(formFactory, parentElement, null, termType, null, labelString, selection, style);
+               this(formFactory, parentElement, null, termType, null, labelString, selection, addEmptyElement, style);
        }
 
        public TermComboElement(CdmFormFactory formFactory,
-               ICdmFormElement parentElement, TermVocabulary<?> termVocabulary, String labelString, T selection,
+               ICdmFormElement parentElement, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
                int style) {
-           this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, style);
+           this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style);
        }
 
     public TermComboElement(CdmFormFactory formFactory,
-            ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection,
+            ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
             int style) {
-        this(formFactory, parentElement, termClass, null, null, labelString, selection, style);
+        this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style);
     }
 
        private TermComboElement(CdmFormFactory formFactory,
-               ICdmFormElement parentElement, Class<T> termClass, TermType termType, TermVocabulary<?> termVocabulary, String labelString, T selection,
+               ICdmFormElement parentElement, Class<T> termClass, TermType termType, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
                int style) {
         super(formFactory, parentElement);
 
@@ -98,6 +100,7 @@ public class TermComboElement<T extends DefinedTermBase>
         else{
             this.termClass =  (Class<T>) DefinedTerm.class;
         }
+        this.addEmptyElement = addEmptyElement;
 
         if (labelString != null) {
             label = formFactory.createLabel(getLayoutComposite(), labelString);
@@ -192,9 +195,11 @@ public class TermComboElement<T extends DefinedTermBase>
                int i = 1;
                int index = 0;
 
-               // Add an empty element for when nothing was selected yet
-               combo.add(EMPTY_ELEMENT_LABEL);
-               terms.add(emptyElement);
+               if(addEmptyElement){
+                   // Add an empty element for when nothing was selected yet
+                   combo.add(EMPTY_ELEMENT_LABEL);
+                   terms.add(emptyElement);
+               }
 
                if (termComparator != null) {
                        Collections.sort(preferredTerms, termComparator);