Merge branch 'develop' of wp5.e-taxonomy.eu:/var/git/taxeditor into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / key / polytomous / PolytomousKeyViewPart.java
index f275d870459706024dabac55e134d1b491ae7cab..296164c365fdd2ac7a945457ee8a0b874cf31a61 100644 (file)
@@ -113,6 +113,7 @@ public class PolytomousKeyViewPart extends ViewPart implements
        private IContextListener contextListener;
        private final CdmFormFactory formFactory;
        private Text text_filter;
+       private ICdmEntitySession cdmEntitySession;
 
        private PolytomousKeyViewPartDataChangeBehavior dataChangeBehavior;
 
@@ -197,6 +198,8 @@ public class PolytomousKeyViewPart extends ViewPart implements
        private void setInput() {
                conversation = CdmStore.createConversation();
                conversation.registerForDataStoreChanges(this);
+               cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+        cdmEntitySession.registerForDataStoreChanges(this);
                List<PolytomousKey> input = CdmStore.getService(IPolytomousKeyService.class).list(PolytomousKey.class, null, null, null, null);
                if(!viewer.getControl().isDisposed()){
                    viewer.setInput(input);
@@ -208,6 +211,9 @@ public class PolytomousKeyViewPart extends ViewPart implements
         */
        @Override
        public void setFocus() {
+           if(cdmEntitySession != null) {
+            cdmEntitySession.bind();
+        }
                viewer.getControl().setFocus();
        }
 
@@ -240,6 +246,9 @@ public class PolytomousKeyViewPart extends ViewPart implements
                conversation.unregisterForDataStoreChanges(this);
                conversation.close();
                CdmStore.getContextManager().removeContextListener(contextListener);
+           }
+           if(cdmEntitySession != null) {
+               cdmEntitySession.dispose();
            }
                super.dispose();
        }
@@ -283,8 +292,15 @@ public class PolytomousKeyViewPart extends ViewPart implements
      */
     @Override
     public ICdmEntitySession getCdmEntitySession() {
-        // TODO Auto-generated method stub
-        return null;
+        return cdmEntitySession;
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+     */
+    @Override
+    public  List<PolytomousKey> getRootEntities() {
+        return getKeys();
     }
 
 }