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