ref #7875 Do not save grayed values
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / descriptiveDataSet / matrix / SpecimenColumnPropertyAccessor.java
index 88283f4e20d9e3edf15c74a647a465e54f1c7666..99243a8f87d57a1dc2760e27c635d89451574c0e 100644 (file)
@@ -12,6 +12,7 @@ import org.eclipse.nebula.widgets.nattable.data.IColumnPropertyAccessor;
 
 import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
 import eu.etaxonomy.cdm.api.service.dto.SpecimenRowWrapperDTO;
+import eu.etaxonomy.cdm.api.service.dto.TaxonRowWrapperDTO;
 import eu.etaxonomy.cdm.model.description.Feature;
 
 /**
@@ -21,7 +22,7 @@ import eu.etaxonomy.cdm.model.description.Feature;
  * @since Nov 26, 2017
  *
  */
-public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<RowWrapperDTO>{
+public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<Object>{
 
     private CharacterMatrix matrix;
 
@@ -34,7 +35,7 @@ public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<R
      * {@inheritDoc}
      */
     @Override
-    public Object getDataValue(RowWrapperDTO rowObject, int columnIndex) {
+    public Object getDataValue(Object rowObject, int columnIndex) {
         if(rowObject instanceof SpecimenRowWrapperDTO){
             SpecimenRowWrapperDTO rowWrapper = (SpecimenRowWrapperDTO) rowObject;
             switch (columnIndex) {
@@ -57,7 +58,16 @@ public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<R
             }
             Feature feature = matrix.getIndexToFeatureMap().get(columnIndex);
             return rowWrapper.getDataValueForFeature(feature);
-        } else if (columnIndex == 0) {
+        } else if(rowObject instanceof TaxonRowWrapperDTO){
+            TaxonRowWrapperDTO taxonWrapper = (TaxonRowWrapperDTO)rowObject;
+            if(columnIndex==0){
+                return taxonWrapper.getDescription();
+            }
+            Feature feature = matrix.getIndexToFeatureMap().get(columnIndex);
+            return taxonWrapper.getDataValueForFeature(feature);
+
+        }
+        else if (columnIndex == 0) {
             return rowObject;
         }
         return null;
@@ -67,10 +77,12 @@ public class SpecimenColumnPropertyAccessor implements IColumnPropertyAccessor<R
      * {@inheritDoc}
      */
     @Override
-    public void setDataValue(RowWrapperDTO rowObject, int columnIndex, Object newValue) {
-        RowWrapperDTO rowWrapper = rowObject;
-        Feature feature = matrix.getIndexToFeatureMap().get(columnIndex);
-        rowWrapper.setDataValueForFeature(feature, newValue);
+    public void setDataValue(Object rowObject, int columnIndex, Object newValue) {
+        if(rowObject instanceof RowWrapperDTO){
+            RowWrapperDTO rowWrapper = (RowWrapperDTO)rowObject;
+            Feature feature = matrix.getIndexToFeatureMap().get(columnIndex);
+            rowWrapper.setDataValueForFeature(feature, newValue);
+        }
     }
 
     /**