CdmTransientEntityCacher, EntityCacherDebugResult : moved debug methods to debug...
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / session / CdmEntitySession.java
index 09443e3e862fc85af4b1dbf783af3e100f593793..c7935d6090629a5315166f40d417b2d923c2c640 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.session;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Set;
@@ -18,7 +19,6 @@ import java.util.UUID;
 import net.sf.ehcache.statistics.LiveCacheStatistics;
 
 import org.apache.log4j.Logger;
-import org.apache.poi.ss.formula.functions.T;
 
 import eu.etaxonomy.cdm.api.service.IService;
 import eu.etaxonomy.cdm.model.common.CdmBase;
@@ -52,12 +52,11 @@ public class CdmEntitySession implements ICdmEntitySession  {
 
     private final List<ICdmEntitySessionEnabled> changeObservers;
 
-    private final List<T> rootEntities;
+
 
     public CdmEntitySession(ICdmEntitySessionEnabled sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) {
         this.sessionOwner = sessionOwner;
         this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner, cdmEntitySessionManager);
-        this.rootEntities = new ArrayList<T>();
         this.cdmEntitySessionManager = cdmEntitySessionManager;
         this.changeObservers = new ArrayList<ICdmEntitySessionEnabled>();
         cdmEntitySessionManager.addToOwnerSessionMap(sessionOwner, this);
@@ -110,11 +109,30 @@ public class CdmEntitySession implements ICdmEntitySession  {
      */
     @Override
     public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase) {
-        EntityCacherDebugResult entityCacherDebugResult = cdmTransientEntityCacher.debug(cdmBase, true);
-        entityCacherDebugResult.print();
+        return debug(Arrays.asList(cdmBase));
+    }
+
+
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#debug(java.util.List)
+     */
+    @Override
+    public <T extends CdmBase> EntityCacherDebugResult debug(List<T> cdmBases) {
+        EntityCacherDebugResult entityCacherDebugResult =
+                new EntityCacherDebugResult(cdmTransientEntityCacher, cdmBases);
         return entityCacherDebugResult;
     }
 
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#debug()
+     */
+    @Override
+    public <T extends CdmBase> EntityCacherDebugResult debug() {
+        return debug(getRootEntities());
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#load(java.util.Collection)
      */
@@ -165,7 +183,7 @@ public class CdmEntitySession implements ICdmEntitySession  {
      */
     @Override
     public void dispose() {
-        rootEntities.clear();
+
         cdmTransientEntityCacher.dispose();
         for(ICdmEntitySessionEnabled observer : changeObservers) {
             CdmPostDataChangeObservableListener.getDefault().unregister(observer);
@@ -280,6 +298,16 @@ public class CdmEntitySession implements ICdmEntitySession  {
     }
 
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#getRootEntities()
+     */
+    @Override
+    public <T extends CdmBase> List<T> getRootEntities() {
+        return sessionOwner.getRootEntities();
+    }
+
+
+