Merge branch 'release/3.12.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / element / PartialElement.java
index 852018d0a104146c1252e7cb147c5c14537f85b9..f448fe3c415c2f268b63b9067288aa7aadfc2a1f 100644 (file)
@@ -16,7 +16,6 @@ import org.eclipse.swt.widgets.Label;
 import org.joda.time.Partial;
 
 import eu.etaxonomy.cdm.model.common.TimePeriod;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
 
 /**
  * <p>PartialElement class.</p>
@@ -37,7 +36,7 @@ public class PartialElement extends AbstractCdmFormElement implements ISelectabl
         * <p>Constructor for PartialElement.</p>
         *
         * @param formFactory a {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
-        * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.forms.ICdmFormElement} object.
         * @param labelString a {@link java.lang.String} object.
         * @param style a int.
         */
@@ -119,11 +118,27 @@ public class PartialElement extends AbstractCdmFormElement implements ISelectabl
 
        private void handleEvent(Object eventSource){
                if(eventSource == number_month){
-                       partial = TimePeriod.setPartialField(partial, number_month.getInteger(), TimePeriod.MONTH_TYPE);
+                       if (number_month.getInteger() == 0){
+                               partial = TimePeriod.setPartialField(partial, null, TimePeriod.MONTH_TYPE);
+                       } else{
+                               partial = TimePeriod.setPartialField(partial, number_month.getInteger(), TimePeriod.MONTH_TYPE);
+                       }
+                       
                }else if(eventSource == number_day){
-                       partial = TimePeriod.setPartialField(partial, number_day.getInteger(), TimePeriod.DAY_TYPE);
+                       if (number_day.getInteger() == 0){
+                               partial = TimePeriod.setPartialField(partial, null, TimePeriod.DAY_TYPE);
+                       } else{
+                               partial = TimePeriod.setPartialField(partial, number_day.getInteger(), TimePeriod.DAY_TYPE);
+                       }
+                       
+                       
                }else if(eventSource == number_year){
-                       partial = TimePeriod.setPartialField(partial, number_year.getInteger(), TimePeriod.YEAR_TYPE);
+                       if (number_year.getInteger() == 0){
+                               partial = TimePeriod.setPartialField(partial, null, TimePeriod.YEAR_TYPE);
+                       } else{
+                               partial = TimePeriod.setPartialField(partial, number_year.getInteger(), TimePeriod.YEAR_TYPE);
+                       }
+                       
                }
                firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
        }