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;
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;
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);
*/
@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)
*/
*/
@Override
public void dispose() {
- rootEntities.clear();
+
cdmTransientEntityCacher.dispose();
for(ICdmEntitySessionEnabled observer : changeObservers) {
CdmPostDataChangeObservableListener.getDefault().unregister(observer);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#getRootEntities()
+ */
+ @Override
+ public <T extends CdmBase> List<T> getRootEntities() {
+ return sessionOwner.getRootEntities();
+ }
+
+
+