Repository: cayenne
Updated Branches:
  refs/heads/master 7e36c932c -> d791b5193


CAY-1959 Chainable API for SelectQuery

* changing 'exp' to 'where' per discusion on dev


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d791b519
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d791b519
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d791b519

Branch: refs/heads/master
Commit: d791b51939a77ce3832883917f49d1190d1648e0
Parents: 7e36c93
Author: aadamchik <[email protected]>
Authored: Sat Nov 22 14:09:26 2014 +0300
Committer: aadamchik <[email protected]>
Committed: Sat Nov 22 14:09:34 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/query/ObjectSelect.java  | 47 ++++++++--------
 .../apache/cayenne/query/ObjectSelectTest.java  | 56 ++++++++++----------
 .../cayenne/query/ObjectSelect_CompileIT.java   |  2 +-
 .../cayenne/query/ObjectSelect_RunIT.java       |  4 +-
 4 files changed, 56 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d791b519/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java 
b/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
index 7618bcc..b6395dc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/ObjectSelect.java
@@ -48,7 +48,7 @@ public class ObjectSelect<T> extends IndirectQuery implements 
Select<T> {
        private Class<?> entityType;
        private String entityName;
        private String dbEntityName;
-       private Expression exp;
+       private Expression where;
        private Collection<Ordering> orderings;
        private PrefetchTreeNode prefetches;
        private int limit;
@@ -70,7 +70,7 @@ public class ObjectSelect<T> extends IndirectQuery implements 
Select<T> {
         * and uses provided expression for its qualifier.
         */
        public static <T> ObjectSelect<T> query(Class<T> entityType, Expression 
expression) {
-               return new 
ObjectSelect<T>().entityType(entityType).exp(expression);
+               return new 
ObjectSelect<T>().entityType(entityType).where(expression);
        }
 
        /**
@@ -78,7 +78,7 @@ public class ObjectSelect<T> extends IndirectQuery implements 
Select<T> {
         * and uses provided expression for its qualifier.
         */
        public static <T> ObjectSelect<T> query(Class<T> entityType, Expression 
expression, List<Ordering> orderings) {
-               return new 
ObjectSelect<T>().entityType(entityType).exp(expression).orderBy(orderings);
+               return new 
ObjectSelect<T>().entityType(entityType).where(expression).orderBy(orderings);
        }
 
        /**
@@ -95,7 +95,7 @@ public class ObjectSelect<T> extends IndirectQuery implements 
Select<T> {
         * qualifier.
         */
        public static ObjectSelect<DataRow> dataRowQuery(Class<?> entityType, 
Expression expression) {
-               return query(entityType).fetchDataRows().exp(expression);
+               return query(entityType).fetchDataRows().where(expression);
        }
 
        /**
@@ -124,7 +124,7 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
         * @return this object
         */
        public static ObjectSelect<DataRow> dbQuery(String dbEntityName, 
Expression expression) {
-               return new 
ObjectSelect<Object>().fetchDataRows().dbEntityName(dbEntityName).exp(expression);
+               return new 
ObjectSelect<Object>().fetchDataRows().dbEntityName(dbEntityName).where(expression);
        }
 
        protected ObjectSelect() {
@@ -163,7 +163,7 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
                }
 
                replacement.setFetchingDataRows(fetchingDataRows);
-               replacement.setQualifier(exp);
+               replacement.setQualifier(where);
                replacement.addOrderings(orderings);
                replacement.setPrefetchTree(prefetches);
                replacement.setCacheStrategy(cacheStrategy);
@@ -232,8 +232,8 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
         * 
         * @return this object
         */
-       public ObjectSelect<T> exp(Expression expression) {
-               this.exp = expression;
+       public ObjectSelect<T> where(Expression expression) {
+               this.where = expression;
                return this;
        }
 
@@ -243,13 +243,13 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
         * 
         * @return this object
         */
-       public ObjectSelect<T> exp(String expressionString, Object... 
parameters) {
-               this.exp = ExpressionFactory.exp(expressionString, parameters);
+       public ObjectSelect<T> where(String expressionString, Object... 
parameters) {
+               this.where = ExpressionFactory.exp(expressionString, 
parameters);
                return this;
        }
 
        /**
-        * AND's provided expressions to the existing qualifier expression.
+        * AND's provided expressions to the existing WHERE clause expression.
         * 
         * @return this object
         */
@@ -262,7 +262,7 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
        }
 
        /**
-        * AND's provided expressions to the existing qualifier expression.
+        * AND's provided expressions to the existing WHERE clause expression.
         * 
         * @return this object
         */
@@ -274,20 +274,20 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
 
                Collection<Expression> all;
 
-               if (exp != null) {
+               if (where != null) {
                        all = new ArrayList<Expression>(expressions.size() + 1);
-                       all.add(exp);
+                       all.add(where);
                        all.addAll(expressions);
                } else {
                        all = expressions;
                }
 
-               exp = ExpressionFactory.and(all);
+               where = ExpressionFactory.and(all);
                return this;
        }
 
        /**
-        * OR's provided expressions to the existing qualifier expression.
+        * OR's provided expressions to the existing WHERE clause expression.
         * 
         * @return this object
         */
@@ -300,7 +300,7 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
        }
 
        /**
-        * OR's provided expressions to the existing qualifier expression.
+        * OR's provided expressions to the existing WHERE clause expression.
         * 
         * @return this object
         */
@@ -311,15 +311,15 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
 
                Collection<Expression> all;
 
-               if (exp != null) {
+               if (where != null) {
                        all = new ArrayList<Expression>(expressions.size() + 1);
-                       all.add(exp);
+                       all.add(where);
                        all.addAll(expressions);
                } else {
                        all = expressions;
                }
 
-               exp = ExpressionFactory.or(all);
+               where = ExpressionFactory.or(all);
                return this;
        }
 
@@ -637,8 +637,11 @@ public class ObjectSelect<T> extends IndirectQuery 
implements Select<T> {
                return dbEntityName;
        }
 
-       public Expression getExp() {
-               return exp;
+       /**
+        * Returns a WHERE clause Expression of this query.
+        */
+       public Expression getWhere() {
+               return where;
        }
 
        public Collection<Ordering> getOrderings() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d791b519/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelectTest.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelectTest.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelectTest.java
index e49d38b..9a3056e 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelectTest.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelectTest.java
@@ -54,7 +54,7 @@ public class ObjectSelectTest {
        public void testQuery_RootType() {
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
                assertNotNull(q);
-               assertNull(q.getExp());
+               assertNull(q.getWhere());
                assertFalse(q.isFetchingDataRows());
 
                assertEquals(Artist.class, q.getEntityType());
@@ -66,7 +66,7 @@ public class ObjectSelectTest {
        public void testQuery_RootType_WithQualifier() {
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class, 
ExpressionFactory.matchExp("a", "A"));
                assertNotNull(q);
-               assertEquals("a = \"A\"", q.getExp().toString());
+               assertEquals("a = \"A\"", q.getWhere().toString());
                assertFalse(q.isFetchingDataRows());
 
                assertEquals(Artist.class, q.getEntityType());
@@ -97,15 +97,15 @@ public class ObjectSelectTest {
        }
 
        @Test
-       public void testExp() {
+       public void testWhere() {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
-               q.exp(ExpressionFactory.matchExp("b", 4));
-               assertEquals("b = 4", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("b", 4));
+               assertEquals("b = 4", q.getWhere().toString());
        }
 
        @Test
@@ -113,11 +113,11 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                q.and(ExpressionFactory.matchExp("b", 4), 
ExpressionFactory.greaterExp("c", 5));
-               assertEquals("(a = 3) and (b = 4) and (c > 5)", 
q.getExp().toString());
+               assertEquals("(a = 3) and (b = 4) and (c > 5)", 
q.getWhere().toString());
        }
 
        @Test
@@ -125,14 +125,14 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                Collection<Expression> exps = 
Arrays.asList(ExpressionFactory.matchExp("b", 4),
                                ExpressionFactory.greaterExp("c", 5));
 
                q.and(exps);
-               assertEquals("(a = 3) and (b = 4) and (c > 5)", 
q.getExp().toString());
+               assertEquals("(a = 3) and (b = 4) and (c > 5)", 
q.getWhere().toString());
        }
 
        @Test
@@ -140,11 +140,11 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                q.and();
-               assertEquals("a = 3", q.getExp().toString());
+               assertEquals("a = 3", q.getWhere().toString());
        }
 
        @Test
@@ -152,11 +152,11 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                q.and(new Expression[0]);
-               assertEquals("a = 3", q.getExp().toString());
+               assertEquals("a = 3", q.getWhere().toString());
        }
 
        @Test
@@ -164,11 +164,11 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                q.and(Collections.<Expression> emptyList());
-               assertEquals("a = 3", q.getExp().toString());
+               assertEquals("a = 3", q.getWhere().toString());
        }
 
        @Test
@@ -176,11 +176,11 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                q.or(ExpressionFactory.matchExp("b", 4), 
ExpressionFactory.greaterExp("c", 5));
-               assertEquals("(a = 3) or (b = 4) or (c > 5)", 
q.getExp().toString());
+               assertEquals("(a = 3) or (b = 4) or (c > 5)", 
q.getWhere().toString());
        }
 
        @Test
@@ -188,14 +188,14 @@ public class ObjectSelectTest {
 
                ObjectSelect<Artist> q = ObjectSelect.query(Artist.class);
 
-               q.exp(ExpressionFactory.matchExp("a", 3));
-               assertEquals("a = 3", q.getExp().toString());
+               q.where(ExpressionFactory.matchExp("a", 3));
+               assertEquals("a = 3", q.getWhere().toString());
 
                Collection<Expression> exps = 
Arrays.asList(ExpressionFactory.matchExp("b", 4),
                                ExpressionFactory.greaterExp("c", 5));
 
                q.or(exps);
-               assertEquals("(a = 3) or (b = 4) or (c > 5)", 
q.getExp().toString());
+               assertEquals("(a = 3) or (b = 4) or (c > 5)", 
q.getWhere().toString());
        }
 
        @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d791b519/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
index 33fba9e..bc29e2e 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
@@ -74,7 +74,7 @@ public class ObjectSelect_CompileIT extends ServerCase {
 
                // add all possible attributes to the query and make sure they 
got
                // propagated
-               ObjectSelect<Artist> q = 
ObjectSelect.query(Artist.class).exp(Artist.ARTIST_NAME.eq("me"))
+               ObjectSelect<Artist> q = 
ObjectSelect.query(Artist.class).where(Artist.ARTIST_NAME.eq("me"))
                                .orderBy(Artist.DATE_OF_BIRTH.asc(), 
Artist.ARTIST_NAME.desc()).prefetch(Artist.PAINTING_ARRAY.joint())
                                .localCache("cg2", 
"cg1").limit(46).offset(9).pageSize(6).statementFetchSize(789);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d791b519/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
index 3f037c8..194b94b 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_RunIT.java
@@ -65,7 +65,7 @@ public class ObjectSelect_RunIT extends ServerCase {
                assertEquals(20, result.size());
                assertThat(result.get(0), instanceOf(Artist.class));
 
-               Artist a = 
ObjectSelect.query(Artist.class).exp(Artist.ARTIST_NAME.eq("artist14")).selectOne(context);
+               Artist a = 
ObjectSelect.query(Artist.class).where(Artist.ARTIST_NAME.eq("artist14")).selectOne(context);
                assertNotNull(a);
                assertEquals("artist14", a.getArtistName());
        }
@@ -79,7 +79,7 @@ public class ObjectSelect_RunIT extends ServerCase {
                assertEquals(20, result.size());
                assertThat(result.get(0), instanceOf(DataRow.class));
 
-               DataRow a = 
ObjectSelect.dataRowQuery(Artist.class).exp(Artist.ARTIST_NAME.eq("artist14")).selectOne(context);
+               DataRow a = 
ObjectSelect.dataRowQuery(Artist.class).where(Artist.ARTIST_NAME.eq("artist14")).selectOne(context);
                assertNotNull(a);
                assertEquals("artist14", a.get("ARTIST_NAME"));
        }

Reply via email to