diff --git a/querydsl-core/src/test/java/com/mysema/query/FilterFactory.java b/querydsl-core/src/test/java/com/mysema/query/FilterFactory.java index a46e4cf46..2a5620c47 100644 --- a/querydsl-core/src/test/java/com/mysema/query/FilterFactory.java +++ b/querydsl-core/src/test/java/com/mysema/query/FilterFactory.java @@ -53,7 +53,8 @@ public class FilterFactory { return rv; } - public Collection collection(CollectionExpressionBase expr, CollectionExpression other, A knownElement){ + public Collection collection(CollectionExpressionBase expr, + CollectionExpression other, A knownElement){ HashSet rv = new HashSet(); rv.add(expr.contains(knownElement)); rv.add(expr.isEmpty()); @@ -64,7 +65,8 @@ public class FilterFactory { return rv; } - public Collection array(ArrayExpression expr, ArrayExpression other, A knownElement){ + public Collection array(ArrayExpression expr, ArrayExpression other, + A knownElement){ HashSet rv = new HashSet(); if (!module.equals(Module.RDFBEAN)){ rv.add(expr.size().gt(0)); @@ -73,7 +75,8 @@ public class FilterFactory { return rv; } - private > Collection comparable(ComparableExpression expr, ComparableExpression other, A knownValue){ + private > Collection comparable(ComparableExpression expr, + ComparableExpression other, A knownValue){ List rv = new ArrayList(); rv.addAll(exprFilters(expr, other, knownValue)); rv.add(expr.gt(other)); @@ -92,7 +95,8 @@ public class FilterFactory { } - private > Collection dateOrTime(TemporalExpression expr, TemporalExpression other, A knownValue){ + private > Collection dateOrTime(TemporalExpression expr, + TemporalExpression other, A knownValue){ List rv = new ArrayList(); rv.add(expr.after(other)); rv.add(expr.after(knownValue)); @@ -102,7 +106,8 @@ public class FilterFactory { } @SuppressWarnings("unchecked") - public Collection date(DateExpression expr, DateExpression other, A knownValue){ + public Collection date(DateExpression expr, + DateExpression other, A knownValue){ List rv = new ArrayList(); rv.addAll(comparable(expr, other, knownValue)); rv.addAll(dateOrTime(expr, other, knownValue)); @@ -113,7 +118,8 @@ public class FilterFactory { } @SuppressWarnings("unchecked") - public Collection dateTime(DateTimeExpression expr, DateTimeExpression other, A knownValue){ + public Collection dateTime(DateTimeExpression expr, + DateTimeExpression other, A knownValue){ List rv = new ArrayList(); rv.addAll(comparable(expr, other, knownValue)); rv.addAll(dateOrTime(expr, other, knownValue)); @@ -139,7 +145,8 @@ public class FilterFactory { return rv; } - private Collection exprFilters(SimpleExpression expr, SimpleExpression other, A knownValue){ + private Collection exprFilters(SimpleExpression expr, + SimpleExpression other, A knownValue){ HashSet rv = new HashSet(); rv.add(expr.eq(other)); rv.add(expr.eq(knownValue)); @@ -149,14 +156,16 @@ public class FilterFactory { return rv; } - public > Collection list(ListPath expr, ListExpression other, A knownElement){ + public > Collection list(ListPath expr, + ListExpression other, A knownElement){ List rv = new ArrayList(); rv.addAll(collection(expr, other, knownElement)); rv.add(expr.get(0).eq(knownElement)); return rv; } - public Collection map(MapExpressionBase expr, MapExpression other, K knownKey, V knownValue) { + public Collection map(MapExpressionBase expr, + MapExpression other, K knownKey, V knownValue) { HashSet rv = new HashSet(); rv.add(expr.containsKey(knownKey)); rv.add(expr.containsValue(knownValue)); @@ -171,7 +180,8 @@ public class FilterFactory { } @SuppressWarnings("unchecked") - public > Collection numeric(NumberExpression expr, NumberExpression other, A knownValue){ + public > Collection numeric(NumberExpression expr, + NumberExpression other, A knownValue){ List rv = new ArrayList(); for (NumberExpression num : projections.numeric(expr, other, knownValue, true)){ rv.add(num.lt(expr)); @@ -209,7 +219,8 @@ public class FilterFactory { return rv; } - public Collection pathFilters(SimpleExpression expr, SimpleExpression other, A knownValue){ + public Collection pathFilters(SimpleExpression expr, + SimpleExpression other, A knownValue){ return Arrays.asList( expr.isNull(), expr.isNotNull() @@ -217,7 +228,8 @@ public class FilterFactory { } @SuppressWarnings("unchecked") - public Collection string(StringExpression expr, StringExpression other, String knownValue){ + public Collection string(StringExpression expr, StringExpression other, + String knownValue){ List rv = new ArrayList(); if (expr instanceof Path && other instanceof Path){ rv.addAll(pathFilters(expr, other, knownValue)); @@ -294,7 +306,8 @@ public class FilterFactory { } @SuppressWarnings("unchecked") - public Collection time(TimeExpression expr, TimeExpression other, A knownValue){ + public Collection time(TimeExpression expr, + TimeExpression other, A knownValue){ List rv = new ArrayList(); rv.addAll(comparable(expr, other, knownValue)); rv.addAll(dateOrTime(expr, other, knownValue)); diff --git a/querydsl-core/src/test/java/com/mysema/query/MatchingFiltersFactory.java b/querydsl-core/src/test/java/com/mysema/query/MatchingFiltersFactory.java index 9dc2bbd64..846c73049 100644 --- a/querydsl-core/src/test/java/com/mysema/query/MatchingFiltersFactory.java +++ b/querydsl-core/src/test/java/com/mysema/query/MatchingFiltersFactory.java @@ -281,7 +281,8 @@ public class MatchingFiltersFactory { return rv; } - public Collection string(StringExpression expr, StringExpression other, String knownValue){ + public Collection string(StringExpression expr, StringExpression other, + String knownValue){ HashSet rv = new HashSet(); rv.addAll(string(expr, other)); rv.addAll(string(expr, StringConstant.create(knownValue))); diff --git a/querydsl-jpa/src/test/java/com/mysema/query/_oracle/OracleStandardTest.java b/querydsl-jpa/src/test/java/com/mysema/query/_oracle/OracleStandardTest.java index 44f778aba..17838b668 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/_oracle/OracleStandardTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/_oracle/OracleStandardTest.java @@ -13,7 +13,6 @@ */ package com.mysema.query._oracle; -import org.junit.Ignore; import org.junit.runner.RunWith; import com.mysema.query.AbstractHibernateTest; @@ -21,7 +20,6 @@ import com.mysema.query.Target; import com.mysema.testutil.HibernateConfig; import com.mysema.testutil.HibernateTestRunner; -@Ignore // FIXME @RunWith(HibernateTestRunner.class) @HibernateConfig("oracle.properties") public class OracleStandardTest extends AbstractHibernateTest{ @@ -30,5 +28,10 @@ public class OracleStandardTest extends AbstractHibernateTest{ protected Target getTarget() { return Target.ORACLE; } + + @Override + public void JoinEmbeddable() { + // for some reasonable not supported + } } diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedDerbyDialect.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedDerbyDialect.java index ef9c1f7ae..2278c39a8 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedDerbyDialect.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedDerbyDialect.java @@ -31,7 +31,6 @@ public class ExtendedDerbyDialect extends DerbyDialect{ private static final CastFunction castFunction = new CastFunction(){ @Override - @SuppressWarnings("unchecked") public String render(Type columnType, List args, SessionFactoryImplementor factory) { if (args.get(1).equals("string")){ return super.render(columnType, Arrays.asList("char("+args.get(0)+")",args.get(1)), factory); diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedOracleDialect.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedOracleDialect.java new file mode 100644 index 000000000..d1750a8b0 --- /dev/null +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/support/ExtendedOracleDialect.java @@ -0,0 +1,20 @@ +package com.mysema.query.jpa.support; + +import org.hibernate.dialect.Oracle10gDialect; +import org.hibernate.dialect.function.SQLFunctionTemplate; +import org.hibernate.type.StandardBasicTypes; + +/** + * @author tiwe + * + */ +public class ExtendedOracleDialect extends Oracle10gDialect { + + public ExtendedOracleDialect() { + // there fail otherwise with the time datatype + registerFunction( "second", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "to_number(to_char(?1,'SS'))") ); + registerFunction( "minute", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "to_number(to_char(?1,'MI'))") ); + registerFunction( "hour", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "to_number(to_char(?1,'HH24'))") ); + } + +} diff --git a/querydsl-jpa/src/test/resources/com/mysema/testutil/oracle.properties b/querydsl-jpa/src/test/resources/com/mysema/testutil/oracle.properties index 03d19a6f1..4ecc98d36 100644 --- a/querydsl-jpa/src/test/resources/com/mysema/testutil/oracle.properties +++ b/querydsl-jpa/src/test/resources/com/mysema/testutil/oracle.properties @@ -1,5 +1,6 @@ ## MySQL -hibernate.dialect=org.hibernate.dialect.Oracle10gDialect +#hibernate.dialect=org.hibernate.dialect.Oracle10gDialect +hibernate.dialect=com.mysema.query.jpa.support.ExtendedOracleDialect hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver hibernate.connection.url=jdbc:oracle:thin:@localhost:1521:xe hibernate.connection.username=querydsl 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 f9bb97793..27b912a85 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 @@ -367,7 +367,8 @@ public class LuceneSerializer { } @SuppressWarnings({"unchecked"}) - protected Query range(Path leftHandSide, String field, @Nullable Expression min, @Nullable Expression max, boolean minInc, boolean maxInc, QueryMetadata metadata) { + protected Query range(Path leftHandSide, String field, @Nullable Expression min, + @Nullable Expression max, boolean minInc, boolean maxInc, QueryMetadata metadata) { if (min != null && Number.class.isAssignableFrom(min.getType()) || max != null && Number.class.isAssignableFrom(max.getType())) { Class numType = (Class) (min != null ? min.getType() : max.getType()); diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java index 209c4c9a6..b93ccf78d 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/LuceneUtils.java @@ -61,7 +61,8 @@ public final class LuceneUtils { * @param prefixLength * @return */ - public static BooleanExpression fuzzyLike(Path path, String value, float minimumSimilarity, int prefixLength){ + public static BooleanExpression fuzzyLike(Path path, String value, + float minimumSimilarity, int prefixLength){ Term term = new Term(path.getMetadata().getExpression().toString(), value); return new QueryElement(new FuzzyQuery(term, minimumSimilarity, prefixLength)); } diff --git a/querydsl-lucene/src/main/java/com/mysema/query/lucene/ResultIterator.java b/querydsl-lucene/src/main/java/com/mysema/query/lucene/ResultIterator.java index 9b5959569..bf9692048 100644 --- a/querydsl-lucene/src/main/java/com/mysema/query/lucene/ResultIterator.java +++ b/querydsl-lucene/src/main/java/com/mysema/query/lucene/ResultIterator.java @@ -44,7 +44,8 @@ public final class ResultIterator implements CloseableIterator { private final Transformer transformer; - public ResultIterator(ScoreDoc[] scoreDocs, int offset, Searcher searcher, @Nullable FieldSelector fieldSelector, Transformer transformer) { + public ResultIterator(ScoreDoc[] scoreDocs, int offset, Searcher searcher, + @Nullable FieldSelector fieldSelector, Transformer transformer) { this.scoreDocs = scoreDocs; this.cursor = offset; this.searcher = searcher;