Merge branch 'develop' into treeTable
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 22 Jan 2018 15:07:51 +0000 (16:07 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 22 Jan 2018 15:07:51 +0000 (16:07 +0100)
# Conflicts:
# eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/CharacterMatrix.java

1  2 
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/categorical/CategoricalDataCellEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/quantitative/QuantitativeDataCellEditor.java

index 15f5d211e1ec2ed196829feb83503ca762b948eb,e49ca3dcfddfe0909e2d5f53ed54bbb45b4c12a3..04ad11025c82c5f96282cb6516ac672d868934ba
@@@ -195,6 -187,8 +195,8 @@@ ICdmEntitySessionEnabled
  
      private Collection<SpecimenOrObservationBase> specimenCache = null;
  
 -    private ListDataProvider<RowWrapper> bodyDataProvider;
++    private ListDataProvider<Object> bodyDataProvider;
      @PostConstruct
      public void create(Composite parent) {
          if(CdmStore.isActive() && conversation==null){
           * data provider
           */
          SpecimenColumnPropertyAccessor columnPropertyAccessor = new SpecimenColumnPropertyAccessor(this);
-         IDataProvider bodyDataProvider = new ListDataProvider<Object>(treeList, columnPropertyAccessor);
 -        bodyDataProvider = new ListDataProvider<RowWrapper>(sortedList, columnPropertyAccessor);
++        bodyDataProvider = new ListDataProvider<Object>(treeList, columnPropertyAccessor);
  
          /**
           * BODY layer
          this.specimenCache = specimenCache;
      }
  
 -    public ListDataProvider<RowWrapper> getBodyDataProvider() {
+     /**
+      * @return the bodyDataProvider
+      */
++    public ListDataProvider<Object> getBodyDataProvider() {
+         return bodyDataProvider;
+     }
      @Persist
      @Override
      public void save(IProgressMonitor monitor) {
index c26fe0d452e090112c9e98e1956f1301fb994df3,7efd90957354036e45f98dc7c96eaa7b49e8f8b7..2ced3b04101d396e11e665dc80e335739aa62503
@@@ -38,6 -42,12 +42,14 @@@ public class CategoricalDataCellEditor 
  
      @Override
      public void setCanonicalValue(Object canonicalValue) {
 -            CategoricalData data = CategoricalData.NewInstance(feature);
 -            RowWrapper rowWrapper = matrix.getBodyDataProvider().getRowObject(this.getRowIndex());
 -            rowWrapper.getSpecimenDescription().addElement(data);
 -            canonicalValue = data;
+         if(canonicalValue==null){
++            Object rowWrapper = matrix.getBodyDataProvider().getRowObject(this.getRowIndex());
++            if(rowWrapper instanceof RowWrapper){
++                CategoricalData data = CategoricalData.NewInstance(feature);
++                ((RowWrapper) rowWrapper).getSpecimenDescription().addElement(data);
++                canonicalValue = data;
++            }
+         }
          if (canonicalValue instanceof CategoricalData) {
              CategoricalData data = (CategoricalData)canonicalValue;
              List<State> states = data.getStatesOnly();
index bb9f0108a747334d68d58457aeba3b74b5930f94,451b4b96ecae3ea218c88e14fe1f9f3a52d42a95..134074b77be4f6d59ae9ac4883a17dca47d4431c
@@@ -129,6 -131,12 +131,14 @@@ public class QuantitativeDataCellEdito
      @Override
      protected Control activateCell(Composite parent, Object originalCanonicalValue) {
          this.editorControl = createEditorControl(parent);
 -            QuantitativeData data = QuantitativeData.NewInstance(feature);
 -            RowWrapper rowObject = matrix.getBodyDataProvider().getRowObject(this.getRowIndex());
 -            rowObject.getSpecimenDescription().addElement(data);
 -            originalCanonicalValue = data;
+         if(originalCanonicalValue==null){
++            Object rowObject = matrix.getBodyDataProvider().getRowObject(this.getRowIndex());
++            if(rowObject instanceof RowWrapper){
++                QuantitativeData data = QuantitativeData.NewInstance(feature);
++                ((RowWrapper) rowObject).getSpecimenDescription().addElement(data);
++                originalCanonicalValue = data;
++            }
+         }
          this.setEditorValue(originalCanonicalValue);
  
          if(originalCanonicalValue instanceof QuantitativeData){