fix #5488 show only zoological nomenclatural status types not for
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 6 Jan 2017 15:40:11 +0000 (16:40 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 6 Jan 2017 15:40:11 +0000 (16:40 +0100)
botanical names

 - also dis some refactoring

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java

index c2f5a806fef4c5ae3996bae2492e8478bffbb5bf..0956e31dbc4ce333f5a6e103276850acf6d14973 100644 (file)
@@ -59,8 +59,8 @@ public class TermComboElement<T extends DefinedTermBase>
 
        public TermComboElement(CdmFormFactory formFactory,
                ICdmFormElement parentElement, TermVocabulary<?> termVocabulary, String labelString, T selection, boolean addEmptyElement,
-               int style) {
-           this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style, false);
+               int style, boolean useAbbrevLabel) {
+           this(formFactory, parentElement, null, null, termVocabulary, labelString, selection, addEmptyElement, style, useAbbrevLabel);
        }
 
     public TermComboElement(CdmFormFactory formFactory,
@@ -72,7 +72,7 @@ public class TermComboElement<T extends DefinedTermBase>
             ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection, boolean addEmptyElement,
             int style, boolean useAbbrevLabel) {
         this(formFactory, parentElement, termClass, null, null, labelString, selection, addEmptyElement, style, useAbbrevLabel);
-       
+
     }
 
        private TermComboElement(CdmFormFactory formFactory,
index c526ef31c12188238b571a581fefb13abd2462f1..d6009a57fefc9743f825e1f67708e29e4bc36ab0 100644 (file)
@@ -915,10 +915,7 @@ public class CdmFormFactory extends FormToolkit {
             String labelString,
             T selection,
             int style) {
-        TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, true, style, false);
-        adapt(element);
-        parentElement.addElement(element);
-        return element;
+        return this.createDefinedTermComboElement(termType, null, parentElement, labelString, selection, false, style, true);
     }
 
     public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
@@ -928,10 +925,7 @@ public class CdmFormFactory extends FormToolkit {
                        T selection,
                        boolean addEmptyElement,
                        int style) {
-               TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style, false);
-               adapt(element);
-               parentElement.addElement(element);
-               return element;
+        return this.createDefinedTermComboElement(termType, null, parentElement, labelString, selection, addEmptyElement, style, true);
        }
     public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
                        TermType termType,
@@ -939,11 +933,9 @@ public class CdmFormFactory extends FormToolkit {
                        String labelString,
                        T selection,
                        boolean addEmptyElement,
-                       int style, boolean useAbbrevLabel) {
-               TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style, useAbbrevLabel);
-               adapt(element);
-               parentElement.addElement(element);
-               return element;
+                       int style,
+                       boolean useAbbrevLabel) {
+               return createDefinedTermComboElement(termType, null, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel);
        }
 
 
@@ -953,10 +945,7 @@ public class CdmFormFactory extends FormToolkit {
             String labelString,
             T selection,
             int style) {
-        TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termVocabulary, labelString, selection, true, style);
-        adapt(element);
-        parentElement.addElement(element);
-        return element;
+        return this.createDefinedTermComboElement(null, termVocabulary, parentElement, labelString, selection, false, style, true);
     }
 
        public <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
@@ -965,11 +954,36 @@ public class CdmFormFactory extends FormToolkit {
                String labelString,
                T selection,
                boolean addEmptyElement,
-               int style) {
-           TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termVocabulary, labelString, selection, addEmptyElement, style);
-           adapt(element);
-           parentElement.addElement(element);
-           return element;
+               int style,
+               boolean useAbbrevLabel) {
+           return createDefinedTermComboElement(null, termVocabulary, parentElement, labelString, selection, addEmptyElement, style, useAbbrevLabel);
+       }
+
+       private <T extends DefinedTermBase> TermComboElement<T> createDefinedTermComboElement(
+               TermType termType,
+               TermVocabulary<?> termVocabulary,
+               ICdmFormElement parentElement,
+               String labelString,
+               T selection,
+               boolean addEmptyElement,
+               int style,
+               boolean useAbbrevLabel) {
+           if(termType!=null){
+               TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termType, labelString, selection, addEmptyElement, style, useAbbrevLabel);
+               adapt(element);
+               parentElement.addElement(element);
+               return element;
+           }
+           else if(termVocabulary!=null){
+               TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termVocabulary, labelString, selection, addEmptyElement, style, useAbbrevLabel);
+               adapt(element);
+               parentElement.addElement(element);
+               return element;
+           }
+           else{
+               //this should never happen
+               return null;
+           }
        }
 
        public <T extends IEnumTerm<T>> EnumComboElement<T> createEnumComboElement(
index eb9a4d411da6837b8fb0932ea10baf94d1cf0962..67b59f9cfb359b0694dcc06d2dce5b12172e9020 100644 (file)
@@ -11,9 +11,12 @@ package eu.etaxonomy.taxeditor.ui.section.name;
 
 import org.eclipse.swt.events.SelectionListener;
 
-import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.api.service.IVocabularyService;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.common.VocabularyEnum;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -46,7 +49,8 @@ public class NomenclaturalStatusElement extends AbstractReferencedEntityElement<
        /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement element, int style) {
-               nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(TermType.NomenclaturalStatusType, this, "Nomenclatural Status Type", null, false, style, true);
+           TermVocabulary vocabulary = CdmStore.getService(IVocabularyService.class).find(VocabularyEnum.NomenclaturalStatusType.getUuid());
+               nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(vocabulary, this, "Nomenclatural Status Type", null,style);
                ruleConsideredText = formFactory.createTextWithLabelElement(this, "Rule Considered", "", style);
 
                super.createControls(element, style);