X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/608f7100cc3dafb8fa8f43ea77f4c7e17d05438e..e3240965ccd65c0d123d05e13d04e7820fe01f85:/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java diff --git a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java index 806f79b95..edb395970 100644 --- a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java +++ b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java @@ -1,4 +1,3 @@ -// $Id$ /** * Copyright (C) 2014 EDIT * European Distributed Institute of Taxonomy @@ -18,7 +17,6 @@ import java.util.UUID; import org.apache.log4j.Logger; import org.junit.Assert; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.unitils.dbunit.annotation.DataSet; @@ -33,11 +31,8 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.description.KeyStatement; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; +import eu.etaxonomy.taxeditor.httpinvoker.RemotingSessionAwareTest; import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; -import eu.etaxonomy.taxeditor.session.ICdmEntitySession; -import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled; -import eu.etaxonomy.taxeditor.session.MockSessionOwner; /** * @author cmathew @@ -45,7 +40,7 @@ import eu.etaxonomy.taxeditor.session.MockSessionOwner; * */ @DataSet -public class CdmClientCachingTest extends BaseRemotingTest { +public class CdmClientCachingTest extends RemotingSessionAwareTest { private static final Logger logger = Logger.getLogger(CdmClientCachingTest.class); @@ -61,9 +56,6 @@ public class CdmClientCachingTest extends BaseRemotingTest { private final ITaxonService taxonService = getRemoteApplicationController().getTaxonService(); - private CdmTransientEntityCacher cacher; - private ICdmEntitySession cdmEntitySession; - private static final List PKEY_DEPTH1_INIT_STRATEGY = Arrays.asList(new String[] { }); @@ -73,19 +65,12 @@ public class CdmClientCachingTest extends BaseRemotingTest { private static final List PKEY_DEPTH3_INIT_STRATEGY = Arrays.asList(new String[] { "root.statement"}); - private ICdmEntitySessionEnabled sessionOwner; @BeforeClass public static void initializePolytomousKeyTest() { } - @Before - public void initializeSession() { - sessionOwner = new MockSessionOwner(); - cdmEntitySession = cdmEntitySessionManager.newSession(sessionOwner, true); - cacher = getCacher(sessionOwner); - } @@ -98,9 +83,8 @@ public class CdmClientCachingTest extends BaseRemotingTest { // in a recursive call PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); - // checking to make sure the root object is in the session cache - Assert.assertSame(pkey1.getRoot(), cacher.getFromCache(pkey1.getRoot())); + Assert.assertSame(CdmBase.deproxy(pkey1.getRoot(),PolytomousKeyNode.class), cacher.getFromCache(pkey1.getRoot())); } @@ -117,9 +101,9 @@ public class CdmClientCachingTest extends BaseRemotingTest { PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); CdmTransientEntityCacher cacher = getCacher(sessionOwner); // checking to make sure the root object is in the session cache - Assert.assertSame(pkey.getRoot(), cacher.getFromCache(pkey.getRoot())); - Assert.assertSame(pkey.getRoot().getStatement(), cacher.getFromCache(pkey.getRoot().getStatement())); - Assert.assertSame(pkey.getRoot().getQuestion(), cacher.getFromCache(pkey.getRoot().getQuestion())); + Assert.assertSame(CdmBase.deproxy(pkey.getRoot(),PolytomousKeyNode.class), cacher.getFromCache(pkey.getRoot())); + Assert.assertSame(CdmBase.deproxy(pkey.getRoot().getStatement(),KeyStatement.class), cacher.getFromCache(pkey.getRoot().getStatement())); + Assert.assertSame(CdmBase.deproxy(pkey.getRoot().getQuestion(),KeyStatement.class), cacher.getFromCache(pkey.getRoot().getQuestion())); } @@ -154,6 +138,7 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- root : polytomous key node // in a recursive call PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); + KeyStatement ks1 = CdmBase.deproxy(pkey1.getRoot().getStatement(), KeyStatement.class); CdmTransientEntityCacher cacher = getCacher(sessionOwner); @@ -162,12 +147,12 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- root : polytomous key node // |- question : KeyStatement // |- statement : KeyStatement - PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH3_INIT_STRATEGY),PolytomousKey.class); + KeyStatement ks2 = CdmBase.deproxy(pkey2.getRoot().getStatement(), KeyStatement.class); - Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); - Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); - Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); + Assert.assertSame(ks2, cacher.getFromCache(ks2)); + Assert.assertSame(cacher.getFromCache(KeyStatement.class, ks1.getId()), cacher.getFromCache(ks2)); } @@ -184,7 +169,8 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- question : KeyStatement // |- statement : KeyStatement PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); - + KeyStatement ks1 = pkey1.getRoot().getStatement(); + Assert.assertSame(ks1, pkey1.getRoot().getStatement()); CdmTransientEntityCacher cacher = getCacher(sessionOwner); // this call will load into the session cache the graph and update the objects in the sub-graph for a @@ -192,10 +178,9 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- root : polytomous key node PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); - - Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); - Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); + pkey2.getRoot().getStatement().getCreatedBy(); + Assert.assertSame(cacher.getFromCache(ks1), cacher.getFromCache(pkey2.getRoot().getStatement())); } /** @@ -212,13 +197,14 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- statement : KeyStatement PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + CdmTransientEntityCacher cacher = getCacher(sessionOwner); // checking that the root is not null and // that it exists in the cache and // that both the original object and the // cached object are the same - Assert.assertNotNull(pkey1.getRoot().getStatement()); + Assert.assertNotNull(CdmBase.deproxy(pkey1.getRoot().getStatement(), KeyStatement.class)); Assert.assertNotNull(cacher.getFromCache(pkey1.getRoot().getStatement())); // this call will load into the session cache the graph and update the objects in the sub-graph for a @@ -226,9 +212,9 @@ public class CdmClientCachingTest extends BaseRemotingTest { // |- root : polytomous key node PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + KeyStatement ks2 = CdmBase.deproxy(pkey2.getRoot().getStatement(), KeyStatement.class); + Assert.assertSame(ks2, cacher.getFromCache(pkey2.getRoot().getStatement())); - - Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); } @@ -269,8 +255,8 @@ public class CdmClientCachingTest extends BaseRemotingTest { PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); - Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement(), KeyStatement.class)); - Assert.assertSame(st, pkey2.getRoot().getStatement()); + Assert.assertSame(CdmBase.deproxy(pkey2.getRoot().getStatement(), KeyStatement.class), cacher.getFromCache(pkey2.getRoot().getStatement(), KeyStatement.class)); + Assert.assertSame(st, CdmBase.deproxy(pkey2.getRoot().getStatement(), KeyStatement.class)); Assert.assertSame(cacher.getFromCache(st), cacher.getFromCache(pkey2.getRoot().getStatement(), KeyStatement.class)); }