JAMES-2251 Switch over to using ParameterMetaData.getParameterCount()
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f4b62766 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f4b62766 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f4b62766 Branch: refs/heads/master Commit: f4b62766bcafe6424567bd367c6566d5093f85e7 Parents: 9a06f40 Author: Daniel Trebbien <[email protected]> Authored: Mon Oct 30 12:11:18 2017 -0400 Committer: Antoine Duprat <[email protected]> Committed: Tue Dec 12 09:47:37 2017 +0100 ---------------------------------------------------------------------- .../mailrepository/jdbc/JDBCMailRepository.java | 21 +------------------- 1 file changed, 1 insertion(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f4b62766/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java index c18bdd4..9a67212 100644 --- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java +++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java @@ -543,8 +543,8 @@ public class JDBCMailRepository extends AbstractMailRepository { PreparedStatement insertMessage = null; try { String insertMessageSQL = sqlQueries.getSqlString("insertMessageSQL", true); - int number_of_parameters = getNumberOfParameters(insertMessageSQL); insertMessage = conn.prepareStatement(insertMessageSQL); + int number_of_parameters = insertMessage.getParameterMetaData().getParameterCount(); insertMessage.setString(1, mc.getName()); insertMessage.setString(2, repositoryName); insertMessage.setString(3, mc.getState()); @@ -825,23 +825,4 @@ public class JDBCMailRepository extends AbstractMailRepository { } return result; } - - /** - * This method calculates number of parameters in a prepared statement SQL - * String. It does so by counting the number of '?' in the string - * - * @param sqlstring - * to return parameter count for - * @return number of parameters - **/ - private int getNumberOfParameters(String sqlstring) { - // it is alas a java 1.4 feature to be able to call - // getParameterMetaData which could provide us with the parameterCount - char[] chars = sqlstring.toCharArray(); - int count = 0; - for (char aChar : chars) { - count += aChar == '?' ? 1 : 0; - } - return count; - } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
