- added icons for derivate views
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / DerivateContentProvider.java
index bee0847cd56eaaefea0b08d133f697e140ed80f9..207471637f280111ca4ea8a27a721393658f9655 100644 (file)
@@ -28,20 +28,20 @@ public class DerivateContentProvider implements ITreeContentProvider {
 
        @Override
        public Object[] getElements(Object inputElement) {
-           FieldUnit fieldUnit = null;
+           SpecimenOrObservationBase<?> specimen = null;
            if(inputElement instanceof DerivateViewEditorInput){
-               fieldUnit = ((DerivateViewEditorInput) inputElement).getFieldUnit();
+               inputElement = ((DerivateViewEditorInput) inputElement).getDerivate();
            }
+
            // return the parent FieldUnit if element is a DerivedUnit
-           else if(inputElement instanceof DerivedUnit){
-               fieldUnit = EditorUtil.getFieldUnit((DerivedUnit)inputElement);
+           if(inputElement instanceof DerivedUnit){
+               specimen = EditorUtil.getFieldUnit((DerivedUnit)inputElement);
            }
            else if(inputElement instanceof FieldUnit){
-               fieldUnit = (FieldUnit) inputElement;
-//             fieldUnit.getTitleCache();
+               specimen = (FieldUnit) inputElement;
            }
-           if(fieldUnit!=null){
-               return Collections.singleton(fieldUnit).toArray();
+           if(specimen!=null){
+               return Collections.singleton(specimen).toArray();
            }
            else {
                return Collections.EMPTY_LIST.toArray();
@@ -51,8 +51,9 @@ public class DerivateContentProvider implements ITreeContentProvider {
        @Override
        public Object[] getChildren(Object parentElement) {
         if(parentElement instanceof DerivateViewEditorInput){
-            parentElement = ((DerivateViewEditorInput) parentElement).getFieldUnit();
+            parentElement = ((DerivateViewEditorInput) parentElement).getDerivate();
            }
+
            if(parentElement instanceof SpecimenOrObservationBase){
                return getDerivates((SpecimenOrObservationBase) parentElement).toArray();
            }
@@ -62,9 +63,13 @@ public class DerivateContentProvider implements ITreeContentProvider {
        @Override
        public Object getParent(Object element) {
         if(element instanceof DerivateViewEditorInput){
-            element = ((DerivateViewEditorInput) element).getFieldUnit();
+            element = ((DerivateViewEditorInput) element).getDerivate();
            }
-           if(element instanceof DerivedUnit){
+
+        if(element instanceof FieldUnit){
+            return element;
+        }
+        else if(element instanceof DerivedUnit){
                DerivedUnit derivedUnit = (DerivedUnit)element;
                return derivedUnit.getOriginalUnit();
            }
@@ -74,8 +79,9 @@ public class DerivateContentProvider implements ITreeContentProvider {
        @Override
        public boolean hasChildren(Object element) {
         if(element instanceof DerivateViewEditorInput){
-            element = ((DerivateViewEditorInput) element).getFieldUnit();
+            element = ((DerivateViewEditorInput) element).getDerivate();
            }
+
            if(element instanceof SpecimenOrObservationBase){
                SpecimenOrObservationBase specimenOrObservation = (SpecimenOrObservationBase)element;
                for(DerivationEvent event:(Set<DerivationEvent>)specimenOrObservation.getDerivationEvents()){