diff --git a/.travis.yml b/.travis.yml
index b88e9ce91..1a6f5120a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,5 @@
language: java
jdk:
- - oraclejdk8
- oraclejdk7
services:
- mongodb
diff --git a/querydsl-apt/pom.xml b/querydsl-apt/pom.xml
index 5b3b555cc..d41fc83c2 100644
--- a/querydsl-apt/pom.xml
+++ b/querydsl-apt/pom.xml
@@ -1,11 +1,11 @@
-
+
4.0.0
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
@@ -225,4 +225,4 @@
-
+
diff --git a/querydsl-codegen/pom.xml b/querydsl-codegen/pom.xml
index 6da6fb496..24f4ebd25 100644
--- a/querydsl-codegen/pom.xml
+++ b/querydsl-codegen/pom.xml
@@ -5,7 +5,7 @@
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
diff --git a/querydsl-codegen/src/main/java/com/mysema/query/codegen/TypeMappings.java b/querydsl-codegen/src/main/java/com/mysema/query/codegen/TypeMappings.java
index 526f20e6a..f3ba67c19 100644
--- a/querydsl-codegen/src/main/java/com/mysema/query/codegen/TypeMappings.java
+++ b/querydsl-codegen/src/main/java/com/mysema/query/codegen/TypeMappings.java
@@ -14,6 +14,7 @@
package com.mysema.query.codegen;
import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Map;
import javax.annotation.Nullable;
@@ -38,11 +39,14 @@ public abstract class TypeMappings {
private final Map queryTypes = new HashMap();
- private final Map exprTypes = new HashMap();
+ private final Map exprTypes
+ = new EnumMap(TypeCategory.class);
- private final Map pathTypes = new HashMap();
+ private final Map pathTypes
+ = new EnumMap(TypeCategory.class);
- private final Map templateTypes = new HashMap();
+ private final Map templateTypes
+ = new EnumMap(TypeCategory.class);
public Type getTemplateType(Type type, EntityType model, boolean raw) {
return getTemplateType(type, model, raw, false, false);
diff --git a/querydsl-codegen/src/test/java/com/mysema/query/codegen/EmbeddableSerializerTest.java b/querydsl-codegen/src/test/java/com/mysema/query/codegen/EmbeddableSerializerTest.java
index 277ff5d8b..bc0f1acb3 100644
--- a/querydsl-codegen/src/test/java/com/mysema/query/codegen/EmbeddableSerializerTest.java
+++ b/querydsl-codegen/src/test/java/com/mysema/query/codegen/EmbeddableSerializerTest.java
@@ -13,19 +13,20 @@
*/
package com.mysema.query.codegen;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import java.io.StringWriter;
import java.sql.Time;
import java.util.Collections;
import java.util.Date;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Map;
import com.mysema.codegen.JavaWriter;
import com.mysema.codegen.model.*;
import com.mysema.query.annotations.PropertyType;
import org.junit.Test;
-import static org.junit.Assert.assertTrue;
public class EmbeddableSerializerTest {
@@ -57,7 +58,8 @@ public class EmbeddableSerializerTest {
@Test
public void OriginalCategory() throws IOException{
- Map categoryToSuperClass = new HashMap();
+ Map categoryToSuperClass
+ = new EnumMap(TypeCategory.class);
categoryToSuperClass.put(TypeCategory.COMPARABLE, "ComparablePath");
categoryToSuperClass.put(TypeCategory.ENUM, "EnumPath");
categoryToSuperClass.put(TypeCategory.DATE, "DatePath");
diff --git a/querydsl-codegen/src/test/java/com/mysema/query/codegen/EntitySerializerTest.java b/querydsl-codegen/src/test/java/com/mysema/query/codegen/EntitySerializerTest.java
index c6c2f56ce..58c5a2baa 100644
--- a/querydsl-codegen/src/test/java/com/mysema/query/codegen/EntitySerializerTest.java
+++ b/querydsl-codegen/src/test/java/com/mysema/query/codegen/EntitySerializerTest.java
@@ -20,7 +20,7 @@ import java.io.StringWriter;
import java.sql.Time;
import java.util.Collections;
import java.util.Date;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.Map;
import org.junit.Test;
@@ -69,7 +69,6 @@ public class EntitySerializerTest {
"extends EntityPathBase"));
}
-
@Test
public void No_Package() throws IOException {
SimpleType type = new SimpleType(TypeCategory.ENTITY, "Entity", "", "Entity",false,false);
@@ -82,7 +81,8 @@ public class EntitySerializerTest {
@Test
public void OriginalCategory() throws IOException{
- Map categoryToSuperClass = new HashMap();
+ Map categoryToSuperClass
+ = new EnumMap(TypeCategory.class);
categoryToSuperClass.put(TypeCategory.COMPARABLE, "ComparablePath");
categoryToSuperClass.put(TypeCategory.ENUM, "EnumPath");
categoryToSuperClass.put(TypeCategory.DATE, "DatePath");
diff --git a/querydsl-collections/pom.xml b/querydsl-collections/pom.xml
index f752ca1b4..f1cd23241 100644
--- a/querydsl-collections/pom.xml
+++ b/querydsl-collections/pom.xml
@@ -5,7 +5,7 @@
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
diff --git a/querydsl-core/pom.xml b/querydsl-core/pom.xml
index 5dcc15370..7cc6aea70 100644
--- a/querydsl-core/pom.xml
+++ b/querydsl-core/pom.xml
@@ -5,7 +5,7 @@
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
diff --git a/querydsl-core/src/main/java/com/mysema/query/types/expr/CaseBuilder.java b/querydsl-core/src/main/java/com/mysema/query/types/expr/CaseBuilder.java
index e36454eef..9e20cba99 100644
--- a/querydsl-core/src/main/java/com/mysema/query/types/expr/CaseBuilder.java
+++ b/querydsl-core/src/main/java/com/mysema/query/types/expr/CaseBuilder.java
@@ -259,6 +259,11 @@ public final class CaseBuilder {
return thenDate(ConstantImpl.create(date));
}
+ @Deprecated
+ public Cases> thenDate(java.sql.Date date) {
+ return then(date);
+ }
+
// DateTime
public Cases> then(DateTimeExpression expr) {
@@ -279,10 +284,20 @@ public final class CaseBuilder {
return thenDateTime(ConstantImpl.create(ts));
}
+ @Deprecated
+ public Cases> thenDateTime(Timestamp ts) {
+ return then(ts);
+ }
+
public Cases> then(java.util.Date date) {
return thenDateTime(ConstantImpl.create(date));
}
+ @Deprecated
+ public Cases> thenDateTime(java.util.Date date) {
+ return then(date);
+ }
+
// Enum
public > Cases> then(EnumExpression expr) {
diff --git a/querydsl-core/src/test/java/com/mysema/testutil/Runner.java b/querydsl-core/src/test/java/com/mysema/testutil/Runner.java
index 1054cebdb..fb0b05fbd 100644
--- a/querydsl-core/src/test/java/com/mysema/testutil/Runner.java
+++ b/querydsl-core/src/test/java/com/mysema/testutil/Runner.java
@@ -13,24 +13,28 @@
*/
package com.mysema.testutil;
+import com.google.common.base.Stopwatch;
+
public final class Runner {
-
+
+ private static final int WARMUP = 50000;
+ private static final int BENCHMARK = 1000000;
+
public static void run(String label, Benchmark benchmark) throws Exception {
// warmup
- benchmark.run(50000);
+ benchmark.run(WARMUP);
System.err.print("- ");
// run garbage collection
System.gc();
System.err.print("- ");
-
+
// perform timing
- long start = System.nanoTime();
- benchmark.run(1000000);
- long end = System.nanoTime();
- System.err.println(label + " " + ((end-start) / 1000000));
+ Stopwatch stopwatch = new Stopwatch().start();
+ benchmark.run(BENCHMARK);
+ System.err.println(label + " " + stopwatch.stop().toString());
}
-
+
private Runner() {}
}
diff --git a/querydsl-docs/src/main/docbook/en-US/Querydsl_Reference.xml b/querydsl-docs/src/main/docbook/en-US/Querydsl_Reference.xml
index 0ba79e343..955ddcd8b 100644
--- a/querydsl-docs/src/main/docbook/en-US/Querydsl_Reference.xml
+++ b/querydsl-docs/src/main/docbook/en-US/Querydsl_Reference.xml
@@ -1,6 +1,6 @@
+
]>
diff --git a/querydsl-hibernate-search/pom.xml b/querydsl-hibernate-search/pom.xml
index a43f84b62..2e3d26f88 100644
--- a/querydsl-hibernate-search/pom.xml
+++ b/querydsl-hibernate-search/pom.xml
@@ -5,7 +5,7 @@
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
diff --git a/querydsl-jdo/pom.xml b/querydsl-jdo/pom.xml
index 22ad57fb9..022ae93a6 100644
--- a/querydsl-jdo/pom.xml
+++ b/querydsl-jdo/pom.xml
@@ -1,11 +1,11 @@
-
+
4.0.0
com.mysema.querydsl
querydsl-root
- 3.3.3.BUILD-SNAPSHOT
+ 3.3.4.BUILD-SNAPSHOT
../querydsl-root/pom.xml
@@ -282,4 +282,4 @@
-
+
diff --git a/querydsl-jdo/src/main/java/com/mysema/query/jdo/sql/AbstractSQLQuery.java b/querydsl-jdo/src/main/java/com/mysema/query/jdo/sql/AbstractSQLQuery.java
index 69cfc89d8..f220ce32a 100644
--- a/querydsl-jdo/src/main/java/com/mysema/query/jdo/sql/AbstractSQLQuery.java
+++ b/querydsl-jdo/src/main/java/com/mysema/query/jdo/sql/AbstractSQLQuery.java
@@ -14,36 +14,27 @@
package com.mysema.query.jdo.sql;
import javax.annotation.Nullable;
+import javax.jdo.PersistenceManager;
+import javax.jdo.Query;
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
-import com.mysema.query.JoinFlag;
-import com.mysema.query.QueryFlag;
-import com.mysema.query.QueryFlag.Position;
-import com.mysema.query.QueryMetadata;
+import com.google.common.collect.Lists;
+import com.mysema.commons.lang.CloseableIterator;
+import com.mysema.commons.lang.IteratorAdapter;
+import com.mysema.query.*;
import com.mysema.query.sql.Configuration;
-import com.mysema.query.sql.ForeignKey;
-import com.mysema.query.sql.RelationalFunctionCall;
-import com.mysema.query.sql.RelationalPath;
-import com.mysema.query.sql.SQLCommonQuery;
-import com.mysema.query.sql.SQLOps;
-import com.mysema.query.sql.SQLTemplates;
-import com.mysema.query.sql.Union;
-import com.mysema.query.sql.UnionImpl;
-import com.mysema.query.sql.UnionUtils;
-import com.mysema.query.sql.WithBuilder;
-import com.mysema.query.support.Expressions;
-import com.mysema.query.support.ProjectableQuery;
+import com.mysema.query.sql.ProjectableSQLQuery;
+import com.mysema.query.sql.SQLSerializer;
import com.mysema.query.support.QueryMixin;
-import com.mysema.query.types.EntityPath;
import com.mysema.query.types.Expression;
-import com.mysema.query.types.ExpressionUtils;
-import com.mysema.query.types.OperationImpl;
-import com.mysema.query.types.Path;
-import com.mysema.query.types.Predicate;
-import com.mysema.query.types.SubQueryExpression;
-import com.mysema.query.types.expr.Wildcard;
-import com.mysema.query.types.query.ListSubQuery;
-import com.mysema.query.types.template.NumberTemplate;
-import com.mysema.query.types.template.SimpleTemplate;
+import com.mysema.query.types.FactoryExpression;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Base class for JDO based SQLQuery implementations
@@ -53,7 +44,29 @@ import com.mysema.query.types.template.SimpleTemplate;
* @param
*/
@SuppressWarnings("rawtypes")
-public abstract class AbstractSQLQuery & com.mysema.query.Query> extends ProjectableQuery implements SQLCommonQuery {
+public abstract class AbstractSQLQuery> extends ProjectableSQLQuery {
+
+
+ private static final Logger logger = LoggerFactory.getLogger(JDOSQLQuery.class);
+
+ private final Closeable closeable = new Closeable() {
+ @Override
+ public void close() throws IOException {
+ AbstractSQLQuery.this.close();
+ }
+ };
+
+ protected final boolean detach;
+
+ private List