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 2004/05/20 11:36:55 UTC
cvs commit: db-ojb/src/test/org/apache/ojb/broker ReferenceTest.java
arminw 2004/05/20 02:36:55
Modified: src/test/org/apache/ojb/broker ReferenceTest.java
Log:
update testDeepPathQuery
Revision Changes Path
1.15 +27 -10 db-ojb/src/test/org/apache/ojb/broker/ReferenceTest.java
Index: ReferenceTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ReferenceTest.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ReferenceTest.java 3 May 2004 16:13:39 -0000 1.14
+++ ReferenceTest.java 20 May 2004 09:36:55 -0000 1.15
@@ -48,24 +48,29 @@
// if(skipKnownIssueProblem("query using path via reference, like 'ref1.ref2.name'")) return;
String name = "testDeepPathQuery_" + System.currentTimeMillis();
RefObject a = new ObjA();
+ RefObject a2 = new ObjA();
RefObject b = new ObjB();
RefObject c = new ObjC();
+
c.setName(name+"_third");
- RefObject a2 = new ObjA();
- a2.setName(name+"_first");
+ b.setName(name+"_second");
+ a.setName(name+"_first_1");
+ a2.setName(name+"_first_2");
+
a.setRef(b);
b.setRef(c);
+
broker.beginTransaction();
broker.store(a);
broker.store(a2);
broker.commitTransaction();
- // check existence of object
+ // check existence of objects
Criteria crit = new Criteria();
crit.addLike("name", name+"%");
Query q = QueryFactory.newQuery(ObjA.class, crit);
Collection result = broker.getCollectionByQuery(q);
- assertEquals(1, result.size());
+ assertEquals(2, result.size());
// check existence of object
crit = new Criteria();
@@ -74,6 +79,14 @@
result = broker.getCollectionByQuery(q);
assertEquals(1, result.size());
+ // test one level depth
+ crit = new Criteria();
+ crit.addEqualTo("ref.name", name+"_second");
+ q = QueryFactory.newQuery(ObjA.class, crit);
+ result = broker.getCollectionByQuery(q);
+ assertEquals(1, result.size());
+
+ // test n-level depth
// here the pain starts
//*****************************************
crit = new Criteria();
@@ -85,7 +98,7 @@
// similar but more complex query
crit = new Criteria();
- crit.addEqualTo("name", name+"_first");
+ crit.addEqualTo("name", name+"_first_2");
Criteria critOr = new Criteria();
critOr.addEqualTo("ref.ref.name", name+"_third");
crit.addOrCriteria(critOr);
@@ -324,11 +337,15 @@
broker.store(repository[2]);
broker.commitTransaction();
- assertNotNull(repository[0].getRef());
- assertNotNull(repository[0].getRefA());
- assertNotNull(repository[0].getRefB());
+ broker.clearCache();
+ Identity oid = new Identity(repository[0], broker);
+
+ Repository rep = (Repository) broker.getObjectByIdentity(oid);
+ assertNotNull(rep.getRef());
+ assertNotNull(rep.getRefA());
+ assertNotNull(rep.getRefB());
// lookup reference name, set in prepareRepository method
- assertEquals(repository[0].getRefB().getRefNameB(), REF_TEST_STRING);
+ assertEquals(rep.getRefB().getRefNameB(), REF_TEST_STRING);
}
public void testGetReferencesByIdentityMappedToSameTable()
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org