User: kvvinaymenon
  Date: 01/07/10 16:04:37

  Modified:    src/main/org/jboss/ejb/plugins/jaws/jdbc Tag: Branch_2_4
                        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
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.2  +24 -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.14.2.1
  retrieving revision 1.14.2.2
  diff -u -r1.14.2.1 -r1.14.2.2
  --- JDBCDefinedFinderCommand.java     2001/07/03 15:20:30     1.14.2.1
  +++ JDBCDefinedFinderCommand.java     2001/07/10 23:04:37     1.14.2.2
  @@ -28,7 +28,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Michel de Groot</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vinay Menon</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>danch (Dan Christopherson</a>
  - * @version $Revision: 1.14.2.1 $
  + * @version $Revision: 1.14.2.2 $
    */
   public class JDBCDefinedFinderCommand extends JDBCFinderCommand
   {
  @@ -53,20 +53,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
  @@ -246,7 +246,16 @@
         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