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]

Reply via email to