From b4d31af383ec410e4490fdeb5ca1cb434dd8ccb9 Mon Sep 17 00:00:00 2001 From: Cherian Mathew Date: Thu, 27 Aug 2015 16:11:39 +0200 Subject: [PATCH] #5161 Initialize listeners on cdm entities before put in cache --- .../eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java | 4 ++++ .../taxeditor/remoting/cache/CdmTransientEntityCacher.java | 1 + 2 files changed, 5 insertions(+) diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java index ba31ba338..526e990e4 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java @@ -22,6 +22,7 @@ import net.sf.ehcache.Element; import org.apache.log4j.Logger; import org.springframework.util.ReflectionUtils; +import eu.etaxonomy.cdm.api.service.pager.Pager; import eu.etaxonomy.cdm.model.ICdmCacher; import eu.etaxonomy.cdm.model.common.CdmBase; @@ -68,6 +69,9 @@ public class CacheLoader { return (T) load((Map)obj, recursive, update); } else if (obj instanceof Collection) { return (T) load((Collection)obj, recursive, update); + } else if(obj instanceof Pager) { + load(((Pager)obj).getRecords(), recursive, update); + return obj; } return obj; diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java index 9bc131ea3..167300f3d 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java @@ -201,6 +201,7 @@ public class CdmTransientEntityCacher implements ICdmCacher { cachedCdmEntity = getFromCache(id); if(cachedCdmEntity == null) { getCache().put(new Element(id, cdmEntity)); + cdmEntity.initListener(); logger.info(" - object of type " + cdmEntity.getClass().getName() + " with id " + cdmEntity.getId() + " put in cache"); return; } -- 2.34.1