From 1761658ca148ff7dde699ee8356ff96a99e0019b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 12 Dec 2012 21:54:40 +0200 Subject: [PATCH] #312 renamed various Expression factory classes --- .../{JPAGrammar.java => JPAExpressions.java} | 24 ++++--------------- .../mysema/query/AbstractStandardTest.java | 6 ++--- ...uceneUtils.java => LuceneExpressions.java} | 4 ++-- .../mysema/query/lucene/LuceneSerializer.java | 6 ++--- .../mysema/query/lucene/PhraseElement.java | 2 +- .../com/mysema/query/lucene/QueryElement.java | 2 +- .../com/mysema/query/lucene/TermElement.java | 2 +- .../mysema/query/LuceneSerializerTest.java | 8 +++---- .../query/mongodb/AnyEmbeddedBuilder.java | 2 +- ...ongodbOps.java => MongodbExpressions.java} | 22 ++++++++++++++--- .../query/mongodb/MongodbSerializer.java | 4 ++-- .../java/com/mysema/query/mongodb/Point.java | 4 +--- 12 files changed, 42 insertions(+), 44 deletions(-) rename querydsl-jpa/src/main/java/com/mysema/query/jpa/{JPAGrammar.java => JPAExpressions.java} (88%) rename querydsl-lucene/src/main/java/com/mysema/query/lucene/{LuceneUtils.java => LuceneExpressions.java} (97%) rename querydsl-mongodb/src/main/java/com/mysema/query/mongodb/{MongodbOps.java => MongodbExpressions.java} (56%) diff --git a/querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAGrammar.java b/querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAExpressions.java similarity index 88% rename from querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAGrammar.java rename to querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAExpressions.java index 80f7f0abf..e932bc1ff 100644 --- a/querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAGrammar.java +++ b/querydsl-jpa/src/main/java/com/mysema/query/jpa/JPAExpressions.java @@ -29,40 +29,24 @@ import com.mysema.query.types.expr.StringOperation; * @author tiwe */ @SuppressWarnings("unchecked") -public final class JPAGrammar { - - /** - * @param col - * @return - */ +public final class JPAExpressions { + public static > ComparableExpression avg(CollectionExpression col) { return ComparableOperation.create((Class)col.getParameter(0), Ops.QuantOps.AVG_IN_COL, (Expression)col); } - /** - * @param left - * @return - */ public static > ComparableExpression max(CollectionExpression left) { return ComparableOperation.create((Class)left.getParameter(0), Ops.QuantOps.MAX_IN_COL, (Expression)left); } - /** - * @param left - * @return - */ public static > ComparableExpression min(CollectionExpression left) { return ComparableOperation.create((Class)left.getParameter(0), Ops.QuantOps.MIN_IN_COL, (Expression)left); } - - /** - * @param path - * @return - */ + public static StringExpression type(EntityPath path) { return StringOperation.create(JPQLTemplates.TYPE, path); } - private JPAGrammar() {} + private JPAExpressions() {} } diff --git a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java index 3a5f4818d..6e75d9266 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java @@ -44,7 +44,7 @@ import com.google.common.collect.Lists; import com.mysema.commons.lang.Pair; import com.mysema.query.group.GroupBy; import com.mysema.query.group.QPair; -import com.mysema.query.jpa.JPAGrammar; +import com.mysema.query.jpa.JPAExpressions; import com.mysema.query.jpa.JPASubQuery; import com.mysema.query.jpa.JPQLQuery; import com.mysema.query.jpa.domain.Animal; @@ -814,14 +814,14 @@ public abstract class AbstractStandardTest { @Ignore public void Type() { assertEquals(Arrays.asList("C","C","C","C","C","C","A"), - query().from(animal).orderBy(animal.id.asc()).list(JPAGrammar.type(animal))); + query().from(animal).orderBy(animal.id.asc()).list(JPAExpressions.type(animal))); } @Test @NoOpenJPA public void Type_Order() { assertEquals(Arrays.asList(10,1,2,3,4,5,6), - query().from(animal).orderBy(JPAGrammar.type(animal).asc(), animal.id.asc()) + query().from(animal).orderBy(JPAExpressions.type(animal).asc(), animal.id.asc()) .list(animal.id)); } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneExpressions.java similarity index 97% rename from querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java rename to querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneExpressions.java index 42cd9f6bf..d30052407 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneExpressions.java @@ -27,7 +27,7 @@ import com.mysema.query.types.expr.BooleanExpression; * @author tiwe * */ -public final class LuceneUtils { +public final class LuceneExpressions { static final Operator LUCENE_QUERY = new OperatorImpl("LUCENE_QUERY", Object.class); @@ -75,6 +75,6 @@ public final class LuceneUtils { return new QueryElement(new FuzzyQuery(term, minimumSimilarity, prefixLength)); } - private LuceneUtils(){} + private LuceneExpressions(){} } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneSerializer.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneSerializer.java index 46e7197e6..8214ec292 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneSerializer.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneSerializer.java @@ -140,7 +140,7 @@ public class LuceneSerializer { return ge(operation, metadata); } else if (op == Ops.DELEGATE){ return toQuery(operation.getArg(0), metadata); - } else if (op == LuceneUtils.LUCENE_QUERY) { + } else if (op == LuceneExpressions.LUCENE_QUERY) { return ((Constant)operation.getArg(0)).getConstant(); } throw new UnsupportedOperationException("Illegal operation " + operation); @@ -475,9 +475,9 @@ public class LuceneSerializer { protected String[] convert(Path leftHandSide, Expression rightHandSide, QueryMetadata metadata) { if (rightHandSide instanceof Operation) { Operation operation = (Operation)rightHandSide; - if (operation.getOperator() == LuceneUtils.PHRASE) { + if (operation.getOperator() == LuceneExpressions.PHRASE) { return Iterables.toArray(WS_SPLITTER.split(operation.getArg(0).toString()), String.class); - } else if (operation.getOperator() == LuceneUtils.TERM) { + } else if (operation.getOperator() == LuceneExpressions.TERM) { return new String[] { operation.getArg(0).toString() }; } else { throw new IllegalArgumentException(rightHandSide.toString()); diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/PhraseElement.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/PhraseElement.java index aa26f9fae..a4ef0fb28 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/PhraseElement.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/PhraseElement.java @@ -27,7 +27,7 @@ public class PhraseElement extends StringOperation { private static final long serialVersionUID = 2350215644019186076L; public PhraseElement(String str) { - super(LuceneUtils.PHRASE, ConstantImpl.create(str)); + super(LuceneExpressions.PHRASE, ConstantImpl.create(str)); } } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/QueryElement.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/QueryElement.java index 1d8fac27b..3b7fc11d1 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/QueryElement.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/QueryElement.java @@ -29,7 +29,7 @@ public class QueryElement extends BooleanOperation { private static final long serialVersionUID = 470868107363840155L; public QueryElement(Query query){ - super(LuceneUtils.LUCENE_QUERY, new ConstantImpl(query)); + super(LuceneExpressions.LUCENE_QUERY, new ConstantImpl(query)); } } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/TermElement.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/TermElement.java index b87e346bb..f3b08465d 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/TermElement.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/TermElement.java @@ -27,7 +27,7 @@ public class TermElement extends StringOperation { private static final long serialVersionUID = 2350215644019186076L; public TermElement(String str) { - super(LuceneUtils.TERM, ConstantImpl.create(str)); + super(LuceneExpressions.TERM, ConstantImpl.create(str)); } } diff --git a/querydsl-lucene/src/test/java/com/mysema/query/LuceneSerializerTest.java b/querydsl-lucene/src/test/java/com/mysema/query/LuceneSerializerTest.java index c3cb5d323..6cf7901f1 100644 --- a/querydsl-lucene/src/test/java/com/mysema/query/LuceneSerializerTest.java +++ b/querydsl-lucene/src/test/java/com/mysema/query/LuceneSerializerTest.java @@ -40,7 +40,7 @@ import org.junit.Ignore; import org.junit.Test; import com.mysema.query.lucene.LuceneSerializer; -import com.mysema.query.lucene.LuceneUtils; +import com.mysema.query.lucene.LuceneExpressions; import com.mysema.query.lucene.QueryElement; import com.mysema.query.types.Expression; import com.mysema.query.types.Operation; @@ -207,17 +207,17 @@ public class LuceneSerializerTest { @Test public void FuzzyLike() throws Exception{ - testQuery(LuceneUtils.fuzzyLike(rating, "Good"), "rating:Good~0.5", 1); + testQuery(LuceneExpressions.fuzzyLike(rating, "Good"), "rating:Good~0.5", 1); } @Test public void FuzzyLike_with_Similarity() throws Exception{ - testQuery(LuceneUtils.fuzzyLike(rating, "Good", 0.6f), "rating:Good~0.6", 1); + testQuery(LuceneExpressions.fuzzyLike(rating, "Good", 0.6f), "rating:Good~0.6", 1); } @Test public void FuzzyLike_with_Similarity_and_prefix() throws Exception{ - testQuery(LuceneUtils.fuzzyLike(rating, "Good", 0.6f, 0), "rating:Good~0.6", 1); + testQuery(LuceneExpressions.fuzzyLike(rating, "Good", 0.6f, 0), "rating:Good~0.6", 1); } @Test diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/AnyEmbeddedBuilder.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/AnyEmbeddedBuilder.java index 5546670cc..d0a12200e 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/AnyEmbeddedBuilder.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/AnyEmbeddedBuilder.java @@ -43,7 +43,7 @@ public class AnyEmbeddedBuilder { public MongodbQuery on(Predicate... conditions) { return queryMixin.where(PredicateOperation.create( - MongodbOps.ELEM_MATCH, collection, ExpressionUtils.allOf(conditions))); + MongodbExpressions.ELEM_MATCH, collection, ExpressionUtils.allOf(conditions))); } } diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbOps.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbExpressions.java similarity index 56% rename from querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbOps.java rename to querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbExpressions.java index fb10a41d0..97d4f0f9d 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbOps.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbExpressions.java @@ -13,21 +13,37 @@ */ package com.mysema.query.mongodb; +import com.mysema.query.types.ConstantImpl; +import com.mysema.query.types.Expression; import com.mysema.query.types.Operator; import com.mysema.query.types.OperatorImpl; +import com.mysema.query.types.expr.BooleanExpression; +import com.mysema.query.types.expr.BooleanOperation; /** - * Mongodb specific operators + * Mongodb specific operations * * @author tiwe * */ -public final class MongodbOps { +public final class MongodbExpressions { public static final Operator NEAR = new OperatorImpl("NEAR", Number.class, Number.class); public static final Operator ELEM_MATCH = new OperatorImpl("ELEM_MATCH", Object.class, Object.class); - private MongodbOps(){} + private MongodbExpressions(){} + + /** + * Finds the closest points relative to the given location and orders the results with decreasing promimity + * + * @param expr + * @param latVal latitude + * @param longVal longitude + * @return + */ + public static BooleanExpression near(Expression expr, double latVal, double longVal){ + return BooleanOperation.create(MongodbExpressions.NEAR, expr, new ConstantImpl(new Double[]{latVal, longVal})); + } } diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java index 6f781ec7c..8de6732f9 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java @@ -199,10 +199,10 @@ public class MongodbSerializer implements Visitor { Expression key = expr.getArg(1); return asDBObject(visit(path, context) + "." + key.toString(), asDBObject("$exists", true)); - } else if (op == MongodbOps.NEAR) { + } else if (op == MongodbExpressions.NEAR) { return asDBObject(asDBKey(expr, 0), asDBObject("$near", asDBValue(expr, 1))); - } else if (op == MongodbOps.ELEM_MATCH) { + } else if (op == MongodbExpressions.ELEM_MATCH) { return asDBObject(asDBKey(expr, 0), asDBObject("$elemMatch", asDBValue(expr, 1))); } diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/Point.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/Point.java index 25baf6bfa..80eb40563 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/Point.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/Point.java @@ -13,11 +13,9 @@ */ package com.mysema.query.mongodb; -import com.mysema.query.types.ConstantImpl; import com.mysema.query.types.Path; import com.mysema.query.types.PathMetadata; import com.mysema.query.types.expr.BooleanExpression; -import com.mysema.query.types.expr.BooleanOperation; import com.mysema.query.types.path.ArrayPath; /** @@ -50,7 +48,7 @@ public class Point extends ArrayPath { * @return */ public BooleanExpression near(double latVal, double longVal){ - return BooleanOperation.create(MongodbOps.NEAR, this, new ConstantImpl(new Double[]{latVal, longVal})); + return MongodbExpressions.near(this, latVal, longVal); } }