- implemented and added statistical measures section to Feature DetailView (#4448)
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 28 Apr 2015 15:16:29 +0000 (15:16 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 28 Apr 2015 15:16:29 +0000 (15:16 +0000)
.gitattributes
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/description/StatisticalMeasurementValueElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java [new file with mode: 0644]

index 5c28b56af0a3f9984fd1c5398e9b1052a74b9661..5e0485cf4d3b9ea43c9e4f0ba7892c3bf89c4f16 100644 (file)
@@ -1764,6 +1764,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/voc
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java -text
index 0c16ae5ddac816cf87cd1c588874bf3ac36b991d..3e88fdacdf8b5cf23b81c2b4acb0329567810a48 100644 (file)
@@ -78,6 +78,7 @@ import eu.etaxonomy.cdm.model.description.MeasurementUnit;
 import eu.etaxonomy.cdm.model.description.QuantitativeData;
 import eu.etaxonomy.cdm.model.description.State;
 import eu.etaxonomy.cdm.model.description.StateData;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
 import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
 import eu.etaxonomy.cdm.model.description.TaxonInteraction;
 import eu.etaxonomy.cdm.model.description.TextData;
@@ -313,6 +314,8 @@ import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSec
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionElement;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
@@ -2319,6 +2322,12 @@ public class CdmFormFactory extends FormToolkit {
         addAndAdaptSection(parentElement, section);
         return section;
     }
+    
+    public StatisticalMeasureCollectionSection createStatisticalMeasureCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+        StatisticalMeasureCollectionSection section = new StatisticalMeasureCollectionSection(this, conversation, parentElement, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
 
     public CollectingAreasDetailSection createCollectingAreasDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
         CollectingAreasDetailSection section = new CollectingAreasDetailSection(this, conversation, parentElement, style);
@@ -2555,6 +2564,8 @@ public class CdmFormFactory extends FormToolkit {
             element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary<State>) entity, removeListener, backgroundColor, style);
         } else if (entity instanceof MeasurementUnit) {
             element = new MeasurementUnitCollectionElement(this, parentElement, (MeasurementUnit) entity, removeListener, backgroundColor, style);
+        } else if (entity instanceof StatisticalMeasure) {
+            element = new StatisticalMeasureCollectionElement(this, parentElement, (StatisticalMeasure) entity, removeListener, backgroundColor, style);
         }
 
         if (element == null) {
index f29eb5bceec92fb112b5d9d524a345a9d4d70158..ed8361ab8004a5eaae5fe6567f6ea089761bc413 100644 (file)
@@ -57,8 +57,10 @@ public class StatisticalMeasurementValueElement extends
        @Override
        public void setEntity(StatisticalMeasurementValue entity) {
                this.entity = entity;
-               number_value.setNumber(entity.getValue());
+//             List<StatisticalMeasure> statisiticalMeasures = getEntity().getQuantitativeData().getFeature().getRecommendedStatisticalMeasures();
+//        combo_type.setTerms(statisiticalMeasures);
                combo_type.setSelection(entity.getType());
+               number_value.setNumber(entity.getValue());
                section_modifiers.setEntity(entity);
        }
 
index 5193360993fc71fd15300373a3bd5670df0ef169..a997eb256a53de87fd5b8bfc535306f93089eaf6 100644 (file)
@@ -44,6 +44,8 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
 \r
     private MeasurementUnitCollectionSection sectionMeasurementUnits;\r
 \r
+    private StatisticalMeasureCollectionSection sectionStatisticalMeasures;\r
+\r
     /**\r
         * @param formFactory\r
         * @param formElement\r
@@ -77,6 +79,10 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
             sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
             sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
             sectionMeasurementUnits.setEntity(getEntity());\r
+\r
+            sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+            sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+            sectionStatisticalMeasures.setEntity(getEntity());\r
         }\r
        }\r
 \r
@@ -95,10 +101,15 @@ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {
                    sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
                    sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
                    sectionMeasurementUnits.setEntity(getEntity());\r
+\r
+                   sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+                   sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+                   sectionStatisticalMeasures.setEntity(getEntity());\r
                }\r
                else{\r
                    if(sectionMeasurementUnits!=null){\r
                        removeElementsAndControls(sectionMeasurementUnits);\r
+                       removeElementsAndControls(sectionStatisticalMeasures);\r
                    }\r
                }\r
            }\r
index 9b62d34d2d803994a5a3eff25d60ec0c6e94dddb..40f1fcc86b044dc3e681272a6cc231418dc6a9eb 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 public class MeasurementUnitCollectionElement extends AbstractEntityCollectionElement<MeasurementUnit> {
 
 
-    private TermComboElement<MeasurementUnit> comboStateVocabulary;
+    private TermComboElement<MeasurementUnit> comboMeasurementUnit;
 
     /**
      * @param formFactory
@@ -48,24 +48,24 @@ public class MeasurementUnitCollectionElement extends AbstractEntityCollectionEl
 
     @Override
     public void createControls(ICdmFormElement element, int style) {
-        comboStateVocabulary = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, element, "Measurement unit", null, style);
+        comboMeasurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, element, "Measurement unit", null, style);
     }
 
     @Override
     public void setEntity(MeasurementUnit entity) {
         this.entity = entity;
         if(entity.getId()!=0){
-            comboStateVocabulary.setSelection(entity);
+            comboMeasurementUnit.setSelection(entity);
         }
     }
 
     @Override
     public void handleEvent(Object eventSource) {
-        if(eventSource==comboStateVocabulary && comboStateVocabulary.getSelection()!=null){
+        if(eventSource==comboMeasurementUnit && comboMeasurementUnit.getSelection()!=null){
             if(getParentElement() instanceof MeasurementUnitCollectionSection){
                 Feature feature = ((MeasurementUnitCollectionSection) getParentElement()).getEntity();
                 feature.removeRecommendedMeasurementUnit(entity);
-                MeasurementUnit measurementUnit = comboStateVocabulary.getSelection();
+                MeasurementUnit measurementUnit = comboMeasurementUnit.getSelection();
                 feature.addRecommendedMeasurementUnit(measurementUnit);
                 entity = measurementUnit;
             }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java
new file mode 100644 (file)
index 0000000..237a5d3
--- /dev/null
@@ -0,0 +1,75 @@
+// $Id$
+/**
+* Copyright (C) 2015 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.section.vocabulary;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StatisticalMeasureCollectionElement extends AbstractEntityCollectionElement<StatisticalMeasure> {
+
+
+    private TermComboElement<StatisticalMeasure> comboStatisticalMeasure;
+
+    /**
+     * @param formFactory
+     * @param section
+     * @param entity
+     * @param removeListener
+     * @param isChoosableEntity
+     * @param backgroundColor
+     * @param style
+     */
+    public StatisticalMeasureCollectionElement(CdmFormFactory formFactory, AbstractFormSection section, StatisticalMeasure entity,
+            SelectionListener removeListener, Color backgroundColor, int style) {
+        super(formFactory, section, entity, removeListener, false, backgroundColor, style);
+
+    }
+
+    @Override
+    public void createControls(ICdmFormElement element, int style) {
+        comboStatisticalMeasure = formFactory.createDefinedTermComboElement(TermType.StatisticalMeasure, element, "Statistical measure", null, style);
+    }
+
+    @Override
+    public void setEntity(StatisticalMeasure entity) {
+        this.entity = entity;
+        if(entity.getId()!=0){
+            comboStatisticalMeasure.setSelection(entity);
+        }
+    }
+
+    @Override
+    public void handleEvent(Object eventSource) {
+        if(eventSource==comboStatisticalMeasure && comboStatisticalMeasure.getSelection()!=null){
+            if(getParentElement() instanceof StatisticalMeasureCollectionSection){
+                Feature feature = ((StatisticalMeasureCollectionSection) getParentElement()).getEntity();
+                feature.removeRecommendedStatisticalMeasure(entity);
+                StatisticalMeasure statisticalMeasure = comboStatisticalMeasure.getSelection();
+                feature.addRecommendedStatisticalMeasure(statisticalMeasure);
+                entity = statisticalMeasure;
+            }
+        }
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java
new file mode 100644 (file)
index 0000000..db6f6a0
--- /dev/null
@@ -0,0 +1,87 @@
+// $Id$
+/**
+* Copyright (C) 2015 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.section.vocabulary;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StatisticalMeasureCollectionSection extends AbstractUnboundEntityCollectionSection<Feature, StatisticalMeasure> {
+
+    public StatisticalMeasureCollectionSection(CdmFormFactory formFactory,
+            ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+        super(formFactory, conversation, parentElement, "Statistical measures", style);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
+     */
+    /** {@inheritDoc} */
+    @Override
+    protected Collection<StatisticalMeasure> getEntityCollection(Feature entity) {
+        return entity.getRecommendedStatisticalMeasures();
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
+     */
+    /** {@inheritDoc} */
+    @Override
+    public StatisticalMeasure createNewElement() {
+        return StatisticalMeasure.NewInstance();
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+     */
+    /** {@inheritDoc} */
+    @Override
+    public void addElement(StatisticalMeasure element) {
+        //never gets called
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+     */
+    /** {@inheritDoc} */
+    @Override
+    public void removeElement(StatisticalMeasure element) {
+        getEntity().removeRecommendedStatisticalMeasure(element);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+     */
+    /** {@inheritDoc} */
+    @Override
+    public String getEmptyString() {
+        return "No statistical measures yet.";
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+     */
+    /** {@inheritDoc} */
+    @Override
+    protected String getTooltipString() {
+        return "Add a statistical measure";
+    }
+
+}