public EclipseLinkFunctionRenderContext(List<Expression> arguments, AbstractSession session, ExpressionSQLPrinter printer) { this.argumentIndices = new int[arguments.size()]; Arrays.fill(this.argumentIndices, -1); this.arguments = arguments; this.argumentStrings = new String[arguments.size()]; // Since there are no public getters we can use to extract the translation row or whether we should print qualified names, we render dummy expressions Writer oldWriter = printer.getWriter(); try { StringWriter stringWriter = new StringWriter(); printer.setWriter(stringWriter); printer.printField(new DatabaseField("x.x")); boolean printQualifiedNames = stringWriter.getBuffer().indexOf(".") != -1; ParameterExpressionMock parameterExpressionMock = new ParameterExpressionMock(); parameterExpressionMock.printSQL(printer); List<?> parameters = printer.getCall().getParameters(); parameters.remove(parameters.size() - 1); List<?> parameterTypes = printer.getCall().getParameterTypes(); parameterTypes.remove(parameterTypes.size() - 1); stringWriter.getBuffer().setLength(0); expressionSQLPrinter = new ExpressionSQLPrinter(session, parameterExpressionMock.translationRow, datasourceCallMock, printQualifiedNames, new ExpressionBuilder()); expressionSQLPrinter.setWriter(stringWriter); } finally { printer.setWriter(oldWriter); } }
public EclipseLinkFunctionRenderContext(List<Expression> arguments, AbstractSession session, ExpressionSQLPrinter printer) { this.argumentIndices = new int[arguments.size()]; Arrays.fill(this.argumentIndices, -1); this.arguments = arguments; this.argumentStrings = new String[arguments.size()]; // Since there are no public getters we can use to extract the translation row or whether we should print qualified names, we render dummy expressions Writer oldWriter = printer.getWriter(); try { StringWriter stringWriter = new StringWriter(); printer.setWriter(stringWriter); printer.printField(new DatabaseField("x.x")); boolean printQualifiedNames = stringWriter.getBuffer().indexOf(".") != -1; ParameterExpressionMock parameterExpressionMock = new ParameterExpressionMock(); parameterExpressionMock.printSQL(printer); List<?> parameters = printer.getCall().getParameters(); parameters.remove(parameters.size() - 1); List<?> parameterTypes = printer.getCall().getParameterTypes(); parameterTypes.remove(parameterTypes.size() - 1); stringWriter.getBuffer().setLength(0); expressionSQLPrinter = new ExpressionSQLPrinter(session, parameterExpressionMock.translationRow, datasourceCallMock, printQualifiedNames, new ExpressionBuilder()); expressionSQLPrinter.setWriter(stringWriter); } finally { printer.setWriter(oldWriter); } }
ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(getWhereClause());
call.returnNothing(); Writer writer = new CharArrayWriter(100); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
/** * Build the call, setting the query first, this is required in some cases when the query info is required to print the SQL. */ public DatabaseCall buildCall(AbstractSession session, DatabaseQuery query) { SQLCall call = new SQLCall(); call.setQuery(query); call.returnManyRows(); Writer writer = new CharArrayWriter(200); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, requiresAliases(), getBuilder()); printer.setWriter(writer); session.getPlatform().printSQLSelectStatement(call, printer, this); call.setSQLString(writer.toString()); return call; }
call.returnNothing(); Writer writer = new CharArrayWriter(100); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
call.returnNothing(); Writer writer = new CharArrayWriter(100); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
/** * Build the call, setting the query first, this is required in some cases when the query info is required to print the SQL. */ public DatabaseCall buildCall(AbstractSession session, DatabaseQuery query) { SQLCall call = new SQLCall(); call.setQuery(query); call.returnManyRows(); Writer writer = new CharArrayWriter(200); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, requiresAliases(), getBuilder()); printer.setWriter(writer); session.getPlatform().printSQLSelectStatement(call, printer, this); call.setSQLString(writer.toString()); return call; }
printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); writer.write(" WHERE "); if(printer == null) { printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); writer.write(" WHERE "); if(printer == null) { printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(getWhereClause());
ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(getWhereClause());
/** * Build the call, setting the query first, this is required in some cases when the query info is required to print the SQL. */ public DatabaseCall buildCall(AbstractSession session, DatabaseQuery query) { SQLCall call = new SQLCall(); call.setQuery(query); call.returnManyRows(); Writer writer = new CharArrayWriter(200); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, requiresAliases(), getBuilder()); printer.setWriter(writer); session.getPlatform().printSQLSelectStatement(call, printer, this); call.setSQLString(writer.toString()); return call; }
writer.write(" WHERE "); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(inheritanceExpression);
printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); writer.write(" WHERE "); if(printer == null) { printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer);
writer.write(" WHERE "); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(inheritanceExpression);
writer.write(" WHERE "); ExpressionSQLPrinter printer = new ExpressionSQLPrinter(session, getTranslationRow(), call, false, getBuilder()); printer.setWriter(writer); printer.printExpression(inheritanceExpression);