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