User: dsundstrom
  Date: 02/04/10 08:18:45

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge
                        JDBCCMRFieldBridge.java JDBCEntityBridge.java
  Log:
  Fixed bug [ 533686 ] JDBCStartCommand.tableExists() Oracle.
  
  Table names are now passed through SQLUtil.fixTableName(...).  Currently,
  this only fixes the case based on the DatabaseMetaData, but in the future
  this is the place where the length will be fixed and reserved words will
  be detected.
  
  Revision  Changes    Path
  1.27      +37 -2     
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.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- JDBCCMRFieldBridge.java   12 Mar 2002 22:25:50 -0000      1.26
  +++ JDBCCMRFieldBridge.java   10 Apr 2002 15:18:44 -0000      1.27
  @@ -7,7 +7,7 @@
   package org.jboss.ejb.plugins.cmp.jdbc.bridge;
   
   import java.lang.reflect.Method;
  -import java.sql.Connection;
  +import javax.sql.DataSource;
   import java.sql.PreparedStatement;
   import java.sql.ResultSet;
   import java.sql.SQLException;
  @@ -36,6 +36,7 @@
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCContext;
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCType;
  +import org.jboss.ejb.plugins.cmp.jdbc.SQLUtil;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCReadAheadMetaData;
   import org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData;
  @@ -55,7 +56,7 @@
    *      One for each role that entity has.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.26 $
  + * @version $Revision: 1.27 $
    */                            
   public class JDBCCMRFieldBridge implements JDBCFieldBridge, CMRFieldBridge {
      // ------ Invocation messages ------
  @@ -111,6 +112,16 @@
      private JDBCRelationshipRoleMetaData metadata;
      
      /**
  +    * That data source used to acess the relation table if relevent.
  +    */
  +   private final DataSource dataSource;
  +
  +   /**
  +    * That the relation table name if relevent.
  +    */
  +   private final String tableName;
  +
  +   /**
       * Does this cmr field have foreign keys.
       */
      private boolean hasForeignKey;
  @@ -199,6 +210,16 @@
         }
         this.log = Logger.getLogger(categoryName);
   
  +      // Get the datasource
  +      dataSource = metadata.getRelationMetaData().getDataSource();
  +
  +      // Fix table name
  +      //
  +      // This code doesn't work here...  The problem each side will generate
  +      // the table name and this will only work for simple generation.
  +      tableName = SQLUtil.fixTableName(
  +            metadata.getRelationMetaData().getDefaultTableName(),
  +            dataSource);
   
         //
         // Set handles to the related entity's container, cache, 
  @@ -379,6 +400,20 @@
         return metadata.getCMRFieldName();
      }
      
  +   /**
  +    * Gets the name of the relation table if relevent.
  +    */
  +   public String getTableName() {
  +      return tableName;
  +   }
  +   
  +   /**
  +    * Gets the datasource of the relation table if relevent.
  +    */
  +   public DataSource getDataSource() {
  +      return dataSource;
  +   }
  +
      /**
       * Gets the read ahead meta data.
       */
  
  
  
  1.24      +10 -3     
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.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- JDBCEntityBridge.java     24 Mar 2002 21:50:44 -0000      1.23
  +++ JDBCEntityBridge.java     10 Apr 2002 15:18:44 -0000      1.24
  @@ -28,6 +28,7 @@
   
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCContext;
   import org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager;
  +import org.jboss.ejb.plugins.cmp.jdbc.SQLUtil;
   
   import org.jboss.ejb.plugins.cmp.bridge.EntityBridge;
   import org.jboss.ejb.plugins.cmp.bridge.EntityBridgeInvocationHandler;
  @@ -53,13 +54,15 @@
    *      One per cmp entity bean type.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.23 $
  + * @version $Revision: 1.24 $
    */                            
   public class JDBCEntityBridge implements EntityBridge {
      private JDBCEntityMetaData metadata;
      private JDBCStoreManager manager;
   
  -   private DataSource dataSource;
  +   private final DataSource dataSource;
  +
  +   private final String tableName;
   
      /** is the table assumed to exist */
      private boolean tableExists;
  @@ -97,6 +100,10 @@
                  metadata.getDataSourceName(), e);
         }
   
  +      tableName = SQLUtil.fixTableName(
  +            metadata.getDefaultTableName(),
  +            dataSource);
  +
         // CMP fields
         loadCMPFields(metadata);
   
  @@ -336,7 +343,7 @@
      }
   
      public String getTableName() {
  -      return metadata.getTableName();
  +      return tableName;
      }
   
      public Class getPrimaryKeyClass() {
  
  
  

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

Reply via email to