From 05cc5a7ed56a7536f6a9e2edf5385e25eb286aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 4 Jun 2010 19:40:08 +0000 Subject: [PATCH] formatted code --- .../collections/ExprEvaluatorFactory.java | 66 ++++++++++--------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/querydsl-collections/src/main/java/com/mysema/query/collections/ExprEvaluatorFactory.java b/querydsl-collections/src/main/java/com/mysema/query/collections/ExprEvaluatorFactory.java index 7f3cb30f1..da4c34326 100644 --- a/querydsl-collections/src/main/java/com/mysema/query/collections/ExprEvaluatorFactory.java +++ b/querydsl-collections/src/main/java/com/mysema/query/collections/ExprEvaluatorFactory.java @@ -62,6 +62,37 @@ public class ExprEvaluatorFactory { this.factory = new EvaluatorFactory(classLoader, compiler); } + public Evaluator create(List> sources, Expr projection) { + ColQuerySerializer serializer = new ColQuerySerializer(templates); + serializer.handle(projection); + + Map constantToLabel = serializer.getConstantToLabel(); + Map constants = new HashMap(); + for (Map.Entry entry : constantToLabel.entrySet()){ + constants.put(entry.getValue(), entry.getKey()); + } + Class[] types = new Class[sources.size()]; + String[] names = new String[sources.size()]; + for (int i = 0; i < sources.size(); i++) { + types[i] = sources.get(i).getType(); + names[i] = sources.get(i).toString(); + } + + // normalize types + for (int i = 0; i < types.length; i++){ + if (ClassUtils.wrapperToPrimitive(types[i]) != null){ + types[i] = ClassUtils.wrapperToPrimitive(types[i]); + } + } + + String javaSource = serializer.toString(); + if (projection instanceof EConstructor){ + javaSource = "("+com.mysema.codegen.ClassUtils.getName(projection.getType())+")(" + javaSource+")"; + } + + return factory.createEvaluator("return " + javaSource +";", projection.getType(), names, types, constants); + } + @SuppressWarnings("unchecked") public Evaluator> createEvaluator(Expr source, EBoolean filter){ String typeName = com.mysema.codegen.ClassUtils.getName(source.getType()); @@ -100,6 +131,8 @@ public class ExprEvaluatorFactory { StringBuilder vars = new StringBuilder(); ColQuerySerializer ser = new ColQuerySerializer(templates); ser.append("java.util.List rv = new java.util.ArrayList();\n"); + + // creating context for (JoinExpression join : joins){ Expr target = join.getTarget(); String typeName = com.mysema.codegen.ClassUtils.getName(target.getType()); @@ -127,6 +160,7 @@ public class ExprEvaluatorFactory { } } + // filter if (filter != null){ ser.append("if (").handle(filter).append("){\n"); ser.append(" rv.add(new Object[]{"+vars+"});\n"); @@ -135,6 +169,7 @@ public class ExprEvaluatorFactory { ser.append("rv.add(new Object[]{"+vars+"});\n"); } + // closing context for (int i = 0; i < joins.size(); i++){ ser.append("}\n"); } @@ -155,37 +190,6 @@ public class ExprEvaluatorFactory { sourceClasses.toArray(new Class[sourceClasses.size()]), constants); } - - public Evaluator create(List> sources, Expr projection) { - ColQuerySerializer serializer = new ColQuerySerializer(templates); - serializer.handle(projection); - - Map constantToLabel = serializer.getConstantToLabel(); - Map constants = new HashMap(); - for (Map.Entry entry : constantToLabel.entrySet()){ - constants.put(entry.getValue(), entry.getKey()); - } - Class[] types = new Class[sources.size()]; - String[] names = new String[sources.size()]; - for (int i = 0; i < sources.size(); i++) { - types[i] = sources.get(i).getType(); - names[i] = sources.get(i).toString(); - } - - // normalize types - for (int i = 0; i < types.length; i++){ - if (ClassUtils.wrapperToPrimitive(types[i]) != null){ - types[i] = ClassUtils.wrapperToPrimitive(types[i]); - } - } - - String javaSource = serializer.toString(); - if (projection instanceof EConstructor){ - javaSource = "("+com.mysema.codegen.ClassUtils.getName(projection.getType())+")(" + javaSource+")"; - } - - return factory.createEvaluator("return " + javaSource +";", projection.getType(), names, types, constants); - } }