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;