You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/11/26 05:55:51 UTC
svn commit: r479275 -
/incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java
Author: aadamchik
Date: Sat Nov 25 20:55:50 2006
New Revision: 479275
URL: http://svn.apache.org/viewvc?view=rev&rev=479275
Log:
CAY-682:Generic Cayenne POJO enhancer
(added tests for to-many prefetching)
Modified:
incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java
Modified: incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java?view=diff&rev=479275&r1=479274&r2=479275
==============================================================================
--- incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java (original)
+++ incubator/cayenne/main/trunk/integration-test/pojo/src/test/java/org/apache/cayenne/itest/pojo/OneToManyObjectTest.java Sat Nov 25 20:55:50 2006
@@ -63,6 +63,50 @@
assertSame(o1, or.get(0).getToOne());
}
+ public void testSelectToManyWithPrefetch() throws Exception {
+ getDbHelper().deleteAll("many_to_one_entity1");
+ getDbHelper().deleteAll("one_to_many_entity1");
+ getDbHelper().insert("one_to_many_entity1", new String[] {
+ "id"
+ }, new Object[] {
+ 5
+ });
+
+ getDbHelper().insert("many_to_one_entity1", new String[] {
+ "id", "one_to_many_entity1_id"
+ }, new Object[] {
+ 16, 5
+ });
+
+ getDbHelper().insert("many_to_one_entity1", new String[] {
+ "id", "one_to_many_entity1_id"
+ }, new Object[] {
+ 17, 5
+ });
+
+ SelectQuery q = new SelectQuery(OneToManyEntity1.class);
+ q.addPrefetch("toMany");
+ List results = context.performQuery(q);
+ assertEquals(1, results.size());
+
+ OneToManyEntity1 o1 = (OneToManyEntity1) results.get(0);
+
+ Field f = OneToManyEntity1.class.getDeclaredField("$cay_faultResolved_toMany");
+ assertEquals(Boolean.TRUE, f.get(o1));
+
+ blockContextQueries();
+ try {
+ List<ManyToOneEntity1> or = o1.getToMany();
+ assertNotNull(or);
+
+ assertEquals(2, or.size());
+ assertSame(o1, or.get(0).getToOne());
+ }
+ finally {
+ unblockContextQueries();
+ }
+ }
+
public void testNew() throws Exception {
getDbHelper().deleteAll("many_to_one_entity1");
getDbHelper().deleteAll("one_to_many_entity1");
@@ -77,7 +121,7 @@
o1.getToMany().add(o2);
assertEquals(1, o1.getToMany().size());
-
+
ManyToOneEntity1 o3 = (ManyToOneEntity1) context
.newObject(ManyToOneEntity1.class);
o1.getToMany().add(o3);