public <U> ColumnExpressions<U> apply(List<Table<?>> fromTables) { try { SymbExToColumns translator = new SymbExToColumns(metamodel, new SelectFromWhereLambdaArgumentHandler(lambda, fromTables)); // TODO: Handle this case by translating things to use SELECT CASE if (lambda.symbolicAnalysis.paths.size() > 1) return null; ColumnExpressions<U> returnExpr = (ColumnExpressions<U>)translator.transform(PathAnalysisSimplifier.simplify(lambda.symbolicAnalysis.paths.get(0).getReturnValue(), Collections.emptyMap(), Collections.emptyMap(), false)); return returnExpr; } catch (TypedValueVisitorException e) { e.printStackTrace(); throw new IllegalArgumentException("Could not create query from lambda", e); } }
protected <U> ColumnExpressions<U> simplifyAndTranslatePathToColumns(LambdaAnalysis lambda, int pathIdx, SymbExToColumns translator, SymbExPassDown passdown) throws TypedValueVisitorException { return (ColumnExpressions<U>)PathAnalysisSimplifier .simplify(lambda.symbolicAnalysis.paths.get(pathIdx).getReturnValue(), config.getComparisonMethods(), config.getComparisonStaticMethods(), config.isAllEqualsSafe) .visit(translator, passdown); }
.simplify(lambda.symbolicAnalysis.paths.get(0).getReturnValue(), config.getComparisonMethods(), config.getComparisonStaticMethods(), config.isAllEqualsSafe) .visit(translator, passdown);
.simplify(joinLambda.symbolicAnalysis.paths.get(0).getReturnValue(), config.getComparisonMethods(), config.getComparisonStaticMethods(), config.isAllEqualsSafe) .visit(translator, passdown);
.simplify(lambda.symbolicAnalysis.paths.get(0).getReturnValue(), config.getComparisonMethods(), config.getComparisonStaticMethods(), config.isAllEqualsSafe) .visit(translator, passdown);
.simplify(lambda.symbolicAnalysis.paths.get(0).getReturnValue(), config.getComparisonMethods(), config.getComparisonStaticMethods(), config.isAllEqualsSafe) .visit(translator, passdown);
public <U> ColumnExpressions<U> apply(List<Table<?>> fromTables) { try { SymbExToColumns translator = new SymbExToColumns(metamodel, new SelectFromWhereLambdaArgumentHandler(lambda, fromTables)); // TODO: Handle this case by translating things to use SELECT CASE if (lambda.symbolicAnalysis.paths.size() > 1) return null; ColumnExpressions<U> returnExpr = (ColumnExpressions<U>)translator.transform(PathAnalysisSimplifier.simplify(lambda.symbolicAnalysis.paths.get(0).getReturnValue(), Collections.emptyMap(), Collections.emptyMap(), false)); return returnExpr; } catch (TypedValueVisitorException e) { e.printStackTrace(); throw new IllegalArgumentException("Could not create query from lambda", e); } }