ref #6190 removing svn property place holder in first line of code - java files
[taxeditor.git] / eu.etaxonomy.taxeditor.test / src / test / java / eu / etaxonomy / cdm / api / cache / CdmClientCachingTest.java
index 806f79b9533d5105383a7fd04d36fe9e53cbba72..edb395970a2e6f869c72e8c2dcf184b4a6a4d168 100644 (file)
@@ -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<String> PKEY_DEPTH1_INIT_STRATEGY = Arrays.asList(new String[] {
                        });
 
@@ -73,19 +65,12 @@ public class CdmClientCachingTest extends BaseRemotingTest {
     private static final List<String> 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));
     }