User: vharcq  
  Date: 01/09/10 14:06:01

  Modified:    src/main/org/jboss/ejb/plugins/jaws/jdbc Tag: Branch_2_4
                        JDBCFindEntitiesCommand.java
  Log:
  Merge a patch from 3.0 that avoids error during deployment of ejb with only local 
home interfaces.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.10.2.1  +40 -6     
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
  retrieving revision 1.10.2.1
  diff -u -r1.10 -r1.10.2.1
  --- JDBCFindEntitiesCommand.java      2001/06/18 14:34:27     1.10
  +++ JDBCFindEntitiesCommand.java      2001/09/10 21:06:01     1.10.2.1
  @@ -33,7 +33,15 @@
    * @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 $
  + * @version $Revision: 1.10.2.1 $
  + *
  + *   <p><b>Revisions:</b>
  + *
  + *   <p><b>20010812 [EMAIL PROTECTED]:</b>
  + *   <ul>
  + *   <li> Make load of automated finder method work with local home interfaces
  + *   </ul>
  + *
    */
   public class JDBCFindEntitiesCommand implements JPMFindEntitiesCommand
   {
  @@ -99,24 +107,50 @@
         }
         
         // Make commands for any autogenerated finders required
  -      
  -      Method[] homeMethods = factory.getContainer().getHomeClass().getMethods();
  -      
  +      Method[] homeMethods;
  +      Method[] localHomeMethods;
  +      factory.getLog().debug("AutoGenerated finders  - Home="
  +         + factory.getContainer().getHomeClass()
  +         + " -- LocalHome=" + factory.getContainer().getLocalHomeClass());
  +      if (factory.getContainer().getHomeClass() != null)
  +      {
  +         homeMethods = factory.getContainer().getHomeClass().getMethods();
  +      }
  +      else homeMethods = new Method[0] ;
  +      if (factory.getContainer().getLocalHomeClass() != null)
  +      {
  +          localHomeMethods = 
factory.getContainer().getLocalHomeClass().getMethods();
  +      }
  +      else localHomeMethods = new Method[0] ;
  +      Method[] allHomeMethods = new Method[homeMethods.length + 
localHomeMethods.length];
  +
         for (int i = 0; i < homeMethods.length; i++)
         {
  -         Method m = homeMethods[i];
  +         allHomeMethods[i] = homeMethods[i];
  +      }
  +      for (int i = 0; i < localHomeMethods.length; i++)
  +      {
  +         allHomeMethods[homeMethods.length + i] = localHomeMethods[i];
  +      }
  +
  +      for (int i = 0; i < allHomeMethods.length; i++)
  +      {
  +
  +         Method m = allHomeMethods[i];
            String name = m.getName();
  -         
  +
            if (!knownFinderCommands.containsKey(name))
            {
               if (name.equals("findAll"))
               {
  +               factory.getLog().debug("Save AutoGenerated "+name+"  "+m);
                  FinderMetaData f = new FinderMetaData("findAll");
                  knownFinderCommands.put(name, factory.createFindAllCommand(f));
               } else if (name.startsWith("findBy")  && 
!name.equals("findByPrimaryKey"))
               {
                  try
                  {
  +                  factory.getLog().debug("Save AutoGenerated "+name+"  "+m);
                     FinderMetaData f = new FinderMetaData(name);
                     knownFinderCommands.put(name, factory.createFindByCommand(m, f));
                  } catch (IllegalArgumentException e)
  
  
  

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

Reply via email to