User: dsundstrom
  Date: 01/11/02 10:26:59

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc/bridge
                        JDBCEntityBridge.java
  Log:
  Added code to track the creted state of beans.  This used to disallow setting
  a pk member field after create and to disallow adding a bean to a realtionship
  befor it has been created.
  
  Revision  Changes    Path
  1.11      +32 -7     
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.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JDBCEntityBridge.java     2001/11/01 22:36:30     1.10
  +++ JDBCEntityBridge.java     2001/11/02 18:26:59     1.11
  @@ -52,7 +52,7 @@
    *      One per cmp entity bean type.       
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Dain Sundstrom</a>
  - * @version $Revision: 1.10 $
  + * @version $Revision: 1.11 $
    */                            
   public class JDBCEntityBridge implements EntityBridge {
      protected JDBCEntityMetaData metadata;
  @@ -311,6 +311,14 @@
         }
      }
   
  +   public boolean isCreated(EntityEnterpriseContext ctx) {
  +      return getEntityState(ctx).isCreated();
  +   }
  +
  +   public void setCreated(EntityEnterpriseContext ctx) {
  +      getEntityState(ctx).isCreated = true;
  +   }
  +
      public void setClean(EntityEnterpriseContext ctx) {
         for(int i=0; i<cmpFields.length; i++) {
            cmpFields[i].setClean(ctx);
  @@ -389,12 +397,6 @@
         ctx.setPersistenceContext(null);
      }
   
  -   public CMPStoreManager.PersistenceContext getPersistenceContext(
  -         EntityEnterpriseContext ctx) {
  -
  -      return (CMPStoreManager.PersistenceContext)ctx.getPersistenceContext();
  -   }
  -
      // JDBC Specific Information
      
      public int setInstanceParameters(
  @@ -498,6 +500,29 @@
         for(int i=0; i<primaryKeyFields.length; i++) {
            Object fieldValue = primaryKeyFields[i].getPrimaryKeyValue(pk);
            primaryKeyFields[i].setInstanceValue(ctx, fieldValue);
  +      }
  +   }
  +
  +   private CMPStoreManager.PersistenceContext getPersistenceContext(
  +         EntityEnterpriseContext ctx) {
  +      return (CMPStoreManager.PersistenceContext)ctx.getPersistenceContext();
  +   }
  +      
  +   public EntityState getEntityState(EntityEnterpriseContext ctx) {
  +      Map state = getPersistenceContext(ctx).fieldState;
  +      EntityState entityState = (EntityState)state.get(this);
  +      if(entityState == null) {
  +         entityState = new EntityState();
  +         state.put(this, entityState);
  +      }
  +      return entityState;
  +   }
  +
  +   public static class EntityState {
  +      private boolean isCreated = false;
  +      
  +      public boolean isCreated() {
  +         return isCreated;
         }
      }
   }
  
  
  

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

Reply via email to