Repository: cayenne Updated Branches: refs/heads/master 38a368f70 -> 3b22b4757
CAY-2264 Remove usage of all deprecated JdbcEventLogger methods + Replace SQLParameterBinding with ParameterBinding Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3b22b475 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3b22b475 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3b22b475 Branch: refs/heads/master Commit: 3b22b4757f68bd94a36c312723a794194da2850c Parents: 38a368f Author: Nikita Timofeev <[email protected]> Authored: Thu Apr 27 16:51:31 2017 +0300 Committer: Nikita Timofeev <[email protected]> Committed: Thu Apr 27 16:51:31 2017 +0300 ---------------------------------------------------------------------- .../token/DefaultValueForNullProvider.java | 10 ++-- .../dbsync/merge/token/ValueForNullIT.java | 6 +- .../access/jdbc/SQLParameterBinding.java | 62 -------------------- .../cayenne/access/jdbc/SQLStatement.java | 12 ++-- .../cayenne/access/jdbc/SQLTemplateAction.java | 32 ++++------ .../access/translator/DbAttributeBinding.java | 4 +- .../access/translator/ParameterBinding.java | 18 ++++-- .../translator/ProcedureParameterBinding.java | 2 +- .../procedure/ProcedureTranslator.java | 18 +++--- .../org/apache/cayenne/dba/JdbcAdapter.java | 4 +- .../org/apache/cayenne/dba/db2/DB2Adapter.java | 4 +- .../apache/cayenne/dba/derby/DerbyAdapter.java | 4 +- .../cayenne/dba/ingres/IngresAdapter.java | 2 +- .../apache/cayenne/dba/mysql/MySQLAdapter.java | 2 +- .../dba/oracle/Oracle8LOBBatchAction.java | 19 +++--- .../cayenne/dba/oracle/OracleAdapter.java | 4 +- .../cayenne/dba/postgres/PostgresAdapter.java | 2 +- .../cayenne/dba/sybase/SybaseAdapter.java | 10 ++-- .../cayenne/log/CommonsJdbcEventLogger.java | 33 ++++++----- .../org/apache/cayenne/log/JdbcEventLogger.java | 24 +++----- .../apache/cayenne/log/NoopJdbcEventLogger.java | 6 +- .../apache/cayenne/velocity/BindDirective.java | 10 ++-- .../cayenne/velocity/BindEqualDirective.java | 4 +- .../cayenne/velocity/BindNotEqualDirective.java | 4 +- .../velocity/BindObjectEqualDirective.java | 6 +- .../velocity/BindObjectNotEqualDirective.java | 4 +- .../velocity/VelocitySQLTemplateProcessor.java | 6 +- .../cayenne/access/jdbc/SQLStatementTest.java | 3 +- .../VelocitySQLTemplateProcessorTest.java | 12 ++-- 29 files changed, 134 insertions(+), 193 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/DefaultValueForNullProvider.java ---------------------------------------------------------------------- diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/DefaultValueForNullProvider.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/DefaultValueForNullProvider.java index 54fd030..11867ef 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/DefaultValueForNullProvider.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/DefaultValueForNullProvider.java @@ -24,25 +24,25 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.map.DbAttribute; import org.apache.cayenne.map.DbEntity; public class DefaultValueForNullProvider implements ValueForNullProvider { - private Map<String, SQLParameterBinding> values = new HashMap<>(); + private Map<String, ParameterBinding> values = new HashMap<>(); public void set(DbEntity entity, DbAttribute column, Object value, int type) { - values.put(createKey(entity, column), new SQLParameterBinding(value, type, column + values.put(createKey(entity, column), new ParameterBinding(value, type, column .getAttributePrecision())); } - protected SQLParameterBinding get(DbEntity entity, DbAttribute column) { + protected ParameterBinding get(DbEntity entity, DbAttribute column) { return values.get(createKey(entity, column)); } public List<String> createSql(DbEntity entity, DbAttribute column) { - SQLParameterBinding value = get(entity, column); + ParameterBinding value = get(entity, column); if (value == null) { return Collections.emptyList(); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java ---------------------------------------------------------------------- diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java index f9801a0..823b56b 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/token/ValueForNullIT.java @@ -23,7 +23,7 @@ import junit.framework.AssertionFailedError; import org.apache.cayenne.DataObject; import org.apache.cayenne.Persistent; import org.apache.cayenne.access.DataContext; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.dbsync.merge.DataMapMerger; import org.apache.cayenne.dbsync.merge.MergeCase; import org.apache.cayenne.di.Inject; @@ -110,11 +110,11 @@ public class ValueForNullIT extends MergeCase { return super.merger().valueForNullProvider(new DefaultValueForNullProvider() { @Override - protected SQLParameterBinding get(DbEntity entity, DbAttribute column) { + protected ParameterBinding get(DbEntity entity, DbAttribute column) { int type = column.getType(); switch (type) { case Types.VARCHAR: - return new SQLParameterBinding(DEFAULT_VALUE_STRING, type, -1); + return new ParameterBinding(DEFAULT_VALUE_STRING, type, -1); default: throw new AssertionFailedError("should not get here"); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLParameterBinding.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLParameterBinding.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLParameterBinding.java deleted file mode 100644 index f2b2369..0000000 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLParameterBinding.java +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ - -package org.apache.cayenne.access.jdbc; - -/** - * Describes PreparedStatement parameter binding. - * - * @since 4.0 - */ -public class SQLParameterBinding { - - protected int jdbcType; - protected int scale; - protected Object value; - - public SQLParameterBinding(Object value, int jdbcType, int scale) { - this.value = value; - this.jdbcType = jdbcType; - this.scale = scale; - } - - public int getJdbcType() { - return jdbcType; - } - - public int getScale() { - return scale; - } - - public Object getValue() { - return value; - } - - public void setJdbcType(int i) { - jdbcType = i; - } - - public void setScale(int i) { - scale = i; - } - - public void setValue(Object object) { - value = object; - } -} http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLStatement.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLStatement.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLStatement.java index 33d385d..38c872c 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLStatement.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLStatement.java @@ -19,6 +19,8 @@ package org.apache.cayenne.access.jdbc; +import org.apache.cayenne.access.translator.ParameterBinding; + /** * A PreparedStatement descriptor containing a String of SQL and an array of parameters. * SQLStatement is essentially a "compiled" version of any single query. @@ -28,13 +30,13 @@ package org.apache.cayenne.access.jdbc; public class SQLStatement { protected String sql; - protected SQLParameterBinding[] bindings; + protected ParameterBinding[] bindings; protected ColumnDescriptor[] resultColumns; public SQLStatement() { } - public SQLStatement(String sql, SQLParameterBinding[] bindings) { + public SQLStatement(String sql, ParameterBinding[] bindings) { this(sql, null, bindings); } @@ -42,7 +44,7 @@ public class SQLStatement { * @since 1.2 */ public SQLStatement(String sql, ColumnDescriptor[] resultColumns, - SQLParameterBinding[] bindings) { + ParameterBinding[] bindings) { setSql(sql); setBindings(bindings); @@ -63,7 +65,7 @@ public class SQLStatement { resultColumns = descriptors; } - public SQLParameterBinding[] getBindings() { + public ParameterBinding[] getBindings() { return bindings; } @@ -71,7 +73,7 @@ public class SQLStatement { return sql; } - public void setBindings(SQLParameterBinding[] bindings) { + public void setBindings(ParameterBinding[] bindings) { this.bindings = bindings; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java index a7d502c..ba11ed4 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java @@ -132,13 +132,12 @@ public class SQLTemplateAction implements SQLAction { query.getPositionalParams()); if (loggable) { - dataNode.getJdbcEventLogger().logQuery(compiled.getSql(), Arrays.asList(compiled.getBindings())); + dataNode.getJdbcEventLogger().logQuery(compiled.getSql(), compiled.getBindings(), 0); } execute(connection, callback, compiled, counts); } - @SuppressWarnings("deprecation") private void runWithNamedParametersBatch(Connection connection, OperationObserver callback, String template, Collection<Number> counts, boolean loggable) throws Exception { @@ -158,7 +157,7 @@ public class SQLTemplateAction implements SQLAction { SQLStatement compiled = dataNode.getSqlTemplateProcessor().processTemplate(template, nextParameters); if (loggable) { - dataNode.getJdbcEventLogger().logQuery(compiled.getSql(), Arrays.asList(compiled.getBindings())); + dataNode.getJdbcEventLogger().logQuery(compiled.getSql(), compiled.getBindings(), 0); } execute(connection, callback, compiled, counts); @@ -332,25 +331,18 @@ public class SQLTemplateAction implements SQLAction { /** * Binds parameters to the PreparedStatement. */ - protected void bind(PreparedStatement preparedStatement, SQLParameterBinding[] bindings) + protected void bind(PreparedStatement preparedStatement, ParameterBinding[] bindings) throws SQLException, Exception { // bind parameters - if (bindings.length > 0) { - int len = bindings.length; - for (int i = 0; i < len; i++) { - - Object value = bindings[i].getValue(); - ExtendedType extendedType = value != null - ? getAdapter().getExtendedTypes().getRegisteredType(value.getClass()) - : getAdapter().getExtendedTypes().getDefaultType(); - - ParameterBinding binding = new ParameterBinding(); - binding.setType(bindings[i].getJdbcType()); - binding.setStatementPosition(i + 1); - binding.setValue(value); - binding.setExtendedType(extendedType); - dataNode.getAdapter().bindParameter(preparedStatement, binding); - } + int i = 1; + for (ParameterBinding binding : bindings) { + Object value = binding.getValue(); + ExtendedType extendedType = value != null + ? getAdapter().getExtendedTypes().getRegisteredType(value.getClass()) + : getAdapter().getExtendedTypes().getDefaultType(); + binding.setExtendedType(extendedType); + binding.setStatementPosition(i++); + dataNode.getAdapter().bindParameter(preparedStatement, binding); } if (queryMetadata.getStatementFetchSize() != 0) { http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java index 78b6d71..d9470bf 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java @@ -39,8 +39,8 @@ public class DbAttributeBinding extends ParameterBinding { } @Override - public Integer getType() { - return super.getType() != null ? super.getType() : attribute.getType(); + public Integer getJdbcType() { + return super.getJdbcType() != null ? super.getJdbcType() : attribute.getType(); } @Override http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java index 68d68ba..1df0029 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java @@ -27,14 +27,20 @@ import org.apache.cayenne.access.types.ExtendedType; */ public class ParameterBinding { - static final int EXCLUDED_POSITION = -1; + private static final int EXCLUDED_POSITION = -1; private Object value; private int statementPosition; private ExtendedType extendedType; - private Integer type; + private Integer jdbcType; private int scale; + public ParameterBinding(Object value, Integer jdbcType, int scale) { + this.value = value; + this.jdbcType = jdbcType; + this.scale = scale; + } + public ParameterBinding() { this.statementPosition = EXCLUDED_POSITION; } @@ -86,12 +92,12 @@ public class ParameterBinding { this.extendedType = extendedType; } - public Integer getType() { - return type; + public Integer getJdbcType() { + return jdbcType; } - public void setType(Integer type) { - this.type = type; + public void setJdbcType(Integer type) { + this.jdbcType = type; } public int getScale() { http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java index 6ccfaf2..2bf3da3 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java @@ -39,7 +39,7 @@ public class ProcedureParameterBinding extends ParameterBinding { } @Override - public Integer getType() { + public Integer getJdbcType() { return parameter.getType(); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java index aa9fdf7..2fc261d 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/access/translator/procedure/ProcedureTranslator.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.access.translator.ProcedureParameterBinding; import org.apache.cayenne.access.types.ExtendedType; import org.apache.cayenne.dba.DbAdapter; @@ -155,16 +156,17 @@ public class ProcedureTranslator { if (logger.isLoggable()) { // need to convert OUT/VOID parameters to loggable strings long time = System.currentTimeMillis() - t1; - - List<Object> loggableParameters = new ArrayList<>(values.size()); - for (Object val : values) { - if (val instanceof NotInParam) { - val = val.toString(); + ParameterBinding[] parameterBindings = new ParameterBinding[values.size()]; + for (int i=0; i<values.size(); i++) { + ProcedureParameter procedureParameter = callParams.get(i); + Object value = values.get(i); + if(value instanceof NotInParam) { + value = value.toString(); } - loggableParameters.add(val); + parameterBindings[i] = new ParameterBinding(value, + procedureParameter.getType(), procedureParameter.getPrecision()); } - - logger.logQuery(sqlStr, null, loggableParameters, time); + logger.logQuery(sqlStr, parameterBindings, time); } CallableStatement stmt = connection.prepareCall(sqlStr); initStatement(stmt); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java index b163a88..2b39416 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java @@ -543,12 +543,12 @@ public class JdbcAdapter implements DbAdapter { throws SQLException, Exception { if (binding.getValue() == null) { - statement.setNull(binding.getStatementPosition(), binding.getType()); + statement.setNull(binding.getStatementPosition(), binding.getJdbcType()); } else { binding.getExtendedType().setJdbcObject(statement, binding.getValue(), binding.getStatementPosition(), - binding.getType(), + binding.getJdbcType(), binding.getScale()); } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java index 7ac6dec..c6df839 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java @@ -166,10 +166,10 @@ public class DB2Adapter extends JdbcAdapter { @Override public void bindParameter(PreparedStatement statement, ParameterBinding binding) throws Exception { - if (binding.getValue() == null && (binding.getType() == 0 || binding.getType() == Types.BOOLEAN)) { + if (binding.getValue() == null && (binding.getJdbcType() == 0 || binding.getJdbcType() == Types.BOOLEAN)) { statement.setNull(binding.getStatementPosition(), Types.VARCHAR); } else { - binding.setType(convertNTypes(binding.getType())); + binding.setJdbcType(convertNTypes(binding.getJdbcType())); super.bindParameter(statement, binding); } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java index d2bb67e..7dd23a3 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java @@ -189,10 +189,10 @@ public class DerbyAdapter extends JdbcAdapter { PreparedStatement statement, ParameterBinding binding) throws SQLException, Exception { - if (binding.getValue() == null && binding.getType() == 0) { + if (binding.getValue() == null && binding.getJdbcType() == 0) { statement.setNull(binding.getStatementPosition(), Types.VARCHAR); } else { - binding.setType(convertNTypes(binding.getType())); + binding.setJdbcType(convertNTypes(binding.getJdbcType())); super.bindParameter(statement, binding); } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java index 2c76b2a..60a39b6 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java @@ -114,7 +114,7 @@ public class IngresAdapter extends JdbcAdapter { public void bindParameter(PreparedStatement statement, ParameterBinding binding) throws SQLException, Exception { - if (binding.getValue() == null && (binding.getType() == Types.BIT)) { + if (binding.getValue() == null && (binding.getJdbcType() == Types.BIT)) { statement.setNull(binding.getStatementPosition(), Types.SMALLINT); } else { super.bindParameter(statement, binding); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java index 6e9529a..24d39ae 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java @@ -212,7 +212,7 @@ public class MySQLAdapter extends JdbcAdapter { @Override public void bindParameter(PreparedStatement statement, ParameterBinding binding) throws SQLException, Exception { - binding.setType(mapNTypes(binding.getType())); + binding.setJdbcType(mapNTypes(binding.getJdbcType())); super.bindParameter(statement, binding); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java index 5392c55..144573e 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java @@ -131,7 +131,7 @@ class Oracle8LOBBatchAction implements SQLAction { return; } - boolean isLoggable = logger.isLoggable(); + final boolean isLoggable = logger.isLoggable(); List<Object> qualifierValues = selectQuery.getValuesForLOBSelectQualifier(row); List<Object> lobValues = selectQuery.getValuesForUpdatedLOBColumns(); @@ -140,12 +140,11 @@ class Oracle8LOBBatchAction implements SQLAction { String selectStr = queryBuilder.createLOBSelectString(lobAttributes, qualifierAttributes); - if (isLoggable) { - logger.logQuery(selectStr, qualifierValues); - logger.logQueryParameters("write LOB", null, lobValues, false); - } - try (PreparedStatement selectStatement = con.prepareStatement(selectStr)) { + DbAttributeBinding[] attributeBindings = null; + if(isLoggable) { + attributeBindings = new DbAttributeBinding[parametersSize]; + } for (int i = 0; i < parametersSize; i++) { DbAttribute attribute = qualifierAttributes.get(i); Object value = qualifierValues.get(i); @@ -158,6 +157,13 @@ class Oracle8LOBBatchAction implements SQLAction { binding.setValue(value); binding.setExtendedType(extendedType); adapter.bindParameter(selectStatement, binding); + if(isLoggable) { + attributeBindings[i] = binding; + } + } + + if (isLoggable) { + logger.logQuery(selectStr, attributeBindings, 0); } try (ResultSet result = selectStatement.executeQuery()) { @@ -166,7 +172,6 @@ class Oracle8LOBBatchAction implements SQLAction { } // read the only expected row - for (int i = 0; i < lobSize; i++) { DbAttribute attribute = lobAttributes.get(i); int type = attribute.getType(); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java index f6528c9..77f2be1 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java @@ -238,10 +238,10 @@ public class OracleAdapter extends JdbcAdapter { // Oracle doesn't support BOOLEAN even when binding NULL, so have to // intercept // NULL Boolean here, as super doesn't pass it through ExtendedType... - if (binding.getValue() == null && binding.getType() == Types.BOOLEAN) { + if (binding.getValue() == null && binding.getJdbcType() == Types.BOOLEAN) { ExtendedType typeProcessor = getExtendedTypes().getRegisteredType(Boolean.class); typeProcessor.setJdbcObject(statement, binding.getValue(), binding.getStatementPosition(), binding - .getType(),binding.getScale()); + .getJdbcType(),binding.getScale()); } else { super.bindParameter(statement, binding); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java index bf3f6b9..c9dd4af 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java @@ -135,7 +135,7 @@ public class PostgresAdapter extends JdbcAdapter { @Override public void bindParameter(PreparedStatement statement, ParameterBinding binding) throws SQLException, Exception { - binding.setType(mapNTypes(binding.getType())); + binding.setJdbcType(mapNTypes(binding.getJdbcType())); super.bindParameter(statement, binding); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java index 886308a..891995e 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java @@ -137,14 +137,14 @@ public class SybaseAdapter extends JdbcAdapter { // Sybase driver doesn't like CLOBs and BLOBs as parameters if (binding.getValue() == null) { - if (binding.getType() == Types.CLOB) { - binding.setType(Types.VARCHAR); - } else if (binding.getType() == Types.BLOB) { - binding.setType(Types.VARBINARY); + if (binding.getJdbcType() == Types.CLOB) { + binding.setJdbcType(Types.VARCHAR); + } else if (binding.getJdbcType() == Types.BLOB) { + binding.setJdbcType(Types.VARBINARY); } } - if (binding.getValue() == null && binding.getType() == 0) { + if (binding.getValue() == null && binding.getJdbcType() == 0) { statement.setNull(binding.getStatementPosition(), Types.VARCHAR); } else { super.bindParameter(statement, binding); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/log/CommonsJdbcEventLogger.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/CommonsJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/CommonsJdbcEventLogger.java index 17c5f4a..c0007bc 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/log/CommonsJdbcEventLogger.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/log/CommonsJdbcEventLogger.java @@ -20,8 +20,8 @@ package org.apache.cayenne.log; import org.apache.cayenne.CayenneRuntimeException; import org.apache.cayenne.ExtendedEnumeration; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; import org.apache.cayenne.access.translator.DbAttributeBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.configuration.Constants; import org.apache.cayenne.configuration.RuntimeProperties; import org.apache.cayenne.conn.DataSourceInfo; @@ -47,7 +47,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { private static final Logger logger = LoggerFactory.getLogger(CommonsJdbcEventLogger.class); /** - * @deprecated since 4.0 + * @deprecated since 4.0 */ private static final int TRIM_VALUES_THRESHOLD = 30; @@ -86,7 +86,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { } // handle byte pretty formatting else if (object instanceof Byte) { - IDUtil.appendFormattedByte(buffer, ((Byte) object).byteValue()); + IDUtil.appendFormattedByte(buffer, (Byte) object); } else if (object instanceof Number) { // process numeric value (do something smart in the future) buffer.append(object); @@ -118,8 +118,8 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { buffer.append(((Enum<?>) object).ordinal()); // FIXME -- this isn't quite right } - } else if (object instanceof SQLParameterBinding) { - sqlLiteralForObject(buffer, ((SQLParameterBinding) object).getValue()); + } else if (object instanceof ParameterBinding) { + sqlLiteralForObject(buffer, ((ParameterBinding) object).getValue()); } else if (object.getClass().isArray()) { buffer.append("< "); @@ -232,7 +232,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { /** * @deprecated since 4.0 use - * {@link #logQuery(String, DbAttributeBinding[], long)}. + * {@link #logQuery(String, ParameterBinding[], long)}. */ @Deprecated @Override @@ -297,7 +297,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { } @Override - public void logQuery(String sql, DbAttributeBinding[] bindings, long translatedIn) { + public void logQuery(String sql, ParameterBinding[] bindings, long translatedIn) { if (isLoggable()) { StringBuilder buffer = new StringBuilder(sql).append(" "); @@ -340,7 +340,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { } @Override - public void logQueryParameters(String label, DbAttributeBinding[] bindings) { + public void logQueryParameters(String label, ParameterBinding[] bindings) { if (isLoggable() && bindings.length > 0) { @@ -353,7 +353,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { } } - private void appendParameters(StringBuilder buffer, String label, DbAttributeBinding[] bindings) { + private void appendParameters(StringBuilder buffer, String label, ParameterBinding[] bindings) { int len = bindings.length; if (len > 0) { @@ -361,7 +361,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { boolean hasIncluded = false; for (int i = 0, j = 1; i < len; i++) { - DbAttributeBinding b = bindings[i]; + ParameterBinding b = bindings[i]; if (b.isExcluded()) { continue; @@ -374,13 +374,15 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { buffer.append("[").append(label).append(": "); } - DbAttribute attribute = b.getAttribute(); buffer.append(j++); - if (attribute != null) { - buffer.append("->"); - buffer.append(attribute.getName()); + if(b instanceof DbAttributeBinding) { + DbAttribute attribute = ((DbAttributeBinding) b).getAttribute(); + if (attribute != null) { + buffer.append("->"); + buffer.append(attribute.getName()); + } } buffer.append(":"); @@ -389,8 +391,7 @@ public class CommonsJdbcEventLogger implements JdbcEventLogger { buffer.append(b.getExtendedType().toString(b.getValue())); } else if(b.getValue() == null) { buffer.append("NULL"); - } - else { + } else { buffer.append(b.getValue().getClass().getName()) .append("@") .append(System.identityHashCode(b.getValue())); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java index 5ada199..ea9aec8 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java @@ -20,7 +20,7 @@ package org.apache.cayenne.log; import java.util.List; -import org.apache.cayenne.access.translator.DbAttributeBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.conn.DataSourceInfo; import org.apache.cayenne.map.DbAttribute; @@ -76,15 +76,13 @@ public interface JdbcEventLogger { void logGeneratedKey(DbAttribute attribute, Object value); /** - * @deprecated since 4.0 use - * {@link #logQuery(String, DbAttributeBinding[], long)}. + * @deprecated since 4.0 use {@link #logQuery(String, ParameterBinding[], long)}. */ @Deprecated void logQuery(String sql, List<?> params); /** - * @deprecated since 4.0 use - * {@link #logQuery(String, DbAttributeBinding[], long)}. + * @deprecated since 4.0 use {@link #logQuery(String, ParameterBinding[], long)}. */ @Deprecated void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time); @@ -92,16 +90,15 @@ public interface JdbcEventLogger { /** * @since 4.0 */ - void logQuery(String sql, DbAttributeBinding[] bindings, long translatedIn); + void logQuery(String sql, ParameterBinding[] bindings, long translatedIn); /** * @since 4.0 */ - void logQueryParameters(String label, DbAttributeBinding[] bindings); + void logQueryParameters(String label, ParameterBinding[] bindings); /** - * @deprecated since 4.0 in favor of - * {@link #logQueryParameters(String, DbAttributeBinding[])} + * @deprecated since 4.0 use {@link #logQueryParameters(String, ParameterBinding[])} */ @Deprecated void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting); @@ -109,12 +106,9 @@ public interface JdbcEventLogger { void logSelectCount(int count, long time); /** - * - * @param count - * @param time - * (milliseconds) time query took to run - * @param sql - * SQL that was executed, printed when time exceeds timeThreshold + * @param count of selected rows + * @param time (milliseconds) time query took to run + * @param sql SQL that was executed, printed when time exceeds timeThreshold * * @since 4.0 */ http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java index 6e675ac..b2dc36f 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java @@ -20,7 +20,7 @@ package org.apache.cayenne.log; import java.util.List; -import org.apache.cayenne.access.translator.DbAttributeBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.conn.DataSourceInfo; import org.apache.cayenne.map.DbAttribute; @@ -83,7 +83,7 @@ public class NoopJdbcEventLogger implements JdbcEventLogger { } @Override - public void logQuery(String sql, DbAttributeBinding[] bindings, long translatedIn) { + public void logQuery(String sql, ParameterBinding[] bindings, long translatedIn) { } @Override @@ -92,7 +92,7 @@ public class NoopJdbcEventLogger implements JdbcEventLogger { } @Override - public void logQueryParameters(String label, DbAttributeBinding[] bindings) { + public void logQueryParameters(String label, ParameterBinding[] bindings) { } @Override http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java index 8529a77..94080d6 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java @@ -24,7 +24,7 @@ import java.io.Writer; import java.util.Collection; import java.util.Iterator; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.dba.TypesMapping; import org.apache.cayenne.util.ConversionUtil; import org.apache.velocity.context.InternalContextAdapter; @@ -81,7 +81,7 @@ public class BindDirective extends Directive { /** * Extracts the value of the object property to render and passes control to - * {@link #render(InternalContextAdapter, Writer, SQLParameterBinding)} to do + * {@link #render(InternalContextAdapter, Writer, ParameterBinding)} to do * the actual rendering. */ @Override @@ -130,10 +130,10 @@ public class BindDirective extends Directive { + ") at line " + node.getLine() + ", column " + node.getColumn()); } - render(context, writer, new SQLParameterBinding(value, jdbcType, scale)); + render(context, writer, new ParameterBinding(value, jdbcType, scale)); } - protected void render(InternalContextAdapter context, Writer writer, SQLParameterBinding binding) throws IOException { + protected void render(InternalContextAdapter context, Writer writer, ParameterBinding binding) throws IOException { bind(context, binding); writer.write('?'); @@ -146,7 +146,7 @@ public class BindDirective extends Directive { /** * Adds value to the list of bindings in the context. */ - protected void bind(InternalContextAdapter context, SQLParameterBinding binding) { + protected void bind(InternalContextAdapter context, ParameterBinding binding) { Collection bindings = (Collection) context.getInternalUserContext().get( VelocitySQLTemplateProcessor.BINDINGS_LIST_KEY); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindEqualDirective.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindEqualDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindEqualDirective.java index f109b82..bf9c820 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindEqualDirective.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindEqualDirective.java @@ -22,7 +22,7 @@ package org.apache.cayenne.velocity; import java.io.IOException; import java.io.Writer; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.velocity.context.InternalContextAdapter; /** @@ -43,7 +43,7 @@ public class BindEqualDirective extends BindDirective { protected void render( InternalContextAdapter context, Writer writer, - SQLParameterBinding binding) + ParameterBinding binding) throws IOException { if (binding.getValue() != null) { http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindNotEqualDirective.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindNotEqualDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindNotEqualDirective.java index 3b17732..af548da 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindNotEqualDirective.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindNotEqualDirective.java @@ -22,7 +22,7 @@ package org.apache.cayenne.velocity; import java.io.IOException; import java.io.Writer; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.velocity.context.InternalContextAdapter; /** @@ -43,7 +43,7 @@ public class BindNotEqualDirective extends BindDirective { protected void render( InternalContextAdapter context, Writer writer, - SQLParameterBinding binding) throws IOException { + ParameterBinding binding) throws IOException { if (binding.getValue() != null) { bind(context, binding); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectEqualDirective.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectEqualDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectEqualDirective.java index 35785d3..8394673 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectEqualDirective.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectEqualDirective.java @@ -27,7 +27,7 @@ import java.util.Map; import org.apache.cayenne.ObjectId; import org.apache.cayenne.Persistent; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.dba.TypesMapping; import org.apache.velocity.context.InternalContextAdapter; import org.apache.velocity.exception.MethodInvocationException; @@ -94,7 +94,7 @@ public class BindObjectEqualDirective extends BindDirective { renderColumn(context, writer, sqlColumnsArray[i], i); writer.write(' '); - render(context, writer, new SQLParameterBinding(value, jdbcType, -1)); + render(context, writer, new ParameterBinding(value, jdbcType, -1)); } return true; @@ -151,7 +151,7 @@ public class BindObjectEqualDirective extends BindDirective { protected void render( InternalContextAdapter context, Writer writer, - SQLParameterBinding binding) throws IOException { + ParameterBinding binding) throws IOException { if (binding.getValue() != null) { bind(context, binding); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectNotEqualDirective.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectNotEqualDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectNotEqualDirective.java index bf76993..6c95852 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectNotEqualDirective.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindObjectNotEqualDirective.java @@ -21,7 +21,7 @@ package org.apache.cayenne.velocity; import java.io.IOException; import java.io.Writer; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.velocity.context.InternalContextAdapter; /** @@ -57,7 +57,7 @@ public class BindObjectNotEqualDirective extends BindObjectEqualDirective { protected void render( InternalContextAdapter context, Writer writer, - SQLParameterBinding binding) throws IOException { + ParameterBinding binding) throws IOException { if (binding.getValue() != null) { bind(context, binding); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java index 1fc4f14..cfa5f33 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java @@ -21,9 +21,9 @@ package org.apache.cayenne.velocity; import org.apache.cayenne.CayenneRuntimeException; import org.apache.cayenne.access.jdbc.ColumnDescriptor; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; import org.apache.cayenne.access.jdbc.SQLStatement; import org.apache.cayenne.access.jdbc.SQLTemplateProcessor; +import org.apache.cayenne.access.translator.ParameterBinding; import org.apache.cayenne.exp.ExpressionException; import org.apache.velocity.VelocityContext; import org.apache.velocity.context.InternalContextAdapterImpl; @@ -152,7 +152,7 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor { } SQLStatement processTemplate(String template, SimpleNode parsedTemplate, Map<String, Object> parameters) { - List<SQLParameterBinding> bindings = new ArrayList<>(); + List<ParameterBinding> bindings = new ArrayList<>(); List<ColumnDescriptor> results = new ArrayList<>(); parameters.put(BINDINGS_LIST_KEY, bindings); parameters.put(RESULT_COLUMNS_LIST_KEY, results); @@ -165,7 +165,7 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor { throw new CayenneRuntimeException("Error processing Velocity template", e); } - SQLParameterBinding[] bindingsArray = new SQLParameterBinding[bindings.size()]; + ParameterBinding[] bindingsArray = new ParameterBinding[bindings.size()]; bindings.toArray(bindingsArray); ColumnDescriptor[] resultsArray = new ColumnDescriptor[results.size()]; http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLStatementTest.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLStatementTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLStatementTest.java index e0cc575..b6b7c6c 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLStatementTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLStatementTest.java @@ -19,6 +19,7 @@ package org.apache.cayenne.access.jdbc; +import org.apache.cayenne.access.translator.ParameterBinding; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -31,7 +32,7 @@ public class SQLStatementTest { @Test public void testConstructor() throws Exception { - SQLParameterBinding[] bindings = new SQLParameterBinding[0]; + ParameterBinding[] bindings = new ParameterBinding[0]; SQLStatement statement = new SQLStatement("abc", bindings); assertEquals("abc", statement.getSql()); assertSame(bindings, statement.getBindings()); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3b22b475/cayenne-server/src/test/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessorTest.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessorTest.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessorTest.java index b6c6ff3..504179b 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessorTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessorTest.java @@ -31,8 +31,8 @@ import java.util.Map; import org.apache.cayenne.CayenneDataObject; import org.apache.cayenne.DataObject; import org.apache.cayenne.ObjectId; -import org.apache.cayenne.access.jdbc.SQLParameterBinding; import org.apache.cayenne.access.jdbc.SQLStatement; +import org.apache.cayenne.access.translator.ParameterBinding; import org.junit.Before; import org.junit.Test; @@ -223,12 +223,12 @@ public class VelocitySQLTemplateProcessorTest { } private void assertBindingValue(Object expectedValue, Object binding) { - assertTrue("Not a binding!", binding instanceof SQLParameterBinding); - assertEquals(expectedValue, ((SQLParameterBinding) binding).getValue()); + assertTrue("Not a binding!", binding instanceof ParameterBinding); + assertEquals(expectedValue, ((ParameterBinding) binding).getValue()); } - private void assertBindingType(int expectedType, Object binding) { - assertTrue("Not a binding!", binding instanceof SQLParameterBinding); - assertEquals(expectedType, ((SQLParameterBinding) binding).getJdbcType()); + private void assertBindingType(Integer expectedType, Object binding) { + assertTrue("Not a binding!", binding instanceof ParameterBinding); + assertEquals(expectedType, ((ParameterBinding) binding).getJdbcType()); } }
