User: kvvinaymenon
Date: 01/07/10 15:42:32
Modified: src/main/org/jboss/ejb/plugins/jaws/jdbc
JDBCDefinedFinderCommand.java
Log:
Fix for checking null arguments in Finders and ensuring that the NULL sql datatype
is assigned to such a variable. (Bugs item #440167)
Revision Changes Path
1.17 +25 -15
jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java
Index: JDBCDefinedFinderCommand.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCDefinedFinderCommand.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- JDBCDefinedFinderCommand.java 2001/07/03 20:59:55 1.16
+++ JDBCDefinedFinderCommand.java 2001/07/10 22:42:32 1.17
@@ -29,7 +29,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Vinay Menon</a>
* @author <a href="mailto:[EMAIL PROTECTED]">danch (Dan Christopherson)</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Bill Burke</a>
- * @version $Revision: 1.16 $
+ * @version $Revision: 1.17 $
*
* Revisions:
* 20010621 Bill Burke: exposed parameterArray through get method.
@@ -57,20 +57,20 @@
String query = "";
ArrayList parameters = new ArrayList();
if (f.getQuery() != null) {
- StringTokenizer finderQuery = new StringTokenizer(f.getQuery(),"{}",
true);
+ StringTokenizer finderQuery = new StringTokenizer(f.getQuery(),"{}", true);
- while (finderQuery.hasMoreTokens())
- {
- String t = finderQuery.nextToken();
- if (t.equals("{"))
- {
- query += "?";
- String idx = finderQuery.nextToken(); // Remove number
- parameters.add(new Integer(idx));
- finderQuery.nextToken(); // Remove }
- } else
- query += t;
- }
+ while (finderQuery.hasMoreTokens())
+ {
+ String t = finderQuery.nextToken();
+ if (t.equals("{"))
+ {
+ query += "?";
+ String idx = finderQuery.nextToken(); // Remove number
+ parameters.add(new Integer(idx));
+ finderQuery.nextToken(); // Remove }
+ } else
+ query += t;
+ }
}
// Copy index numbers to parameterArray
@@ -255,7 +255,17 @@
for (int i = 0; i < parameterArray.length; i++)
{
Object arg = args[parameterArray[i]];
- int jdbcType = typeMapping.getJdbcTypeForJavaType(arg.getClass());
+ int jdbcType;
+
+ if(arg!=null)
+ {
+ jdbcType = typeMapping.getJdbcTypeForJavaType(arg.getClass());
+ }
+ else
+ {
+ jdbcType = java.sql.Types.NULL;
+ }
+
setParameter(stmt,i+1,jdbcType,arg);
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development