ref #7095 Enhance label in matrix editor
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 28 Nov 2017 10:56:15 +0000 (11:56 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 28 Nov 2017 10:56:15 +0000 (11:56 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/CharacterMatrix.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/DataSource.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/SpecimenColumnPropertyAccessor.java

index 91a25622367a75d8a6989f948609f1e58f87e862..aac6f0b9885bc7b785ef952b7442e1ab3720756e 100644 (file)
@@ -8,11 +8,7 @@
 */
 package eu.etaxonomy.taxeditor.editor.workingSet.matrix;
 
-import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 import javax.annotation.PostConstruct;
 
@@ -45,17 +41,6 @@ public class CharacterMatrix {
 
     @PostConstruct
     public void create(Composite parent) {
-        List<Person> people = new ArrayList<>();
-        people.add(new Person(0, "Thenning", new Date(2015, 11, 11)));
-        people.add(new Person(1, "Nkilian", new Date(1991, 10, 1)));
-        people.add(new Person(2, "T Borsch", new Date(1954, 3, 9)));
-
-        // mapping from property to label, needed for column header labels
-        Map<String, String> propertyToLabelMap = new HashMap<String, String>();
-        propertyToLabelMap.put("id", "ID");
-        propertyToLabelMap.put("name", "Full Name");
-        propertyToLabelMap.put("birthDate", "Birthday");
-
         parent.setLayout(new GridLayout());
 
         // create the data provider
index 9e281d2195b03f8b1fe254e37c2fbe81f0e082a9..7686a04f322b975d2ecf9552f760988afe70e34b 100644 (file)
@@ -20,6 +20,8 @@ import eu.etaxonomy.cdm.model.description.SpecimenDescription;
 import eu.etaxonomy.cdm.model.description.State;
 import eu.etaxonomy.cdm.model.description.WorkingSet;
 import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 
 /**
  * @author pplitzner
@@ -46,8 +48,19 @@ public class DataSource {
 
     public static List<SpecimenDescription> getDescriptions(){
         List<SpecimenDescription> descriptions = new ArrayList<>();
-        descriptions.add(createDescription(0.3f, 2.4f, "blue"));
-        descriptions.add(createDescription(1.6f, 6.4f, "red"));
+
+        SpecimenDescription description = createDescription(0.3f, 2.4f, "blue");
+        DerivedUnit derivedUnit = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+        derivedUnit.setAccessionNumber("B 10 35489");
+        description.setDescribedSpecimenOrObservation(derivedUnit);
+
+        SpecimenDescription description2 = createDescription(1.6f, 6.4f, "red");
+        DerivedUnit derivedUnit2 = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+        derivedUnit2.setAccessionNumber("B 10 44556");
+        description2.setDescribedSpecimenOrObservation(derivedUnit2);
+
+        descriptions.add(description);
+        descriptions.add(description2);
         return descriptions;
     }
 
@@ -69,6 +82,7 @@ public class DataSource {
 
         CategoricalData color = CategoricalData.NewInstance(LEAF_COLOR_FEATURE);
         color.addStateData(State.NewInstance(colorLabel, colorLabel, colorLabel));
+        desc.addElement(color);
 
 
         return desc;
index f43e03f2ee76d772543c4a2ee208ca7c047aaf49..45ed51f1db88f71590e39dab8b95f391192a6e61 100644 (file)
@@ -16,10 +16,12 @@ import java.util.Set;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.eclipse.nebula.widgets.nattable.data.IColumnPropertyAccessor;
 
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
 import eu.etaxonomy.cdm.model.description.WorkingSet;
+import eu.etaxonomy.taxeditor.model.DescriptionHelper;
 
 /**
  * @author pplitzner
@@ -52,7 +54,14 @@ public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<S
      */
     @Override
     public Object getDataValue(SpecimenDescription rowObject, int columnIndex) {
-        return features.get(columnIndex);
+        Feature feature = features.get(columnIndex);
+        Set<DescriptionElementBase> elements = rowObject.getElements();
+        for (DescriptionElementBase descriptionElementBase : elements) {
+            if(descriptionElementBase.getFeature().equals(feature)){
+                return DescriptionHelper.getLabel(descriptionElementBase);
+            }
+        }
+        return null;
     }
 
     /**