From f4f5cd63f42546d826e6ce8c7ce38020a406219c Mon Sep 17 00:00:00 2001 From: Cherian Mathew Date: Wed, 2 Sep 2015 11:03:19 +0200 Subject: [PATCH] #5181 Fix incorrect load of CdmServiceCacher when connecting via Datasource view --- .../etaxonomy/cdm/api/application/CdmApplicationState.java | 5 ++++- .../src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java | 4 ++++ .../eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java index 07dfa81af..2c90c55b7 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java @@ -43,7 +43,6 @@ public class CdmApplicationState { public static CdmApplicationState getInstance() { if(cdmApplicationState == null) { cdmApplicationState = new CdmApplicationState(); - cdmServiceCacher = new CdmServiceCacher(); } return cdmApplicationState; @@ -201,5 +200,9 @@ public class CdmApplicationState { return cdmServiceCacher; } + public static void setCdmServiceCacher(CdmServiceCacher cacher) { + cdmServiceCacher = cacher; + } + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java index a2c621990..3ce13bdd7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java @@ -26,6 +26,7 @@ import eu.etaxonomy.cdm.api.application.CdmApplicationException; import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; +import eu.etaxonomy.cdm.api.cache.CdmServiceCacher; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.service.ICommonService; import eu.etaxonomy.cdm.api.service.IService; @@ -241,6 +242,9 @@ public class CdmStore { static void setInstance(ICdmApplicationConfiguration applicationController, ICdmSource cdmSource) { instance = new CdmStore(applicationController, cdmSource); + if(getCurrentSessionManager().isRemoting()) { + CdmApplicationState.setCdmServiceCacher(new CdmServiceCacher()); + } } private CdmStore(ICdmApplicationConfiguration applicationController, diff --git a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java index 18d151ac0..694d80e57 100644 --- a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java +++ b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java @@ -39,6 +39,7 @@ import org.unitils.spring.annotation.SpringApplicationContext; import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.api.application.CdmDataChangeService; +import eu.etaxonomy.cdm.api.cache.CdmServiceCacher; import eu.etaxonomy.cdm.model.name.NomenclaturalCode; import eu.etaxonomy.taxeditor.remoting.cache.CdmRemoteCacheManager; import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; @@ -161,6 +162,7 @@ public abstract class BaseRemotingTest extends UnitilsJUnit4 { null, null); CdmApplicationState.setCurrentAppConfig(remoteApplicationController); + CdmApplicationState.setCdmServiceCacher(new CdmServiceCacher()); try { remotePersistentSource = CdmPersistentRemoteSource.NewInstance(sourceName); } catch (CdmRemoteSourceException e) { -- 2.34.1