User: dsundstrom
  Date: 01/08/18 09:00:53

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc
                        JDBCCommandFactory.java
                        JDBCFindEntitiesCommand.java JDBCStoreManager.java
  Log:
  Added support for EJBQL finders.
  
  Revision  Changes    Path
  1.4       +7 -1      
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCCommandFactory.java
  
  Index: JDBCCommandFactory.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCCommandFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JDBCCommandFactory.java   2001/08/03 17:15:46     1.3
  +++ JDBCCommandFactory.java   2001/08/18 16:00:53     1.4
  @@ -43,7 +43,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Justin Forder</a>
    * @author <a href="[EMAIL PROTECTED]">danch (Dan Christopherson</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public class JDBCCommandFactory implements CommandFactory
   {
  @@ -92,6 +92,12 @@
                throws Exception
      {
         return new JDBCDefinedFinderCommand(manager, q);
  +   }
  +   
  +   public FindEntitiesCommand createEJBQLFinderCommand(JDBCQueryMetaData q) 
  +             throws Exception
  +   {
  +      return new JDBCEJBQLFinderCommand(manager, q);
      }
      
      public FindEntitiesCommand createFindByCommand(JDBCQueryMetaData q)
  
  
  
  1.6       +14 -4     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindEntitiesCommand.java
  
  Index: JDBCFindEntitiesCommand.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCFindEntitiesCommand.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JDBCFindEntitiesCommand.java      2001/08/03 17:15:46     1.5
  +++ JDBCFindEntitiesCommand.java      2001/08/18 16:00:53     1.6
  @@ -23,6 +23,8 @@
   import org.jboss.ejb.plugins.cmp.FindEntitiesCommand;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCAutomaticQueryMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
  +import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCDeclaredQueryMetaData;
  +import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQlQueryMetaData;
   import org.jboss.ejb.plugins.cmp.bmp.CustomFindByEntitiesCommand;
   import org.jboss.util.FinderResults;
   
  @@ -36,17 +38,21 @@
    * @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.5 $
  + * @version $Revision: 1.6 $
    */
   public class JDBCFindEntitiesCommand implements FindEntitiesCommand {
        // Attributes ----------------------------------------------------
  -     private Map knownFinderCommands;
  +     private final Map knownFinderCommands = new HashMap();
  +     private final JDBCStoreManager manager;
        
        // Constructors --------------------------------------------------
        
        public JDBCFindEntitiesCommand(JDBCStoreManager manager) {
  +             this.manager = manager;
  +     }
  +     
  +     public void start() {
                JDBCCommandFactory factory = manager.getCommandFactory();              
 
  -             knownFinderCommands = new HashMap();
                
                //
                // Custom finders - Overrides defined and automatic finders.
  @@ -77,7 +83,11 @@
                                JDBCQueryMetaData q = 
(JDBCQueryMetaData)definedFinders.next();
   
                                if(!knownFinderCommands.containsKey(q.getMethod()) ) {
  -                                     knownFinderCommands.put(q.getMethod(), 
factory.createDefinedFinderCommand(q));
  +                                     if(q instanceof JDBCDeclaredQueryMetaData) {
  +                                             knownFinderCommands.put(q.getMethod(), 
factory.createDefinedFinderCommand(q));
  +                                     } else if(q instanceof JDBCQlQueryMetaData) {
  +                                             knownFinderCommands.put(q.getMethod(), 
factory.createEJBQLFinderCommand(q));
  +                                     }
                                }
                        }
                } catch (Exception e) {
  
  
  
  1.7       +7 -1      
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java
  
  Index: JDBCStoreManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JDBCStoreManager.java     2001/08/03 17:15:46     1.6
  +++ JDBCStoreManager.java     2001/08/18 16:00:53     1.7
  @@ -44,7 +44,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
    * @see org.jboss.ejb.EntityPersistenceStore
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */                            
   public class JDBCStoreManager extends CMPStoreManager {
        protected DataSource dataSource;
  @@ -88,6 +88,12 @@
                insertRelationsCommand = 
getCommandFactory().createInsertRelationsCommand();
        }
        
  +   public void start() throws Exception {
  +      super.start();
  +             JDBCFindEntitiesCommand find = 
(JDBCFindEntitiesCommand)findEntitiesCommand;
  +             find.start();
  +   }
  +
        public JDBCEntityBridge getEntityBridge() {
                return entityBridge;
        }
  
  
  

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

Reply via email to