Merge branch 'release/4.3.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / ModifierElement.java
index e5cefa90a8dfeeacfabb1e971033020790f09d2d..f182ca831bd41415e9f39e8aaab596ec3e870a44 100644 (file)
@@ -77,6 +77,7 @@ public class ModifierElement extends AbstractEntityCollectionElement<DefinedTerm
                }
         if(entity.getId()>0){
             combo_modifier.setSelection(entity);
+            combo_modifier.removeEmptyElement();
         }
        }
 
@@ -89,16 +90,24 @@ public class ModifierElement extends AbstractEntityCollectionElement<DefinedTerm
        /** {@inheritDoc} */
        @Override
        public void handleEvent(Object eventSource) {
-           if(eventSource==combo_modifier){
-               if(getParentElement() instanceof ModifierSection){
-                   ModifierSection parentSection = (ModifierSection) getParentElement();
-                   if((parentSection).getEntity() instanceof StateData){
+           if(eventSource==combo_modifier && combo_modifier.getSelection()!=null){
+               combo_modifier.removeEmptyElement();
+               if(getParentElement() instanceof AbstractFormSection){
+                   AbstractFormSection<?> parentSection = (AbstractFormSection<?>) getParentElement();
+                   if(parentSection.getEntity() instanceof StateData){
                        StateData stateData = (StateData) parentSection.getEntity();
                        stateData.removeModifier(entity);
                        DefinedTerm term = combo_modifier.getSelection();
                        stateData.addModifier(term);
                        entity = term;
                    }
+                   else if(parentSection.getEntity() instanceof StatisticalMeasurementValue){
+                       StatisticalMeasurementValue parentEntity = (StatisticalMeasurementValue) parentSection.getEntity();
+                       parentEntity.removeModifier(entity);
+                       DefinedTerm term = combo_modifier.getSelection();
+                       parentEntity.addModifier(term);
+                       entity = term;
+                   }
                }
            }
        }