adapt editor to value of statisticalMeasurementValue as BigDecimal
authorKatja Luther <k.luther@bgbm.org>
Wed, 27 May 2020 14:35:32 +0000 (16:35 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 27 May 2020 14:35:32 +0000 (16:35 +0200)
21 files changed:
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/QuantitativeDataStatistics.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/SpecimenSelectionDialog.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/handler/AddDescriptionHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/quantitative/QuantitativeDataDialogComposite.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BigDecimalWithLabelElement.java [new file with mode: 0755]
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/element/FloatWithLabelElement.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/RuleConsideredElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationDetailElement.java

index d010a50c4598616560e5056c7c2fa96620e4728f..deefd5d8ae1d57b316e125727a048c5e6ec49101 100644 (file)
@@ -27,9 +27,12 @@ public class QuantitativeDataStatistics {
     private List<DescriptiveStatistics> statistics = new ArrayList<>();
 
     public void addQuantitativeData(QuantitativeData quantitativeData){
-        double[] exactValues = quantitativeData.getStatisticalValues().stream()
+        double[] exactValues =
+                quantitativeData.getStatisticalValues().stream()
                 .filter(value -> value.getType().equals(StatisticalMeasure.EXACT_VALUE()))
-                .mapToDouble(value -> value.getValue()).toArray();
+                .mapToDouble(value -> value.getValue().doubleValue()).toArray();
+
+
         //if there are exact values we use those
         if (exactValues.length > 0) {
             statistics.add(new DescriptiveStatistics(exactValues));
index 2ac4bda673381ce8705227b99d74493945b092fb..a0a24e3712a0b4485a8b5924c3608038216b34ef 100644 (file)
@@ -214,6 +214,8 @@ public class SpecimenSelectionDialog extends Dialog {
         List<SpecimenNodeWrapper> result = new ArrayList<>();
         Collection<SpecimenNodeWrapper> specimenCache = matrix.getSpecimenCache();
         String text = txtTextFilter.getText();
+
+        //filter for treeIndex is missing
         if(CdmUtils.isBlank(text)){
             result = new ArrayList<>(specimenCache);
         }
index 1ab3a7c5fa063f5bd30a64148a526985684ed1f8..4611f3592f94a4398b4b62f0c1703ca189fc1edb 100755 (executable)
@@ -24,7 +24,6 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.window.Window;
 
-import eu.etaxonomy.cdm.api.service.dto.SpecimenRowWrapperDTO;
 import eu.etaxonomy.cdm.persistence.dto.SpecimenNodeWrapper;
 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
 import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.CharacterMatrix;
@@ -81,12 +80,13 @@ public class AddDescriptionHandler {
     @CanExecute
     public boolean canExecute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart,
             MHandledMenuItem menuItem){
-        CharacterMatrixPart matrixPart = (CharacterMatrixPart) activePart.getObject();
-        IStructuredSelection selection = matrixPart.getSelection();
-        boolean canExecute = (selection.isEmpty() ||
-                !(selection.getFirstElement() instanceof SpecimenRowWrapperDTO) );
-
-        return canExecute;
+//        CharacterMatrixPart matrixPart = (CharacterMatrixPart) activePart.getObject();
+//        IStructuredSelection selection = matrixPart.getSelection();
+//        boolean canExecute = (selection.isEmpty() ||
+//                !(selection.getFirstElement() instanceof SpecimenRowWrapperDTO) );
+//
+//        return canExecute;
+        return true;
 
     }
 }
index ed932898151c2e9b3abea16d2f9546210e392b60..41db2e8c5fec840858d11cdfb7682a9880d942cd 100644 (file)
@@ -9,6 +9,7 @@
  */
 package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.quantitative;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -119,15 +120,17 @@ public class QuantitativeDataDialogComposite extends Composite {
         //add existing exact values
         editorValue.getStatisticalValues().stream()
         .filter(measure->measure.getType().equals(StatisticalMeasure.EXACT_VALUE()))
-        .forEach(exact->addText(valuesComposite, exact.getType(), Float.toString(exact.getValue())));
+        .forEach(exact->addText(valuesComposite, exact.getType(), exact.getValue().toString()));
+
+
 
         //add aggregation values
         editorValue.getFeature().getRecommendedStatisticalMeasures()
         .stream()
         .filter(sm->!sm.equals(StatisticalMeasure.EXACT_VALUE()))
         .forEach(measure->{
-            Float specificStatisticalValue = editorValue.getSpecificStatisticalValue(measure);
-            addText(valuesComposite, measure, specificStatisticalValue!=null?Float.toString(specificStatisticalValue):null);
+            BigDecimal specificStatisticalValue = editorValue.getSpecificStatisticalValue(measure);
+            addText(valuesComposite, measure, specificStatisticalValue!=null?specificStatisticalValue.toString():null);
         });
 
         scrolledComposite_1.setContent(valuesComposite);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BigDecimalWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BigDecimalWithLabelElement.java
new file mode 100755 (executable)
index 0000000..5a7a411
--- /dev/null
@@ -0,0 +1,86 @@
+/**
+* Copyright (C) 2020 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.element;
+
+import java.math.BigDecimal;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * @author k.luther
+ * @since May 27, 2020
+ */
+public class BigDecimalWithLabelElement extends NumberWithLabelElement {
+
+
+    public BigDecimalWithLabelElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString,
+            Number initialNumber, int style) {
+        super(toolkit, parentElement, labelString, initialNumber, style);
+
+    }
+
+    private BigDecimal start;
+    private BigDecimal end;
+
+    @Override
+    public void modifyText(ModifyEvent event) {
+        String value = text.getText();
+        if(StringUtils.isBlank(value)){
+            text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+            super.modifyText(event);
+            return;
+        }
+
+        try{
+            BigDecimal number = new BigDecimal(value);
+            if((start != null && number.compareTo(start) < 0 || (end != null && number.compareTo(end) > 0))){
+                exception = new NumberFormatException("You entered a number that is not within the allowed bounds.");
+                throw exception;
+            }
+        }catch(NumberFormatException e){
+            text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+            firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+            exception = e;
+            return;
+        }
+
+        exception = null;
+        text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+
+        super.modifyText(event);
+    }
+
+    /**
+     * <p>setLimits</p>
+     *
+     * @param numberOfDigits a int.
+     * @param start a {@link java.lang.Integer} object.
+     * @param end a {@link java.lang.Integer} object.
+     */
+
+    public void setLimits(int numberOfDigits, BigDecimal start, BigDecimal end){
+        text.setTextLimit(numberOfDigits);
+        this.start = start;
+        this.end = end;
+    }
+
+    public BigDecimal getBigDecimal(){
+        String text = super.getText();
+        try {
+            return StringUtils.isBlank(text) ? null : new BigDecimal(text);
+        } catch (NumberFormatException e) {
+            exception = e;
+        }
+        return null;
+    }
+
+}
index 5ed3ed4e7beed817603ee19e52bde5aba05194ae..0328fcc7ef20699219c223b9fffc8847cf5cf331 100644 (file)
@@ -849,16 +849,26 @@ public class CdmFormFactory extends FormToolkit {
      *         {@link eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement}
      *         object.
      */
-       public NumberWithLabelElement createNumberTextWithLabelElement(
+       public FloatWithLabelElement createFloatTextWithLabelElement(
                        ICdmFormElement parentElement, String labelString,
                        Number initialNumber, int style) {
-               NumberWithLabelElement element = new NumberWithLabelElement(this,
+               FloatWithLabelElement element = new FloatWithLabelElement(this,
                                parentElement, labelString, initialNumber, style);
                adapt(element);
                parentElement.addElement(element);
                return element;
        }
 
+       public BigDecimalWithLabelElement createBigDecimalTextWithLabelElement(
+            ICdmFormElement parentElement, String labelString,
+            Number initialNumber, int style) {
+           BigDecimalWithLabelElement element = new BigDecimalWithLabelElement(this,
+                parentElement, labelString, initialNumber, style);
+        adapt(element);
+        parentElement.addElement(element);
+        return element;
+    }
+
     public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement,
             String labelString, LanguageString languageString, int style) {
         return createLanguageStringWithLabelElement(parentElement, labelString, languageString, null, false, style);
@@ -1053,14 +1063,19 @@ public class CdmFormFactory extends FormToolkit {
 
        public <T extends IEnumTerm<T>> EnumComboElement<T> createEnumComboElement(
                Class<T> enumComboType, ICdmFormElement parentElement,
-               int style) {
-           return createEnumComboElement(enumComboType, parentElement, null, style);
+               int style, boolean hasNullValue) {
+           return createEnumComboElement(enumComboType, parentElement, null, style, hasNullValue);
        }
+       public <T extends IEnumTerm<T>> EnumComboElement<T> createEnumComboElement(
+            Class<T> enumComboType, ICdmFormElement parentElement,
+            int style) {
+        return createEnumComboElement(enumComboType, parentElement, null, style, false);
+    }
 
        public <T extends IEnumTerm<T>> EnumComboElement<T> createEnumComboElement(
                        Class<T> enumComboType, ICdmFormElement parentElement, Comparator<T> comparator,
-                       int style) {
-        EnumComboElement<T> element = new EnumComboElement<T>(this, parentElement, enumComboType, comparator, style);
+                       int style, boolean hasNullValue) {
+        EnumComboElement<T> element = new EnumComboElement<T>(this, parentElement, enumComboType, comparator, style, hasNullValue);
         adapt(element);
         parentElement.addElement(element);
         return element;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/FloatWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/FloatWithLabelElement.java
new file mode 100755 (executable)
index 0000000..8274878
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+* Copyright (C) 2020 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.element;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * @author k.luther
+ * @since May 27, 2020
+ */
+public class FloatWithLabelElement extends NumberWithLabelElement {
+
+    private Float start;
+    private Float end;
+
+
+    public FloatWithLabelElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString,
+            Number initialNumber, int style) {
+        super(toolkit, parentElement, labelString, initialNumber, style);
+
+    }
+
+
+    @Override
+    public void modifyText(ModifyEvent event) {
+        String value = text.getText();
+        if(StringUtils.isBlank(value)){
+            text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+            super.modifyText(event);
+            return;
+        }
+
+        try{
+            Float number = Float.parseFloat(value);
+            if((start != null && number < start) || (end != null && number > end)){
+                exception = new NumberFormatException("You entered a number that is not within the allowed bounds.");
+                throw exception;
+            }
+        }catch(NumberFormatException e){
+            text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+            firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
+            exception = e;
+            return;
+        }
+
+        exception = null;
+        text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+
+        super.modifyText(event);
+    }
+
+    /**
+     * <p>setLimits</p>
+     *
+     * @param numberOfDigits a int.
+     * @param start a {@link java.lang.Float} object.
+     * @param end a {@link java.lang.Float} object.
+     */
+    public void setLimits(int numberOfDigits, Float start, Float end){
+        text.setTextLimit(numberOfDigits);
+        this.start = start;
+        this.end = end;
+    }
+
+
+    public void setLimits(int numberOfDigits, Integer start, Integer end){
+        setLimits(numberOfDigits, start.floatValue(), end.floatValue());
+    }
+}
index 6e6f073ce5256e12f3be3ce50c9b77a355c2b030..81decadefe1a516403ad85303cce6151cb7b2267 100644 (file)
@@ -60,12 +60,12 @@ public class MinMaxTextSection extends AbstractFormSection<DerivedUnitFacade> {
 
                switch(unitType) {
                        case ELEVATION:
-                               text_minVal = formFactory.createNumberTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
-                               text_maxVal = formFactory.createNumberTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
+                               text_minVal = formFactory.createFloatTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
+                               text_maxVal = formFactory.createFloatTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
                                break;
                        default:
-                               text_minVal = formFactory.createNumberTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
-                               text_maxVal = formFactory.createNumberTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
+                               text_minVal = formFactory.createFloatTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
+                               text_maxVal = formFactory.createFloatTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
                                break;
                }
                text_freeText = formFactory.createTextWithLabelElement(this,
index c757ca22ebc82857ece9fdcf022514a0512d43a9..a9bdc9cbe402d1b2d1011d0a7df16000fbc18ce0 100644 (file)
@@ -10,9 +10,6 @@
 package eu.etaxonomy.taxeditor.ui.element;
 
 import org.apache.commons.lang.StringUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.widgets.Display;
 
 
 /**
@@ -21,12 +18,10 @@ import org.eclipse.swt.widgets.Display;
  * @author n.hoffmann
  * @created Mar 22, 2010
  */
-public class NumberWithLabelElement extends TextWithLabelElement {
+public abstract class NumberWithLabelElement extends TextWithLabelElement {
 
-       private Float start;
-       private Float end;
 
-       private NumberFormatException exception;
+       protected NumberFormatException exception;
 
        /**
         * <p>Constructor for NumberWithLabelElement.</p>
@@ -121,58 +116,9 @@ public class NumberWithLabelElement extends TextWithLabelElement {
                return null;
        }
 
-       /** {@inheritDoc} */
-       @Override
-       public void modifyText(ModifyEvent event) {
-               String value = text.getText();
-               if(StringUtils.isBlank(value)){
-                       text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-                       super.modifyText(event);
-                       return;
-               }
-
-               try{
-                       Float number = Float.parseFloat(value);
-                       if((start != null && number < start) || (end != null && number > end)){
-                               exception = new NumberFormatException("You entered a number that is not within the allowed bounds.");
-                               throw exception;
-                       }
-               }catch(NumberFormatException e){
-                       text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
-                       firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
-                       exception = e;
-                       return;
-               }
 
-               exception = null;
-               text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
 
-               super.modifyText(event);
-       }
 
-       /**
-        * <p>setLimits</p>
-        *
-        * @param numberOfDigits a int.
-        * @param start a {@link java.lang.Integer} object.
-        * @param end a {@link java.lang.Integer} object.
-        */
-       public void setLimits(int numberOfDigits, Integer start, Integer end){
-               setLimits(numberOfDigits, start.floatValue(), end.floatValue());
-       }
-
-       /**
-        * <p>setLimits</p>
-        *
-        * @param numberOfDigits a int.
-        * @param start a {@link java.lang.Float} object.
-        * @param end a {@link java.lang.Float} object.
-        */
-       public void setLimits(int numberOfDigits, Float start, Float end){
-               text.setTextLimit(numberOfDigits);
-               this.start = start;
-               this.end = end;
-       }
 
        /**
         * <p>Getter for the field <code>exception</code>.</p>
index 2e5b4907c6363edfdcdd2e7865f8472441751278..cbc8fbcd3697a06bc2086a92e7b24942212c6718 100644 (file)
@@ -31,9 +31,9 @@ import eu.etaxonomy.taxeditor.preference.Resources;
 public class PartialElement extends AbstractCdmFormElement implements ISelectable {
 
        private Label label;
-       private NumberWithLabelElement number_day;
-       private NumberWithLabelElement number_month;
-       private NumberWithLabelElement number_year;
+       private FloatWithLabelElement number_day;
+       private FloatWithLabelElement number_month;
+       private FloatWithLabelElement number_year;
        private Partial partial;
 
        /**
@@ -55,13 +55,13 @@ public class PartialElement extends AbstractCdmFormElement implements ISelectabl
                label = formFactory.createLabel(getLayoutComposite(), labelString);
                addControl(label);
 
-               number_year = formFactory.createNumberTextWithLabelElement(this, "Year", null, style);
+               number_year = formFactory.createFloatTextWithLabelElement(this, "Year", null, style);
                number_year.setLimits(4, 0, 9999);
 
-               number_month = formFactory.createNumberTextWithLabelElement(this, "Month", null, style);
+               number_month = formFactory.createFloatTextWithLabelElement(this, "Month", null, style);
                number_month.setLimits(2, 1, 12);
 
-               number_day = formFactory.createNumberTextWithLabelElement(this, "Day", null, style);
+               number_day = formFactory.createFloatTextWithLabelElement(this, "Day", null, style);
                number_day.setLimits(2, 1, 31);
 
 
index 05d99e107e3fee7eaf5513975e9a1da939909c6a..6e3afdf52cc95521df2a7796e1b22f39bddddf80 100644 (file)
@@ -74,7 +74,7 @@ public class PointElement extends AbstractCdmFormElement implements
                text_longitudeParsed = formFactory.createTextWithLabelElement(
                                formElement, "", null, style);
                text_longitudeParsed.setEnabled(false);
-               number_errorRadius = formFactory.createNumberTextWithLabelElement(
+               number_errorRadius = formFactory.createFloatTextWithLabelElement(
                                formElement, "Error Radius (m)", null, style);
                combo_referenceSystem = formFactory.createDefinedTermComboElement(TermType.ReferenceSystem,
                                                formElement, "Reference System", null, style);
index d7ac3ca5f5aa253957f7f265238cc168a51fc2f8..6ddbe9f9e3292843e87d32d81eda47737a0dec2a 100644 (file)
@@ -141,8 +141,11 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
      * @return a {@link java.lang.String} object.
      */
     public String getText() {
-
-      return CdmUtils.Nb(text.getText());
+        if (!text.isDisposed()){
+            return CdmUtils.Nb(text.getText());
+        }else{
+            return null;
+        }
     }
 
     /**
index 00bbd1daa6dc94c1371e307515bb00b10dac9fb0..17bbd3964723965b6c2ffe05fd5bb5b02d57e265 100644 (file)
@@ -9,6 +9,7 @@
 
 package eu.etaxonomy.taxeditor.ui.section.description;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Set;
 
@@ -20,10 +21,10 @@ import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.BigDecimalWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
-import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 
 /**
@@ -36,7 +37,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 public class StatisticalMeasurementValueElement extends
                AbstractEntityCollectionElement<StatisticalMeasurementValue> {
 
-       private NumberWithLabelElement number_value;
+       private BigDecimalWithLabelElement number_value;
        private TermComboElement<StatisticalMeasure> combo_type;
        private ModifierSection section_modifiers;
 
@@ -69,7 +70,7 @@ public class StatisticalMeasurementValueElement extends
        /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement element, int style) {
-               number_value = formFactory.createNumberTextWithLabelElement(element, "Value", 0, style);
+               number_value = formFactory.createBigDecimalTextWithLabelElement(element, "Value", 0, style);
                combo_type = formFactory.createDefinedTermComboElement(TermType.StatisticalMeasure, element, "Statistical Measure", null, style);
                section_modifiers = formFactory.createModifierSection(getConversationHolder(), element, StoreUtil.getSectionStyle(ModifierSection.class, StatisticalMeasurementValue.class.getCanonicalName()));
                section_modifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
@@ -79,13 +80,13 @@ public class StatisticalMeasurementValueElement extends
        @Override
        public void handleEvent(Object eventSource) {
                if(eventSource == number_value){
-                       Float floatNumber = number_value.getFloat();
-                       if(floatNumber==null){
+                       BigDecimal bigDecimalNumber = number_value.getBigDecimal();
+                       if(bigDecimalNumber==null){
                            String zero = "0.0";
-                floatNumber = new Float(zero);
+                           bigDecimalNumber = new BigDecimal(zero);
                            number_value.setText(zero);
                        }
-            getEntity().setValue(floatNumber);
+            getEntity().setValue(bigDecimalNumber);
                }
                else if(eventSource == combo_type){
                        getEntity().setType(combo_type.getSelection());
index 6fdcfcbd0b0c1e80f82b4ea4a9ad7160771372b2..12556d93825490ac8ef838d668d90580e22396db 100644 (file)
@@ -37,7 +37,7 @@ public class PolytomousKeyDetailElement extends
                        PolytomousKey entity, int style) {
            textLabel = formFactory.createTextWithLabelElement(formElement, "Title", entity.getTitleCache(), style);
 
-           numberStartNumber = formFactory.createNumberTextWithLabelElement(formElement, "Start Number", entity.getStartNumber(), style);
+           numberStartNumber = formFactory.createFloatTextWithLabelElement(formElement, "Start Number", entity.getStartNumber(), style);
 
            sectionTaxonomicScope = formFactory.createTaxonomicScopeSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(TaxonomicScopeSection.class, entity.getClass().getCanonicalName()));
            sectionTaxonomicScope.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
index 60dee5d65a815bae9720cebb6632cf6afc119f95..a0ff6d61f38e0c7e781e2505882411824fcab968 100644 (file)
@@ -43,7 +43,7 @@ public class PolytomousKeyNodeDetailElement extends
                        PolytomousKeyNode entity, int style) {
                if (!entity.isLeaf()) {
                        NumberWithLabelElement number_nodeNumber = formFactory
-                                       .createNumberTextWithLabelElement(formElement,
+                                       .createFloatTextWithLabelElement(formElement,
                                                        "Node Number", entity.getNodeNumber(), style);
                        number_nodeNumber.setEnabled(false);
                }
index 24ea2910350a5b0beea9847016643c3f901c572f..735c0e4e426f4e967ca0de63f563980c40df34b0 100644 (file)
@@ -106,9 +106,9 @@ public class ImageFileElement extends MediaRepresentationPartElement<ImageFile>
         this.parentFormElement = formElement;
         this.style = style;
 
-               text_height = formFactory.createNumberTextWithLabelElement(formElement, "Height", null, style);
+               text_height = formFactory.createFloatTextWithLabelElement(formElement, "Height", null, style);
                text_height.setEnabled(false);
-               text_width = formFactory.createNumberTextWithLabelElement(formElement, "Width", null, style);
+               text_width = formFactory.createFloatTextWithLabelElement(formElement, "Width", null, style);
                text_width.setEnabled(false);
                element_keyValue = formFactory.createKeyValueViewerElement(formElement, "Key", "Value", null);
        }
index f69bdb7db24bdb74817e9e92083e19489e22a89c..4e17de2a18596d6ceb8cb713c83f728fcc48754b 100644 (file)
@@ -46,7 +46,7 @@ public class MediaRepresentationPartElement<T extends MediaRepresentationPart> e
        @Override
        public void createControls(ICdmFormElement element, int style) {
                text_uri = formFactory.createUriWithLabelElement(element, "URI", null, style);
-               text_size = formFactory.createNumberTextWithLabelElement(element, "Size", null, style);
+               text_size = formFactory.createFloatTextWithLabelElement(element, "Size", null, style);
                text_size.setEnabled(false);
        }
 
index 9646fb5f11ee2a863b82e5b03cb288e84576a7d8..a1831a059588aa2dca72dbf26bf8d0efcbbe438f 100644 (file)
@@ -93,7 +93,7 @@ public class AuthorshipDetailElement extends
                addElement(selectionExCombinationAuthor);
                if (code != null){
                 if (code.equals(NomenclaturalCode.ICZN)){
-                    text_publicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Publication Year", ((IZoologicalName)entity).getPublicationYear(), style);
+                    text_publicationYear = formFactory.createFloatTextWithLabelElement(formElement, "Publication Year", ((IZoologicalName)entity).getPublicationYear(), style);
 
                 }
              }
@@ -109,7 +109,7 @@ public class AuthorshipDetailElement extends
                 if (code != null){
                    if (code.equals(NomenclaturalCode.ICZN)){
 
-                       text_originalPublicationYear = formFactory.createNumberTextWithLabelElement(formElement, "Orig. Publication Year", ((IZoologicalName)entity).getOriginalPublicationYear(), style);
+                       text_originalPublicationYear = formFactory.createFloatTextWithLabelElement(formElement, "Orig. Publication Year", ((IZoologicalName)entity).getOriginalPublicationYear(), style);
 
                    }
                 }
index aaedcb3c2b936884933f00ac62ef8d3718c4e26a..283844c201611c92412d0afd0b089fd2fa6002a1 100755 (executable)
@@ -51,7 +51,7 @@ public class RuleConsideredElement extends AbstractCdmFormElement implements Sel
         super(formFactory, formElement);
         this.textRuleConsidered = formFactory.createTextWithLabelElement(formElement, "Rule Considered", null, style);
         if(isShowCodeEdition){
-            this.nomenclaturalCodeEdition = formFactory.createEnumComboElement(NomenclaturalCodeEdition.class, formElement, null, style);
+            this.nomenclaturalCodeEdition = formFactory.createEnumComboElement(NomenclaturalCodeEdition.class, formElement, style);
             nomenclaturalCodeEdition.addSelectionListener(this);
             nomenclaturalCodeEdition.setIndent(10);
 
index ae4ddcf9a9e1d6dccdb0e9f60935204d2be91440..3a49c46636f9a6d40ac6b73b9ab2bf6f4559e981 100644 (file)
@@ -66,9 +66,9 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DerivedUni
         OrderedTerm qualityTerm = dnaQuality.getQualityTerm();
 
         textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "DNA Purification Details", dnaQuality.getPurificationMethod(), style);
-        numberRatioOfAbsorbance260_280 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style);
-        numberRatioOfAbsorbance260_230 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style);
-        numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style);
+        numberRatioOfAbsorbance260_280 = formFactory.createFloatTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style);
+        numberRatioOfAbsorbance260_230 = formFactory.createFloatTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style);
+        numberConcentration = formFactory.createFloatTextWithLabelElement(formElement, "Concentration", concentration, style);
         comboQualityTerm = formFactory.createDefinedTermComboElement(TermType.DnaQualityType, formElement, "Quality Term", qualityTerm, style);
         DateTime qualityCheckedDate = dnaQuality.getQualityCheckDate();
 
index 615f1ea54e4cb88cdb1b3cda95a87006f840c844..4bab5d13e8d93ed841d0e3e5d452b11746971116 100644 (file)
@@ -76,7 +76,7 @@ public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDe
         selectionStaff = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
                 formElement, "Staff", staff, EntitySelectionElement.ALL, style);
         datePreparationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
-        numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
+        numberPreservationTemperature = formFactory.createFloatTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
         txtMaterialOrMethods = formFactory.createTextWithLabelElement(formElement, "Materials && Methods", materialOrMethodText, style);
 
     }