diff --git a/querydsl-collections/src/main/java/com/mysema/query/collections/AbstractColQuery.java b/querydsl-collections/src/main/java/com/mysema/query/collections/AbstractColQuery.java index 5fb31f942..ed0f6a3b5 100644 --- a/querydsl-collections/src/main/java/com/mysema/query/collections/AbstractColQuery.java +++ b/querydsl-collections/src/main/java/com/mysema/query/collections/AbstractColQuery.java @@ -361,7 +361,7 @@ public class AbstractColQuery> impleme // TODO : handle deeper OR operations as well Operation op = (Operation)condition; IteratorChain chain = new IteratorChain(); - EBoolean e1 = (EBoolean)op.getArgs()[0], e2 = (EBoolean)op.getArgs()[1]; + EBoolean e1 = (EBoolean)op.getArgs().get(0), e2 = (EBoolean)op.getArgs().get(1); chain.addIterator(createMultiIterator(sources, e1)); chain.addIterator(createMultiIterator(sources, e2.and(e1.not()))); return chain; @@ -380,7 +380,7 @@ public class AbstractColQuery> impleme if (sequentialUnion && condition instanceof Operation && ((Operation)condition).getOperator() == Ops.OR){ Operation op = (Operation)condition; IteratorChain chain = new IteratorChain(); - EBoolean e1 = (EBoolean)op.getArgs()[0], e2 = (EBoolean)op.getArgs()[1]; + EBoolean e1 = (EBoolean)op.getArgs().get(0), e2 = (EBoolean)op.getArgs().get(1); Iterator it1 = indexSupport.getChildFor(e1).getIterator(join.getTarget()); chain.addIterator(multiArgFilter(ops, toArrayIterator(it1), sources, e1)); Iterator it2 = indexSupport.getChildFor(e2.and(e1.not())).getIterator(join.getTarget()); diff --git a/querydsl-collections/src/main/java/com/mysema/query/collections/eval/FilteredJavaSerializer.java b/querydsl-collections/src/main/java/com/mysema/query/collections/eval/FilteredJavaSerializer.java index 68832f028..b7bfb0be3 100644 --- a/querydsl-collections/src/main/java/com/mysema/query/collections/eval/FilteredJavaSerializer.java +++ b/querydsl-collections/src/main/java/com/mysema/query/collections/eval/FilteredJavaSerializer.java @@ -66,7 +66,7 @@ public class FilteredJavaSerializer extends JavaSerializer{ } @Override - protected void visitOperation(Class type, Op operator, Expr... args) { + protected void visitOperation(Class type, Op operator, List> args) { if (!skipPath){ boolean unknownPaths = false; boolean knownPaths = false; diff --git a/querydsl-collections/src/main/java/com/mysema/query/collections/eval/JavaSerializer.java b/querydsl-collections/src/main/java/com/mysema/query/collections/eval/JavaSerializer.java index 29ad3cf10..9cddc36a3 100644 --- a/querydsl-collections/src/main/java/com/mysema/query/collections/eval/JavaSerializer.java +++ b/querydsl-collections/src/main/java/com/mysema/query/collections/eval/JavaSerializer.java @@ -181,25 +181,25 @@ public class JavaSerializer extends BaseSerializer{ } @Override - protected void visitOperation(Class type, Op operator, Expr... args) { + protected void visitOperation(Class type, Op operator, List> args) { if (operator.equals(Ops.LIKE)){ // optimize like matches to startsWith and endsWith, when possible - String right = args[1].toString(); + String right = args.get(1).toString(); if (!right.contains("_")){ int lastIndex = right.lastIndexOf('%'); if (lastIndex == right.length() -1){ operator = Ops.STARTSWITH; - args = new Expr[]{args[0],new Expr.EConstant(right.substring(0, lastIndex))}; + args = Arrays.>asList(args.get(0),new Expr.EConstant(right.substring(0, lastIndex))); }else if (lastIndex == 0){ operator = Ops.ENDSWITH; - args = new Expr[]{args[0],new Expr.EConstant(right.substring(1))}; + args = Arrays.>asList(args.get(0),new Expr.EConstant(right.substring(1))); } } super.visitOperation(type, operator, args); }else if (operator.equals(Ops.STRING_CAST)){ - visitCast(operator, args[0], String.class); + visitCast(operator, args.get(0), String.class); }else if (operator.equals(Ops.NUMCAST)){ - visitCast(operator, args[0], (Class) ((EConstant)args[1]).getConstant()); + visitCast(operator, args.get(0), (Class) ((EConstant)args.get(1)).getConstant()); }else{ super.visitOperation(type, operator, args); } diff --git a/querydsl-collections/src/main/java/com/mysema/query/collections/support/DefaultIndexCreationTask.java b/querydsl-collections/src/main/java/com/mysema/query/collections/support/DefaultIndexCreationTask.java index d107a6205..ef0dae4f5 100644 --- a/querydsl-collections/src/main/java/com/mysema/query/collections/support/DefaultIndexCreationTask.java +++ b/querydsl-collections/src/main/java/com/mysema/query/collections/support/DefaultIndexCreationTask.java @@ -94,8 +94,8 @@ public class DefaultIndexCreationTask { public void visitOperation(Operation op) { if (op.getOperator() == Ops.EQ_OBJECT || op.getOperator() == Ops.EQ_PRIMITIVE){ - Expr e1 = op.getArgs()[0]; - Expr e2 = op.getArgs()[1]; + Expr e1 = op.getArgs().get(0); + Expr e2 = op.getArgs().get(1); if (e1 instanceof Path && e2 instanceof Path){ indexPathEqPath(e1, e2);