User: dsundstrom
  Date: 01/11/28 03:32:55

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge
                        JDBCCMRFieldBridge.java JDBCEntityBridge.java
                        JDBCSelectorBridge.java
  Log:
  Major reorganization of code.
  
  Fixed bean instance proxy creation. Major speed improvement.
  
  Remove most of the lame factorization.
  
  Structured code to reflect the cmp 2.0 view of entities.
  
  Cleaned up relation-table create/delete code.
  
  Revision  Changes    Path
  1.15      +17 -11    
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCCMRFieldBridge.java
  
  Index: JDBCCMRFieldBridge.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCCMRFieldBridge.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JDBCCMRFieldBridge.java   2001/11/26 03:12:26     1.14
  +++ JDBCCMRFieldBridge.java   2001/11/28 11:32:55     1.15
  @@ -7,6 +7,8 @@
   package org.jboss.ejb.plugins.cmp.jdbc.bridge;
   
   import java.lang.reflect.Method;
  +import java.sql.Connection;
  +import java.sql.SQLException;
   import java.util.Collection;
   import java.util.HashSet;
   import java.util.Iterator;
  @@ -28,13 +30,15 @@
   import org.jboss.ejb.plugins.cmp.bridge.CMRFieldBridge;
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData;
  +import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData;
   import org.jboss.logging.Logger;
   import org.jboss.security.SecurityAssociation;
   
   /**
  - * JDBCCMRFieldBridge a bean relationship. This class only supports relationships
  - * between entities managed by a JDBCStoreManager in the same application.
  + * JDBCCMRFieldBridge a bean relationship. This class only supports
  + * relationships between entities managed by a JDBCStoreManager in the same
  + * application.
    *
    * Life-cycle:
    *      Tied to the EntityBridge.
  @@ -43,7 +47,7 @@
    *      One for each role that entity has.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.14 $
  + * @version $Revision: 1.15 $
    */                            
   public class JDBCCMRFieldBridge implements CMRFieldBridge {
      // ------ Invocation messages ------
  @@ -165,6 +169,8 @@
         this.manager = manager;
         this.metadata = metadata;
         
  +
  +      //  Creat the log
         String categoryName = this.getClass().getName() + 
               "." + 
               manager.getMetaData().getName() +
  @@ -177,9 +183,9 @@
               "-" +
               metadata.getRelatedRole().getCMRFieldName();
         }
  -
         this.log = Logger.getLogger(categoryName);
   
  +
         //
         // Set handles to the related entity's container, cache, 
         // manager, and invoker
  @@ -344,6 +350,13 @@
      }
   
      /**
  +    * Gets the relation metadata.
  +    */
  +   public JDBCRelationMetaData getRelationMetaData() {
  +      return metadata.getRelationMetaData();
  +   }
  +
  +   /**
       * Gets the name of this field.
       */
      public String getFieldName() {
  @@ -386,13 +399,6 @@
         return foreignKeyFields;
      }
      
  -   /**
  -    * Gets the name of the relation table.
  -    */
  -   public String getRelationTableName() {
  -      return metadata.getRelationMetaData().getTableName();
  -   }
  -      
      /**
       * The related entity's cmr field for this relationship.
       */
  
  
  
  1.14      +11 -6     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCEntityBridge.java
  
  Index: JDBCEntityBridge.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCEntityBridge.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JDBCEntityBridge.java     2001/11/26 03:12:26     1.13
  +++ JDBCEntityBridge.java     2001/11/28 11:32:55     1.14
  @@ -34,7 +34,6 @@
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData;
  -import org.jboss.logging.Logger;
   import org.jboss.proxy.Proxies;
   import org.jboss.proxy.InvocationHandler;
   
  @@ -50,7 +49,7 @@
    *      One per cmp entity bean type.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */                            
   public class JDBCEntityBridge implements EntityBridge {
      protected JDBCEntityMetaData metadata;
  @@ -69,22 +68,24 @@
      protected JDBCCMPFieldBridge[] eagerLoadFields;
      protected ArrayList lazyLoadGroups;
      
  -   protected Logger log;
  -
      public JDBCEntityBridge(
            JDBCEntityMetaData metadata, 
  -         Logger log,
            JDBCStoreManager manager) throws DeploymentException {
   
         this.metadata = metadata;                  
  -      this.log = log;
         this.manager = manager;
               
  +      // CMP fields
         loadCMPFields(metadata);
  +
  +      // eager/load groups
         loadEagerLoadFields(metadata);
         loadLazyLoadGroups(metadata);
         
  +      // CMR fields
         loadCMRFields(metadata);
  +
  +      // ejbSelect methods
         loadSelectors(metadata);
      }
   
  @@ -227,6 +228,10 @@
         return metadata;
      }
      
  +   public String getTableName() {
  +      return metadata.getTableName();
  +   }
  +
      public Class getPrimaryKeyClass() {
         return metadata.getPrimaryKeyClass();
      }
  
  
  
  1.7       +5 -2      
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCSelectorBridge.java
  
  Index: JDBCSelectorBridge.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge/JDBCSelectorBridge.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JDBCSelectorBridge.java   2001/11/24 22:31:10     1.6
  +++ JDBCSelectorBridge.java   2001/11/28 11:32:55     1.7
  @@ -17,7 +17,7 @@
    *      One for each entity bean ejbSelect method.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */                            
   import java.lang.reflect.Method;
   import java.util.ArrayList;
  @@ -28,6 +28,7 @@
   import javax.ejb.FinderException;
   import javax.ejb.ObjectNotFoundException;
   import org.jboss.ejb.plugins.cmp.bridge.SelectorBridge;
  +import org.jboss.ejb.plugins.cmp.jdbc.JDBCQueryCommand;
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCQueryMetaData;
   
  @@ -58,7 +59,9 @@
      public Object execute(Object[] args) throws FinderException {
         Collection retVal = null;
         try {
  -         retVal = manager.findEntities(getMethod(), args, null);
  +         JDBCQueryCommand query = 
  +               manager.getQueryManager().getQueryCommand(getMethod());
  +         retVal = query.execute(getMethod(), args, null);
         } catch(FinderException e) {
            throw e;
         } catch(EJBException e) {
  
  
  

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

Reply via email to