User: danch   
  Date: 01/10/28 16:03:06

  Modified:    src/main/org/jboss/ejb/plugins/jaws/jdbc Tag: Branch_2_4
                        JDBCDefinedFinderCommand.java
                        JDBCFindEntitiesCommand.java
  Log:
  Fixed bug with empty query strings. This also fixes issues with order being ignored 
for findAll. Odd upshot is that you can make 'findAll' not be a true findAll.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.5  +5 -2      
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.4
  retrieving revision 1.14.2.5
  diff -u -r1.14.2.4 -r1.14.2.5
  --- JDBCDefinedFinderCommand.java     2001/07/14 21:43:24     1.14.2.4
  +++ JDBCDefinedFinderCommand.java     2001/10/29 00:03:06     1.14.2.5
  @@ -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.4 $
  + * @version $Revision: 1.14.2.5 $
    */
   public class JDBCDefinedFinderCommand extends JDBCFinderCommand
   {
  @@ -110,7 +110,10 @@
            if (lcQuery.startsWith("where"))
               whereClause = query;
            else
  -            whereClause = "where "+query;
  +            if (query.trim().length() != 0)
  +               whereClause = "where "+query;
  +            else
  +               whereClause = "";
         }
   
   
  
  
  
  1.10.2.2  +20 -24    
jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCFindEntitiesCommand.java
  
  Index: JDBCFindEntitiesCommand.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jaws/jdbc/JDBCFindEntitiesCommand.java,v
  retrieving revision 1.10.2.1
  retrieving revision 1.10.2.2
  diff -u -r1.10.2.1 -r1.10.2.2
  --- JDBCFindEntitiesCommand.java      2001/09/10 21:06:01     1.10.2.1
  +++ JDBCFindEntitiesCommand.java      2001/10/29 00:03:06     1.10.2.2
  @@ -33,7 +33,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Joe Shevland</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Justin Forder</a>
  - * @version $Revision: 1.10.2.1 $
  + * @version $Revision: 1.10.2.2 $
    *
    *   <p><b>Revisions:</b>
    *
  @@ -46,27 +46,27 @@
   public class JDBCFindEntitiesCommand implements JPMFindEntitiesCommand
   {
      // Attributes ----------------------------------------------------
  -   
  +
      private JDBCCommandFactory factory;
      private HashMap knownFinderCommands = new HashMap();
  -   
  +
      // Constructors --------------------------------------------------
  -   
  +
      public JDBCFindEntitiesCommand(JDBCCommandFactory factory)
      {
         this.factory = factory;
  -      
  +
         // If finder method uses custom implementation, then it is used. This 
overrides
         // defined and automatic finders.
         Class ejbClass = null;
         try {
  -               ejbClass = 
  +               ejbClass =
                factory.getContainer()
                       .getClassLoader()
                       .loadClass(factory.getMetaData().getEntity().getEjbClass());
   
              Method[] customMethods = ejbClass.getMethods();
  -           
  +
              for (int i = 0; i < customMethods.length; i++)
              {
                 Method m = customMethods[i];
  @@ -87,25 +87,21 @@
          }
   
         // Make commands for the defined finders
  -      
  +
         Iterator definedFinders = factory.getMetaData().getFinders();
         while(definedFinders.hasNext())
         {
            FinderMetaData f = (FinderMetaData)definedFinders.next();
  -         
  +
            if ( !knownFinderCommands.containsKey(f.getName()) )
            {
               JPMFindEntitiesCommand finderCommand = null;
  -            if (f.getName().equals("findAll")) {
  -               finderCommand = factory.createFindAllCommand(f);
  -            } else {
  -               finderCommand = factory.createDefinedFinderCommand(f);
  -            }
  -               
  +            finderCommand = factory.createDefinedFinderCommand(f);
  +
               knownFinderCommands.put(f.getName(), finderCommand);
            }
         }
  -      
  +
         // Make commands for any autogenerated finders required
         Method[] homeMethods;
         Method[] localHomeMethods;
  @@ -163,26 +159,26 @@
         }
   
      }
  -   
  +
      // JPMFindEntitiesCommand implementation -------------------------
  -   
  +
      public FinderResults execute(Method finderMethod,
                                Object[] args,
                                EntityEnterpriseContext ctx)
         throws RemoteException, FinderException
      {
         String finderName = finderMethod.getName();
  -      
  +
         JPMFindEntitiesCommand finderCommand = null;
  -      
  -      finderCommand = 
  +
  +      finderCommand =
            (JPMFindEntitiesCommand)knownFinderCommands.get(finderName);
  -      
  +
         // If we found a finder command, delegate to it,
         // otherwise return an empty collection.
  -      
  +
         // JF: Shouldn't tolerate the "not found" case!
  -      
  +
         return (finderCommand != null) ?
            finderCommand.execute(finderMethod, args, ctx) : new FinderResults(new 
ArrayList(),null,null,null);
      }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to