corrected usage of service calls returning update/delete result objects
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / TaxonNavigator.java
index 51692227613600913a42d87e6aa8f317047ee830..2e9ce9f3a097b8c5875d66fdfc3eeaa956a20154 100644 (file)
@@ -31,6 +31,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
@@ -72,6 +73,8 @@ public class TaxonNavigator extends CommonNavigator implements
 
        private IDataChangeBehavior dataChangeBehavior;
 
+       private Root root;
+
        /*
         * (non-Javadoc)
         *
@@ -107,8 +110,8 @@ public class TaxonNavigator extends CommonNavigator implements
                        // we do not preserve state. Closing the view, in contrary to
                        // closing the whole application
                        // should be handled by the state manager too
-
-                       return new Root(conversation);
+                   root = new Root(conversation);
+                       return root;
                }
                return new EmptyRoot();
        }
@@ -183,8 +186,9 @@ public class TaxonNavigator extends CommonNavigator implements
         *            a {@link org.eclipse.core.runtime.IProgressMonitor} object.
         */
        public void restore(IMemento memento, IProgressMonitor monitor) {
+           root = new Root(conversation);
                if (memento == null) {
-                       getCommonViewer().setInput(new Root(conversation));
+                       getCommonViewer().setInput(root);
                        return;
                }
                int mementoWork = 0;
@@ -212,7 +216,7 @@ public class TaxonNavigator extends CommonNavigator implements
                subProgressMonitor.worked(1);
                conversation.registerForDataStoreChanges(TaxonNavigator.this);
                subProgressMonitor.worked(1);
-               getCommonViewer().setInput(new Root(conversation));
+               getCommonViewer().setInput(root);
                subProgressMonitor.worked(1);
                getCommonViewer().refresh();
                subProgressMonitor.worked(1);
@@ -494,7 +498,10 @@ public class TaxonNavigator extends CommonNavigator implements
      * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
      */
     @Override
-    public <T extends CdmBase> List<T> getRootEntities() {
+    public List<Classification> getRootEntities() {
+        if(root != null) {
+            return root.getParentBeans();
+        }
         return null;
     }
 }