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

Reply via email to