This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 38f7f775317667747415b66a7e3f8403e6533ff2 Author: Nikita Timofeev <[email protected]> AuthorDate: Fri Jul 1 16:47:15 2022 +0300 CAY-2737 Cayenne 4.3: cleanup deprecated code - remove usage of SelectQuery from EOQuery --- .../java/org/apache/cayenne/wocompat/EOQuery.java | 26 +++++++++++++--------- .../org/apache/cayenne/wocompat/EOQueryTest.java | 10 ++++----- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java index 5e14c8176..f0be24746 100644 --- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java +++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java @@ -28,7 +28,8 @@ import org.apache.cayenne.map.Entity; import org.apache.cayenne.map.ObjAttribute; import org.apache.cayenne.map.ObjEntity; import org.apache.cayenne.map.ObjRelationship; -import org.apache.cayenne.query.SelectQuery; +import org.apache.cayenne.query.ObjectSelect; +import org.apache.cayenne.query.PrefetchTreeNode; import org.apache.cayenne.query.SortOrder; import java.util.ArrayList; @@ -45,29 +46,34 @@ import java.util.Map; * of WebObjects EOFetchSpecification. * * @since 1.1 + * @since 4.3 this query extends {@link ObjectSelect} */ -public class EOQuery<T> extends SelectQuery<T> { +public class EOQuery<T> extends ObjectSelect<T> { protected Map<String, ?> plistMap; protected Map bindings; public EOQuery(ObjEntity root, Map<String, ?> plistMap) { - super(root); + super(); + entityName(root.getName()); + setRoot(root); this.plistMap = plistMap; initFromPlist(plistMap); } protected void initFromPlist(Map<String, ?> plistMap) { - setDistinct("YES".equalsIgnoreCase((String) plistMap.get("usesDistinct"))); + if("YES".equalsIgnoreCase((String) plistMap.get("usesDistinct"))) { + distinct(); + } Object fetchLimit = plistMap.get("fetchLimit"); if (fetchLimit != null) { try { if (fetchLimit instanceof Number) { - setFetchLimit(((Number) fetchLimit).intValue()); + limit(((Number) fetchLimit).intValue()); } else { - setFetchLimit(Integer.parseInt(fetchLimit.toString())); + limit(Integer.parseInt(fetchLimit.toString())); } } catch (NumberFormatException nfex) { // ignoring... @@ -81,7 +87,7 @@ public class EOQuery<T> extends SelectQuery<T> { boolean asc = !"compareDescending:".equals(ordering.get("selectorName")); String key = ordering.get("key"); if (key != null) { - addOrdering(key, asc ? SortOrder.ASCENDING : SortOrder.DESCENDING); + orderBy(key, asc ? SortOrder.ASCENDING : SortOrder.DESCENDING); } } } @@ -89,7 +95,7 @@ public class EOQuery<T> extends SelectQuery<T> { // qualifiers Map<String, ?> qualifierMap = (Map<String, ?>) plistMap.get("qualifier"); if (qualifierMap != null && !qualifierMap.isEmpty()) { - this.setQualifier(makeQualifier(qualifierMap)); + where(makeQualifier(qualifierMap)); } // prefetches @@ -97,7 +103,7 @@ public class EOQuery<T> extends SelectQuery<T> { if (prefetches != null && !prefetches.isEmpty()) { Iterator it = prefetches.iterator(); while (it.hasNext()) { - addPrefetch((String) it.next()); + prefetch((String) it.next(), PrefetchTreeNode.UNDEFINED_SEMANTICS); } } @@ -105,7 +111,7 @@ public class EOQuery<T> extends SelectQuery<T> { // in the // modeler... if (plistMap.containsKey("rawRowKeyPaths")) { - setFetchingDataRows(true); + fetchDataRows(); } } diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java index 53380bb58..fb6b59626 100644 --- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java +++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java @@ -53,19 +53,19 @@ public class EOQueryTest { @SuppressWarnings("unchecked") EOQuery query = new EOQuery(map.getObjEntity("Entity1"), (Map<String, ?>) fspecMap.get("E1FS1")); - assertNotNull(query.getQualifier()); + assertNotNull(query.getWhere()); assertEquals( "(name = \"aa\") and (db:ID >= 7) and ((e2.name = \"bb\") or (db:e2.ID != 5))", - query.getQualifier().toString()); + query.getWhere().toString()); - assertNotNull(query.getPrefetchTree()); + assertNotNull(query.getPrefetches()); - Collection children= query.getPrefetchTree().getChildren(); + Collection children= query.getPrefetches().getChildren(); assertEquals(1, children.size()); assertEquals("e2", ((PrefetchTreeNode) children.iterator().next()).getName()); assertTrue(query.isFetchingDataRows()); - assertEquals(500, query.getFetchLimit()); + assertEquals(500, query.getLimit()); assertEquals(0, query.getPageSize()); assertTrue(query.isDistinct()); }
