User: patriot1burke
  Date: 01/12/04 21:07:17

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata
                        JDBCTypeMappingMetaData.java
                        JDBCRelationMetaData.java
                        JDBCFunctionMappingMetaData.java
                        JDBCEntityMetaData.java
  Log:
  changed select-for-update to row-locking.  Also, row-locking now uses
  row-locking-template defined in type-mappings.  This way we can have
  different row-locking syntaxes between different DBs.
  
  Revision  Changes    Path
  1.9       +17 -1     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCTypeMappingMetaData.java
  
  Index: JDBCTypeMappingMetaData.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCTypeMappingMetaData.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JDBCTypeMappingMetaData.java      2001/11/26 03:12:27     1.8
  +++ JDBCTypeMappingMetaData.java      2001/12/05 05:07:17     1.9
  @@ -17,7 +17,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
    *   @author <a href="[EMAIL PROTECTED]">Sebastien Alborini</a>
  - *   @version $Revision: 1.8 $
  + *   @version $Revision: 1.9 $
    */
   public final class JDBCTypeMappingMetaData {
      
  @@ -34,6 +34,7 @@
      private final String aliasHeaderPrefix;
      private final String aliasHeaderSuffix;
      private final int aliasMaxLength;
  +   private JDBCFunctionMappingMetaData rowLocking = null;
   
      /**
       * Constructs a mapping with the data contained in the type-mapping xml element
  @@ -47,6 +48,12 @@
      
         // get the name of this type-mapping
         name = MetaData.getUniqueChildContent(element, "name");
  +
  +      String rowLockingSQL = MetaData.getUniqueChildContent(element, 
"row-locking-template");
  +      if (rowLockingSQL != null && !rowLockingSQL.trim().equals(""))
  +      {
  +         rowLocking = new JDBCFunctionMappingMetaData("row-locking", rowLockingSQL);
  +      }
         
         // get the mappings
         Iterator iterator = MetaData.getChildrenByTagName(element, "mapping");
  @@ -188,6 +195,15 @@
      
      public JDBCFunctionMappingMetaData getFunctionMapping(String name) {
         return (JDBCFunctionMappingMetaData)functionMappings.get(name.toLowerCase());
  +   }
  +   
  +
  +   /**
  +    * Returns rowLocking SQL template.
  +    */
  +   public JDBCFunctionMappingMetaData getRowLockingTemplate() 
  +   {
  +      return rowLocking;
      }
      
      private void addDefaultFunctionMapping() {
  
  
  
  1.9       +10 -10    
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCRelationMetaData.java
  
  Index: JDBCRelationMetaData.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCRelationMetaData.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JDBCRelationMetaData.java 2001/12/01 21:55:05     1.8
  +++ JDBCRelationMetaData.java 2001/12/05 05:07:17     1.9
  @@ -25,7 +25,7 @@
    * have set methods.
    *    
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.8 $
  + * @version $Revision: 1.9 $
    */
   public final class JDBCRelationMetaData {
      private final static int TABLE = 1;
  @@ -73,7 +73,7 @@
      private final boolean removeTable;
      
      /** should we use 'SELECT ... FOR UPDATE' syntax? */
  -   private final boolean selectForUpdate;
  +   private final boolean rowLocking;
      
      /** should the table have a primary key constraint? */
      private final boolean primaryKeyConstraint;
  @@ -114,7 +114,7 @@
         typeMapping = null;
         createTable = false;
         removeTable = false;
  -      selectForUpdate = false;
  +      rowLocking = false;
         primaryKeyConstraint = false;
         readOnly = false;
         readTimeOut = -1;      
  @@ -206,7 +206,7 @@
            tableName = defaultValues.getTableName();
            createTable = defaultValues.getCreateTable();
            removeTable = defaultValues.getRemoveTable();
  -         selectForUpdate = defaultValues.hasSelectForUpdate();
  +         rowLocking = defaultValues.hasRowLocking();
            primaryKeyConstraint = defaultValues.hasPrimaryKeyConstraint();
            readOnly = defaultValues.isReadOnly();
            readTimeOut = defaultValues.getReadTimeOut();
  @@ -285,12 +285,12 @@
   
         // select for update
         String sForUpString = MetaData.getOptionalChildContent(
  -            mappingElement, "select-for-update");
  +            mappingElement, "row-locking");
         if(sForUpString != null) {
  -         selectForUpdate = !isReadOnly() && 
  +         rowLocking = !isReadOnly() && 
                  (Boolean.valueOf(sForUpString).booleanValue());
         } else {
  -         selectForUpdate = defaultValues.hasSelectForUpdate();
  +         rowLocking = defaultValues.hasRowLocking();
         }
   
         // primary key constraint?  If not provided, keep default.
  @@ -536,10 +536,10 @@
      }
      
      /**
  -    * Should select queries use the for update clause.
  +    * Should select queries do row locking
       */
  -   public boolean hasSelectForUpdate() {
  -      return selectForUpdate;
  +   public boolean hasRowLocking() {
  +      return rowLocking;
      }
      
      private String createDefaultTableName() {
  
  
  
  1.4       +13 -3     
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCFunctionMappingMetaData.java
  
  Index: JDBCFunctionMappingMetaData.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCFunctionMappingMetaData.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JDBCFunctionMappingMetaData.java  2001/11/26 03:12:27     1.3
  +++ JDBCFunctionMappingMetaData.java  2001/12/05 05:07:17     1.4
  @@ -9,8 +9,8 @@
   
   public final class JDBCFunctionMappingMetaData {
      private final String functionName;
  -   private final String[] sqlChunks;
  -   private final int[] parameters;
  +   private String[] sqlChunks;
  +   private int[] parameters;
   
      public JDBCFunctionMappingMetaData(String functionName, String[] sqlChunks, 
int[] parameters) {
         this.functionName = functionName;
  @@ -22,7 +22,17 @@
         functionName = MetaData.getUniqueChildContent(element, "function-name");
         
         String sql = MetaData.getUniqueChildContent(element, "function-sql");
  -      
  +      initFromString(sql);
  +   }
  +   
  +   public JDBCFunctionMappingMetaData(String functionName, String sql) throws 
DeploymentException
  +   {
  +      this.functionName = functionName;
  +      initFromString(sql);
  +   }
  +
  +   protected void initFromString(String sql) throws DeploymentException
  +   {
         ArrayList chunkList = new ArrayList();      
         ArrayList parameterList = new ArrayList();      
         
  
  
  
  1.13      +11 -11    
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCEntityMetaData.java
  
  Index: JDBCEntityMetaData.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/metadata/JDBCEntityMetaData.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JDBCEntityMetaData.java   2001/11/26 03:12:27     1.12
  +++ JDBCEntityMetaData.java   2001/12/05 05:07:17     1.13
  @@ -27,7 +27,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
    * @author <a href="[EMAIL PROTECTED]">Sebastien Alborini</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dirk Zimmermann</a>
  - * @version $Revision: 1.12 $
  + * @version $Revision: 1.13 $
    */
   public final class JDBCEntityMetaData {
      /**
  @@ -103,7 +103,7 @@
      /**
       * Should we use 'SELECT ... FOR UPDATE' syntax when loading?
       */
  -   private final boolean selectForUpdate;
  +   private final boolean rowLocking;
      
      /**
       * Is this entity read-only?
  @@ -285,7 +285,7 @@
         typeMapping = null;
         createTable = false;
         removeTable = false;
  -      selectForUpdate = false;
  +      rowLocking = false;
         primaryKeyConstraint = false;
         readOnly = false;
         readTimeOut = -1;
  @@ -395,12 +395,12 @@
         }
   
         String sForUpStr = 
  -            MetaData.getOptionalChildContent(element, "select-for-update");
  +            MetaData.getOptionalChildContent(element, "row-locking");
         if(sForUpStr != null) {
  -         selectForUpdate = 
  +         rowLocking = 
                  !isReadOnly() && (Boolean.valueOf(sForUpStr).booleanValue());
         } else {
  -         selectForUpdate = defaultValues.hasSelectForUpdate();
  +         rowLocking = defaultValues.hasRowLocking();
         }
   
         // primary key constraint?  If not provided, keep default.
  @@ -775,13 +775,13 @@
      }
   
      /**
  -    * Gets the flag used to determine if the store manager should add a for
  -    * update clause when selecting data from the table
  -    * @return true if the store manager should add a for update  
  +    * Gets the flag used to determine if the store manager should do row locking
  +    * when loading entity beans
  +    * @return true if the store manager should add a row locking
       *       clause when selecting data from the table
       */
  -   public boolean hasSelectForUpdate() {
  -      return selectForUpdate;
  +   public boolean hasRowLocking() {
  +      return rowLocking;
      }
   
      /**
  
  
  

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

Reply via email to