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/05/28 01:02:17 UTC
svn commit: r409895 - in
/incubator/cayenne/main/trunk/cayenne/cayenne-java/src:
cayenne/java/org/objectstyle/cayenne/wocompat/
tests/java/org/objectstyle/cayenne/wocompat/
tests/resources/wotests/fetchspec.eomodeld/
Author: aadamchik
Date: Sat May 27 16:02:17 2006
New Revision: 409895
URL: http://svn.apache.org/viewvc?rev=409895&view=rev
Log:
CAY-336 - handling prefetch and raw rows
Modified:
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/wocompat/EOQuery.java
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/wocompat/EOQueryTst.java
incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/resources/wotests/fetchspec.eomodeld/Entity1.fspec
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/wocompat/EOQuery.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/wocompat/EOQuery.java?rev=409895&r1=409894&r2=409895&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/wocompat/EOQuery.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/wocompat/EOQuery.java Sat May 27 16:02:17 2006
@@ -134,6 +134,21 @@
if (qualifierMap != null && !qualifierMap.isEmpty()) {
this.setQualifier(makeQualifier(qualifierMap));
}
+
+ // prefetches
+ List prefetches = (List) plistMap.get("prefetchingRelationshipKeyPaths");
+ if (prefetches != null && !prefetches.isEmpty()) {
+ Iterator it = prefetches.iterator();
+ while (it.hasNext()) {
+ addPrefetch((String) it.next());
+ }
+ }
+
+ // data rows - note that we do not support fetching individual columns in the
+ // modeler...
+ if(plistMap.containsKey("rawRowKeyPaths")) {
+ setFetchingDataRows(true);
+ }
}
public String getEOName() {
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/wocompat/EOQueryTst.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/wocompat/EOQueryTst.java?rev=409895&r1=409894&r2=409895&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/wocompat/EOQueryTst.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/objectstyle/cayenne/wocompat/EOQueryTst.java Sat May 27 16:02:17 2006
@@ -55,11 +55,13 @@
*/
package org.objectstyle.cayenne.wocompat;
+import java.util.Collection;
import java.util.Map;
import junit.framework.TestCase;
import org.objectstyle.cayenne.map.DataMap;
+import org.objectstyle.cayenne.query.PrefetchTreeNode;
public class EOQueryTst extends TestCase {
@@ -82,5 +84,17 @@
assertEquals(
"(name = \"aa\") and (db:ID >= 7) and ((e2.name = \"bb\") or (db:e2.ID != 5))",
query.getQualifier().toString());
+
+ assertNotNull(query.getPrefetchTree());
+
+ Collection children= query.getPrefetchTree().getChildren();
+ assertEquals(1, children.size());
+ assertEquals("e2", ((PrefetchTreeNode) children.iterator().next()).getName());
+
+ assertTrue(query.isFetchingDataRows());
+ assertEquals(500, query.getFetchLimit());
+ assertEquals(0, query.getPageSize());
+ assertTrue(query.isDistinct());
+ assertFalse(query.isRefreshingObjects());
}
}
Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/resources/wotests/fetchspec.eomodeld/Entity1.fspec
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/resources/wotests/fetchspec.eomodeld/Entity1.fspec?rev=409895&r1=409894&r2=409895&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/resources/wotests/fetchspec.eomodeld/Entity1.fspec (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/resources/wotests/fetchspec.eomodeld/Entity1.fspec Sat May 27 16:02:17 2006
@@ -41,7 +41,6 @@
);
};
rawRowKeyPaths = ();
- refreshesRefetchedObjects = YES;
requiresAllQualifierBindingVariables = YES;
sortOrderings = ({class = EOSortOrdering; key = name; selectorName = "compareDescending:"; });
usesDistinct = YES;