You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cs...@apache.org on 2007/03/28 18:33:15 UTC

svn commit: r523401 - in /beehive/trunk/system-controls: src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java

Author: cschoett
Date: Wed Mar 28 09:33:14 2007
New Revision: 523401

URL: http://svn.apache.org/viewvc?view=rev&rev=523401
Log:
Fix for BEEHIVE-1185, added check for null parameter value during log message generation, also added new DRT test for this case.


Modified:
    beehive/trunk/system-controls/src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java
    beehive/trunk/system-controls/test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java

Modified: beehive/trunk/system-controls/src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java
URL: http://svn.apache.org/viewvc/beehive/trunk/system-controls/src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java?view=diff&rev=523401&r1=523400&r2=523401
==============================================================================
--- beehive/trunk/system-controls/src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java (original)
+++ beehive/trunk/system-controls/src/jdbc/org/apache/beehive/controls/system/jdbc/parser/SqlStatement.java Wed Mar 28 09:33:14 2007
@@ -249,7 +249,9 @@
 
             sqlString.append(" Params: {");
             for (int i = 0; i < params.length; i++) {
-                if (i > 0) { sqlString.append(params[i].value.toString()); }
+                if (i > 0) {
+                    sqlString.append(params[i].value == null ? "null" : params[i].value.toString()); 
+                }
             }
             sqlString.append("}");
 
@@ -307,7 +309,7 @@
 
             case Types.BOOLEAN:
                 if (value instanceof Boolean) {
-                    ps.setBoolean(i, ((Boolean) value).booleanValue());
+                    ps.setBoolean(i, (Boolean) value);
                     return;
                 }
                 break;
@@ -454,7 +456,7 @@
      */
     private void loadSQLAnnotationStatmentOptions(ControlBeanContext context, Method method) {
 
-        final JdbcControl.SQL methodSQL = (JdbcControl.SQL) context.getMethodPropertySet(method, JdbcControl.SQL.class);
+        final JdbcControl.SQL methodSQL = context.getMethodPropertySet(method, JdbcControl.SQL.class);
 
         _batchUpdate = methodSQL.batchUpdate();
         _getGeneratedKeys = methodSQL.getGeneratedKeys();

Modified: beehive/trunk/system-controls/test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java
URL: http://svn.apache.org/viewvc/beehive/trunk/system-controls/test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java?view=diff&rev=523401&r1=523400&r2=523401
==============================================================================
--- beehive/trunk/system-controls/test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java (original)
+++ beehive/trunk/system-controls/test/jdbc/junitTests/org/apache/beehive/controls/system/jdbc/units/results/StoredProcsDBResultsTest.java Wed Mar 28 09:33:14 2007
@@ -119,6 +119,20 @@
     }
 
     /**
+     * Test that a null value for an SQLParameter of type OUT does not
+     * cause an NPE.
+     */
+    public void testNullSPOutParam() throws Exception {
+        assertNotNull(testCtrl);
+        JdbcControl.SQLParameter[] params = new JdbcControl.SQLParameter[1];
+        params[0] = new JdbcControl.SQLParameter(null, Types.VARCHAR, JdbcControl.SQLParameter.OUT);
+        testCtrl.getExpensiveProducts(params);
+        assertEquals(params[0].value, "Widget 4");
+    }
+
+    /**
+
+    /**
      * create a stored proc with the dbControl then run it -- only contains IN parameters
      * @throws Exception
      */