#5282 Integrate remoting in referencing objects view
authorCherian Mathew <c.mathew@bgbm.org>
Fri, 2 Oct 2015 16:59:14 +0000 (18:59 +0200)
committerCherian Mathew <c.mathew@bgbm.org>
Fri, 2 Oct 2015 16:59:14 +0000 (18:59 +0200)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java

index 0cb1a8519ad0561c526984e780b99dbdef0b81ed..12b2ef19f297c8d11c6643d6379b60ceab99f0dc 100644 (file)
@@ -57,6 +57,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
 import eu.etaxonomy.taxeditor.model.DescriptionHelper;
 import eu.etaxonomy.taxeditor.model.LineSelection;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
 
@@ -78,6 +79,11 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
 
        private String referencedObjectTitleCache;
        private ConversationHolder conversation;
+       private ICdmEntitySession cdmEntitySession;
+
+       public ReferencingObjectsView() {
+           cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+       }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createViewer(org.eclipse.swt.widgets.Composite)
@@ -149,6 +155,10 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                viewer.setColumnProperties(titles);
        }
 
+       @Override
+       public void setFocus() {
+           cdmEntitySession.bind();
+       }
        /**
         * <p>updateReferencingObjects</p>
         *
@@ -171,9 +181,12 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                                        @Override
                                        public void run() {
                                                if (entityUUID != null){
-
+                                                   ICdmEntitySession previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
+                                                   cdmEntitySession.bind();
                                                        List<CdmBase> referencingObjects = getReferencingObjects(entityUUID, objectClass);
-
+                                                       if(previousCdmEntitySession != null) {
+                                                           previousCdmEntitySession.bind();
+                                                       }
                                                        updateView(referencingObjects);
 
                                                }
@@ -313,6 +326,7 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                conversation.close();
                selectionService.removePostSelectionListener(this);
                selectionService.removeSelectionListener(this);
+               cdmEntitySession.dispose();
                super.dispose();
 
        }
index a811d28db45dc21a1557a1342d218236cfe6c6dd..7e67ecd227ce679d42b066cfede1ec5e66f9c27b 100644 (file)
@@ -95,7 +95,7 @@ public class CdmTransientEntityCacher implements ICdmCacher {
      */
     private CacheConfiguration getEntityCacheConfiguration(String cacheId) {
         SizeOfPolicyConfiguration sizeOfConfig = new SizeOfPolicyConfiguration();
-        sizeOfConfig.setMaxDepth(10000);
+        sizeOfConfig.setMaxDepth(100);
         sizeOfConfig.setMaxDepthExceededBehavior("abort");
 
         return new CacheConfiguration(cacheId, 0)