Author: brj
Date: Mon May 15 12:31:26 2006
New Revision: 406724
URL: http://svn.apache.org/viewcvs?rev=406724&view=rev
Log:
new testcases for 1:1 relationship
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
URL:
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java?rev=406724&r1=406723&r2=406724&view=diff
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/ReferenceTest.java
Mon May 15 12:31:26 2006
@@ -1256,6 +1256,134 @@
}
+ /**
+ * Test if the Reference is null.
+ * @throws Exception
+ */
+ public void testNullReference() throws Exception
+ {
+ // proxy the relationship
+ ojbChangeReferenceSetting(ObjA.class, "ref", true,
ObjectReferenceDescriptor.CASCADE_OBJECT,
+ ObjectReferenceDescriptor.CASCADE_OBJECT, false);
+
+ String name = "testNullReference_"+ System.currentTimeMillis();
+
+ ObjA objA = new ObjA();
+ objA.setName(name);
+
+ broker.beginTransaction();
+ broker.store(objA);
+ broker.commitTransaction();
+ broker.clearCache();
+
+ Criteria crit = new Criteria();
+ crit.addLike("name", name);
+ Query q = QueryFactory.newQuery(ObjA.class, crit);
+ Object result = broker.getObjectByQuery(q);
+ assertNotNull(result);
+
+ ObjA objA2= (ObjA) result;
+ assertNull(objA2.getRef());
+ }
+
+ /**
+ * Test if the Reference is null when the Relationship is a Proxy.
+ * @throws Exception
+ */
+ public void testNullReferenceProxy() throws Exception
+ {
+ // proxy the relationship
+ ojbChangeReferenceSetting(ObjA.class, "ref", true,
ObjectReferenceDescriptor.CASCADE_OBJECT,
+ ObjectReferenceDescriptor.CASCADE_OBJECT, true);
+
+ String name = "testNullReferenceProxy_" + System.currentTimeMillis();
+
+ ObjA objA = new ObjA();
+ objA.setName(name);
+
+ broker.beginTransaction();
+ broker.store(objA);
+ broker.commitTransaction();
+ broker.clearCache();
+
+ Criteria crit = new Criteria();
+ crit.addLike("name", name);
+ Query q = QueryFactory.newQuery(ObjA.class, crit);
+ Object result = broker.getObjectByQuery(q);
+ assertNotNull(result);
+
+ ObjA objA2 = (ObjA) result;
+ assertNull(objA2.getRef());
+ }
+
+ /**
+ * Test the Reference.
+ * @throws Exception
+ */
+ public void testReference() throws Exception
+ {
+ // proxy the relationship
+ ojbChangeReferenceSetting(ObjA.class, "ref", true,
ObjectReferenceDescriptor.CASCADE_OBJECT,
+ ObjectReferenceDescriptor.CASCADE_OBJECT, false);
+
+ String name = "testReference_"+ System.currentTimeMillis();
+
+ ObjA objA = new ObjA();
+ objA.setName(name);
+ ObjB objB = new ObjB();
+ objB.setName("B of " + name);
+ objA.setRef(objB);
+
+ broker.beginTransaction();
+ broker.store(objA);
+ broker.commitTransaction();
+ broker.clearCache();
+
+ Criteria crit = new Criteria();
+ crit.addLike("name", name);
+ Query q = QueryFactory.newQuery(ObjA.class, crit);
+ Object result = broker.getObjectByQuery(q);
+ assertNotNull(result);
+
+ ObjA objA2= (ObjA) result;
+ assertNotNull(objA2.getRef());
+ assertSame(ObjB.class, objA2.getRef().getClass());
+ }
+
+ /**
+ * Test the Reference if the Relationship is a Proxy.
+ * @throws Exception
+ */
+ public void testReferenceProxy() throws Exception
+ {
+ // proxy the relationship
+ ojbChangeReferenceSetting(ObjA.class, "ref", true,
ObjectReferenceDescriptor.CASCADE_OBJECT,
+ ObjectReferenceDescriptor.CASCADE_OBJECT, true);
+
+ String name = "testReferenceProxy_" + System.currentTimeMillis();
+
+ ObjA objA = new ObjA();
+ objA.setName(name);
+ ObjB objB = new ObjB();
+ objB.setName("B of " + name);
+ objA.setRef(objB);
+
+ broker.beginTransaction();
+ broker.store(objA);
+ broker.commitTransaction();
+ broker.clearCache();
+
+ Criteria crit = new Criteria();
+ crit.addLike("name", name);
+ Query q = QueryFactory.newQuery(ObjA.class, crit);
+ Object result = broker.getObjectByQuery(q);
+ assertNotNull(result);
+
+ ObjA objA2 = (ObjA) result;
+ assertNotNull(objA2.getRef());
+ assertNotSame(ObjB.class, objA2.getRef().getClass()); // Class is
Proxy
+ }
+
private Repository[] prepareRepository(String referenceNamePrefix)
{
Reference[] ref = new Reference[]{
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]