You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2003/09/05 17:01:47 UTC
cvs commit: db-ojb/src/test/org/apache/ojb/broker ObjectCacheTest.java
arminw 2003/09/05 08:01:47
Modified: src/test/org/apache/ojb/broker ObjectCacheTest.java
Log:
update test
Revision Changes Path
1.7 +81 -3 db-ojb/src/test/org/apache/ojb/broker/ObjectCacheTest.java
Index: ObjectCacheTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ObjectCacheTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ObjectCacheTest.java 10 Aug 2003 09:53:13 -0000 1.6
+++ ObjectCacheTest.java 5 Sep 2003 15:01:47 -0000 1.7
@@ -146,9 +146,9 @@
/**
* This test checks if the caches of two different brokers are properly isolated.
* changes made to an object in tx1 should not be visible in tx2 !
- * @todo: once we work without global cache this test should pass!
+ * TODO: once we work without global cache this test should pass!
*/
- public void XXXtestCacheIsolation() throws Exception
+ public void YYYtestCacheIsolation() throws Exception
{
Object[] pk = new Object[] { new Long(42)};
Identity oid = new Identity(Article.class, InterfaceArticle.class, pk);
@@ -213,6 +213,54 @@
}
}
+ /**
+ * Test per class ObjectCache declaration. TestObject
+ * metadata declare an 'empty ObjectCache' implementation
+ * as cache, CacheObject use the default ObjectCache implementation.
+ * Thus we found CacheObject instance in cache, but NOT found
+ * TestObject instance.
+ */
+ public void YYYtestPerClassCache()
+ {
+ String name = "testPerClassCache_" + System.currentTimeMillis();
+
+ TestObject obj = new TestObject();
+ obj.setName(name);
+ CacheObject dummy = new CacheObject();
+ dummy.setName(name);
+
+ PersistenceBroker broker = PersistenceBrokerFactory.defaultPersistenceBroker();
+ try
+ {
+ broker.beginTransaction();
+ broker.store(obj);
+ broker.store(dummy);
+ broker.commitTransaction();
+
+ Identity obj_oid = new Identity(obj, broker);
+ Identity dummy_oid = new Identity(dummy, broker);
+ ObjectCache cache = broker.serviceObjectCache();
+ Object ret_obj = cache.lookup(obj_oid);
+ Object ret_dummy = cache.lookup(dummy_oid);
+ assertNull(ret_obj);
+ assertNotNull(ret_dummy);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ if(broker != null && broker.isInTransaction()) broker.abortTransaction();
+ }
+ finally
+ {
+ if(broker != null) broker.close();
+ }
+ }
+
+ public void YYYtestPerDatabaseCache()
+ {
+
+ }
+
// **********************************************************************
@@ -263,6 +311,36 @@
public CacheObject_2()
{
+ }
+ }
+
+ public static class TestObject
+ {
+ private Integer id;
+ private String name;
+
+ public TestObject()
+ {
+ }
+
+ public Integer getId()
+ {
+ return id;
+ }
+
+ public void setId(Integer id)
+ {
+ this.id = id;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org