You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by sk...@apache.org on 2006/09/27 08:46:16 UTC

svn commit: r450350 - in /incubator/openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ openjpa-kernel/src/main/java/org/apache/openjpa/kernel/

Author: skim
Date: Tue Sep 26 23:46:15 2006
New Revision: 450350

URL: http://svn.apache.org/viewvc?view=rev&rev=450350
Log:
boot provisional changes for now.  I think I'm missing a huge hole with hashing

Removed:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PNewProvisionalState.java
Modified:
    incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/EmbedFieldStrategy.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachStrategy.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateAttachStrategy.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedValueStateManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ObjectIdStateManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/OpenJPAStateManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PCState.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/VersionAttachStrategy.java

Modified: incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/EmbedFieldStrategy.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/EmbedFieldStrategy.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/EmbedFieldStrategy.java (original)
+++ incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/EmbedFieldStrategy.java Tue Sep 26 23:46:15 2006
@@ -627,10 +627,6 @@
             return isFlushed();
         }
 
-        public boolean isProvisional() {
-            return _owner.isProvisional();
-        }
-
         public BitSet getLoaded() {
             // consider everything loaded
             if (_full == null) {

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachManager.java Tue Sep 26 23:46:15 2006
@@ -94,7 +94,7 @@
 
         CallbackException excep = null;
         try {
-            return attach(pc, null, null, null, true);
+            return attach(pc, null, null, null);
         } catch (CallbackException ce) {
             excep = ce;
             return null; // won't be reached as the exceps will be rethrown
@@ -122,7 +122,7 @@
             int i = 0;
             for (Iterator itr = instances.iterator(); itr.hasNext(); i++) {
                 try {
-                    attached[i] = attach(itr.next(), null, null, null, true);
+                    attached[i] = attach(itr.next(), null, null, null);
                 } catch (OpenJPAException ke) {
                     // track exceptions and optimistic failed objects
                     if (opt && !(ke instanceof OptimisticException))
@@ -212,10 +212,9 @@
      * @param into the instance we're attaching into
      * @param owner state manager for <code>into</code>
      * @param ownerMeta the field we traversed to find <code>toAttach</code>
-     * @param explicit whether to make new instances explicitly persistent
      */
     Object attach(Object toAttach, PersistenceCapable into,
-        OpenJPAStateManager owner, ValueMetaData ownerMeta, boolean explicit) {
+        OpenJPAStateManager owner, ValueMetaData ownerMeta) {
         if (toAttach == null)
             return null;
 
@@ -234,7 +233,7 @@
             getMetaDataRepositoryInstance().getMetaData(toAttach.getClass(),
             _broker.getClassLoader(), true);
         return getStrategy(toAttach).attach(this, toAttach, meta, into,
-            owner, ownerMeta, explicit);
+            owner, ownerMeta);
     }
 
     /**

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachStrategy.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachStrategy.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachStrategy.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AttachStrategy.java Tue Sep 26 23:46:15 2006
@@ -55,11 +55,10 @@
      * @param into instance we're attaching into
      * @param owner state manager for <code>into</code>
      * @param ownerMeta field we traversed to find <code>toAttach</code>
-     * @param explicit whether to make new instances explicitly persistent
      */
     public abstract Object attach(AttachManager manager,
         Object toAttach, ClassMetaData meta, PersistenceCapable into,
-        OpenJPAStateManager owner, ValueMetaData ownerMeta, boolean explicit);
+        OpenJPAStateManager owner, ValueMetaData ownerMeta);
 
     /**
      * Return the identity of the given detached instance.
@@ -74,12 +73,10 @@
         int field);
 
     /**
-     * Return a PNew/PNewProvisional managed object for the given detached 
-     * instance.
+     * Return a PNew managed object for the given detached instance.
      */
     protected StateManagerImpl persist(AttachManager manager,
-        PersistenceCapable pc, ClassMetaData meta, Object appId, 
-        boolean explicit) {
+        PersistenceCapable pc, ClassMetaData meta, Object appId) {
         PersistenceCapable newInstance;
         if (!manager.getCopyNew())
             newInstance = pc;
@@ -89,7 +86,7 @@
             newInstance = pc.pcNewInstance(null, appId, false);
 
         return (StateManagerImpl) manager.getBroker().persist
-            (newInstance, appId, explicit, manager.getBehavior());
+            (newInstance, appId, manager.getBehavior());
     }
 
     /**
@@ -194,7 +191,7 @@
                             manager.getDetachedObjectId(frmpc))) {
                             intopc = null;
                         }
-                        frmpc = manager.attach(frmpc, intopc, sm, fmd, false);
+                        frmpc = manager.attach(frmpc, intopc, sm, fmd);
                     }
                     if (frmpc != topc)
                         sm.settingObjectField(into, i, topc, frmpc, set);
@@ -323,7 +320,7 @@
             if (vmd.getCascadeAttach() == ValueMetaData.CASCADE_NONE)
                 elem = getReference(manager, itr.next(), sm, vmd);
             else
-                elem = manager.attach(itr.next(), null, sm, vmd, false);
+                elem = manager.attach(itr.next(), null, sm, vmd);
             coll.add(elem);
         }
         return coll;
@@ -435,13 +432,13 @@
                 if (keymd.getCascadeAttach() == ValueMetaData.CASCADE_NONE)
                     key = getReference(manager, key, sm, keymd);
                 else
-                    key = manager.attach(key, null, sm, keymd, false);
+                    key = manager.attach(key, null, sm, keymd);
                 val = entry.getValue();
                 if (valmd.isDeclaredTypePC()) {
                     if (valmd.getCascadeAttach() == ValueMetaData.CASCADE_NONE)
                         val = getReference(manager, val, sm, valmd);
                     else
-                        val = manager.attach(val, null, sm, valmd, false);
+                        val = manager.attach(val, null, sm, valmd);
                 }
                 map.put(key, val);
             }
@@ -452,8 +449,7 @@
                 if (valmd.getCascadeAttach() == ValueMetaData.CASCADE_NONE)
                     val = getReference(manager, entry.getValue(), sm, valmd);
                 else
-                    val = manager.attach(entry.getValue(), null, sm, valmd, 
-                        false);
+                    val = manager.attach(entry.getValue(), null, sm, valmd);
                 entry.setValue(val);
             }
         }
@@ -483,7 +479,7 @@
                 if (vmd.getCascadeAttach() == ValueMetaData.CASCADE_NONE)
                     elem = getReference(manager, elem, sm, vmd);
                 else
-                    elem = manager.attach(elem, null, sm, vmd, false);
+                    elem = manager.attach(elem, null, sm, vmd);
             }
             diff = diff || !equals(elem, Array.get(toa, i), pc);
             Array.set(newa, i, elem);

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java Tue Sep 26 23:46:15 2006
@@ -2152,25 +2152,7 @@
     // Object lifecycle
     ////////////////////
 
-    public void persist(Object obj, OpCallbacks call) {
-        persist(obj, null, true, call);
-    }
-
-    public OpenJPAStateManager persist(Object obj, Object id,
-        OpCallbacks call) {
-        return persist(obj, id, true, call);
-    }
-
     public void persistAll(Collection objs, OpCallbacks call) {
-        persistAll(objs, true, call);
-    }
-
-    /**
-     * Persist the given objects.  Indicate whether this was an explicit persist
-     * (PNEW) or a provisonal persist (PNEWPROVISIONAL).
-     */
-    public void persistAll(Collection objs, boolean explicit, 
-        OpCallbacks call) {
         if (objs.isEmpty())
             return;
 
@@ -2181,7 +2163,7 @@
 
             for (Iterator itr = objs.iterator(); itr.hasNext();) {
                 try {
-                    persist(itr.next(), explicit, call);
+                    persist(itr.next(), call);
                 } catch (UserException ue) {
                     exceps = add(exceps, ue);
                 }
@@ -2230,20 +2212,11 @@
         throw err.setNestedThrowables(t).setFatal(fatal);
     }
 
-    /**
-     * Persist the given object.  Indicate whether this was an explicit persist
-     * (PNEW) or a provisonal persist (PNEWPROVISIONAL)
-     */
-    public void persist(Object obj, boolean explicit, OpCallbacks call) {
-        persist(obj, null, explicit, call);
+    public void persist(Object obj, OpCallbacks call) {
+        persist(obj, null, call);
     }
 
-    /**
-     * Persist the given object.  Indicate whether this was an explicit persist
-     * (PNEW) or a provisonal persist (PNEWPROVISIONAL).
-     * See {@link Broker} for details on this method.
-     */
-    public OpenJPAStateManager persist(Object obj, Object id, boolean explicit,
+    public OpenJPAStateManager persist(Object obj, Object id,
         OpCallbacks call) {
         if (obj == null)
             return null;
@@ -2326,12 +2299,9 @@
 
             // create new sm
             sm = new StateManagerImpl(id, meta, this);
-            if ((_flags & FLAG_ACTIVE) != 0) {
-                if (explicit)
-                    sm.initialize(pc, PCState.PNEW);
-                else
-                    sm.initialize(pc, PCState.PNEWPROVISIONAL);
-            } else
+            if ((_flags & FLAG_ACTIVE) != 0)
+                sm.initialize(pc, PCState.PNEW);
+            else
                 sm.initialize(pc, PCState.PNONTRANSNEW);
             if ((action & OpCallbacks.ACT_CASCADE) != 0)
                 sm.cascadePersist(call);

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateAttachStrategy.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateAttachStrategy.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateAttachStrategy.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateAttachStrategy.java Tue Sep 26 23:46:15 2006
@@ -70,7 +70,7 @@
 
     public Object attach(AttachManager manager, Object toAttach,
         ClassMetaData meta, PersistenceCapable into, OpenJPAStateManager owner,
-        ValueMetaData ownerMeta, boolean explicit) {
+        ValueMetaData ownerMeta) {
         BrokerImpl broker = manager.getBroker();
         PersistenceCapable pc = (PersistenceCapable) toAttach;
 
@@ -94,8 +94,7 @@
             sm = (StateManagerImpl) broker.embed(into, null, owner, ownerMeta);
             into = sm.getPersistenceCapable();
         } else if (state == null) {
-            sm = persist(manager, pc, meta, ApplicationIds.create(pc, meta),
-                explicit);
+            sm = persist(manager, pc, meta, ApplicationIds.create(pc, meta));
             into = sm.getPersistenceCapable();
         } else if (!embedded && into == null) {
             Object id = getDetachedObjectId(manager, pc);
@@ -118,7 +117,7 @@
                 // the transaction was rolled back; the danger is that
                 // the instance was made persistent, detached, committed,
                 // and then deleted, but this is an uncommon case
-                sm = persist(manager, pc, meta, id, explicit);
+                sm = persist(manager, pc, meta, id);
                 into = sm.getPersistenceCapable();
 
                 // nullify the state, since the new instance won't have one
@@ -145,7 +144,7 @@
                 // only attach fields in the FG of the detached instance; new
                 // instances get all their fields attached
                 if (fields == null || fields.get(i))
-                    attachField(manager, pc, sm, fmds[i], false);
+                    attachField(manager, pc, sm, fmds[i], true);
             }
         }
         finally {

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedStateManager.java Tue Sep 26 23:46:15 2006
@@ -87,7 +87,7 @@
 
     public Object attach(AttachManager manager, Object toAttach,
         ClassMetaData meta, PersistenceCapable into, OpenJPAStateManager owner,
-        ValueMetaData ownerMeta, boolean explicit) {
+        ValueMetaData ownerMeta) {
         BrokerImpl broker = manager.getBroker();
         StateManagerImpl sm = null;
         if (_embedded) {
@@ -225,8 +225,7 @@
                         PersistenceCapable toPC = null;
                         if (objval != null && fields[i].isEmbeddedPC())
                             toPC = (PersistenceCapable) objval;
-                        objval = manager.attach(objval, toPC, sm, fields[i],
-                            false);
+                        objval = manager.attach(objval, toPC, sm, fields[i]);
                     }
                     if (_dirty.get(i))
                         sm.settingObjectField(pc, i, (!loaded.get(i)) ? null
@@ -686,10 +685,6 @@
     }
 
     public boolean isFlushedDirty() {
-        throw new UnsupportedOperationException();
-    }
-
-    public boolean isProvisional() {
         throw new UnsupportedOperationException();
     }
 

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedValueStateManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedValueStateManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedValueStateManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DetachedValueStateManager.java Tue Sep 26 23:46:15 2006
@@ -101,10 +101,6 @@
         return false;
     }
 
-    public boolean isProvisional() {
-        return false;
-    }
-
     public BitSet getLoaded() {
         throw new UnsupportedOperationException();
     }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ObjectIdStateManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ObjectIdStateManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ObjectIdStateManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ObjectIdStateManager.java Tue Sep 26 23:46:15 2006
@@ -317,10 +317,6 @@
         return false;
     }
 
-    public boolean isProvisional() {
-        return false;
-    }
-
     public BitSet getLoaded() {
         throw new UnsupportedOperationException();
     }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/OpenJPAStateManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/OpenJPAStateManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/OpenJPAStateManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/OpenJPAStateManager.java Tue Sep 26 23:46:15 2006
@@ -121,11 +121,6 @@
     public boolean isFlushedDirty();
 
     /**
-     * Return whether this object is provisionally persistent.
-     */
-    public boolean isProvisional();
-
-    /**
      * Return a read-only mask of the indexes of all loaded fields.
      */
     public BitSet getLoaded();

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PCState.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PCState.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PCState.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/PCState.java Tue Sep 26 23:46:15 2006
@@ -63,11 +63,6 @@
     public static final PCState PNEWDELETED = new PNewDeletedState();
 
     /**
-     * Persistent-New-Provisional
-     */
-    public static final PCState PNEWPROVISIONAL = new PNewProvisionalState();
-
-    /**
      * Persistent-Nontransactinoal
      */
     public static final PCState PNONTRANS = new PNonTransState();
@@ -234,14 +229,6 @@
     }
 
     /**
-     * Return the state to transition to after making no longer provisional. 
-     * The context is not given because no actions should be taken.
-     */
-    PCState nonprovisional() {
-        return this;
-    }
-
-    /**
      * Perform any actions necesssary and return the proper lifecycle state
      * on a call to {@link StoreContext#nontransactional} with the given
      * instance. Returns the <code>this</code> pointer by default.
@@ -416,15 +403,6 @@
     }
 
     /**
-     * Return whether this is a state that will become transient
-     * at the end of the next transaction.
-     * Returns <code>false</code> by default.
-     */
-    boolean isProvisional() {
-        return false;
-    }
-
-    /**
      * Whether this state requires a version check when being flushed, 
      * assuming the system is configured for version checks.
      */
@@ -452,8 +430,6 @@
             return PDELETED;
         if (this instanceof PNewDeletedState)
             return PNEWDELETED;
-        if (this instanceof PNewProvisionalState)
-            return PNEWPROVISIONAL;
         if (this instanceof PNonTransState)
             return PNONTRANS;
         if (this instanceof PNonTransDirtyState)

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/SingleFieldManager.java Tue Sep 26 23:46:15 2006
@@ -250,22 +250,21 @@
             case JavaTypes.PC_UNTYPED:
                 if (!_broker.isDetachedNew() && _broker.isDetached(objval))
                     return; // allow but ignore
-                _broker.persist(objval, false, call);
+                _broker.persist(objval, call);
                 break;
             case JavaTypes.ARRAY:
-                _broker.persistAll(Arrays.asList((Object[]) objval), false, 
-                    call);
+                _broker.persistAll(Arrays.asList((Object[]) objval), call);
                 break;
             case JavaTypes.COLLECTION:
-                _broker.persistAll((Collection) objval, false, call);
+                _broker.persistAll((Collection) objval, call);
                 break;
             case JavaTypes.MAP:
                 if (fmd.getKey().getCascadePersist()
                     == ValueMetaData.CASCADE_IMMEDIATE)
-                    _broker.persistAll(((Map) objval).keySet(), false, call);
+                    _broker.persistAll(((Map) objval).keySet(), call);
                 if (fmd.getElement().getCascadePersist()
                     == ValueMetaData.CASCADE_IMMEDIATE)
-                    _broker.persistAll(((Map) objval).values(), false, call);
+                    _broker.persistAll(((Map) objval).values(), call);
                 break;
         }
     }
@@ -468,9 +467,7 @@
             return false;
 
         // perform pers-by-reach and dependent refs
-        boolean ret = false;
-        if (!_sm.isProvisional())
-            ret = preFlush(fmd, call);
+        boolean ret = preFlush(fmd, call);
 
         // manage inverses
         InverseManager manager = _broker.getInverseManager();
@@ -743,7 +740,7 @@
                         Exceptions.toString(_sm.getManagedInstance()))).
                     setFailedObject(obj);
         } else
-            sm = _broker.persist(obj, null, true, call);
+            sm = _broker.persist(obj, null, call);
 
         if (sm != null) {
             // if deleted and not managed inverse, die
@@ -753,7 +750,6 @@
                     Exceptions.toString(obj), vmd,
                     Exceptions.toString(_sm.getManagedInstance()))).
                     setFailedObject(obj);
-            ((StateManagerImpl) sm).nonprovisional();
             ((StateManagerImpl) sm).setDereferencedDependent(false, true);
         }
     }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java Tue Sep 26 23:46:15 2006
@@ -996,16 +996,6 @@
     /**
      * Delegates to the current state.
      *
-     * @see PCState#nonprovisional
-     * @see Broker#nonprovisional
-     */
-    void nonprovisional() {
-        setPCState(_state.nonprovisional());
-    }
-
-    /**
-     * Delegates to the current state.
-     *
      * @see PCState#release
      * @see Broker#release
      */
@@ -1260,10 +1250,6 @@
 
     public boolean isPendingTransactional() {
         return _state.isPendingTransactional();
-    }
-
-    public boolean isProvisional() {
-        return _state.isProvisional();
     }
 
     public boolean isPersistent() {

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/VersionAttachStrategy.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/VersionAttachStrategy.java?view=diff&rev=450350&r1=450349&r2=450350
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/VersionAttachStrategy.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/VersionAttachStrategy.java Tue Sep 26 23:46:15 2006
@@ -59,7 +59,7 @@
 
     public Object attach(AttachManager manager, Object toAttach,
         ClassMetaData meta, PersistenceCapable into, OpenJPAStateManager owner,
-        ValueMetaData ownerMeta, boolean explicit) {
+        ValueMetaData ownerMeta) {
         BrokerImpl broker = manager.getBroker();
         PersistenceCapable pc = (PersistenceCapable) toAttach;
 
@@ -82,8 +82,7 @@
             sm = (StateManagerImpl) broker.embed(into, null, owner, ownerMeta);
             into = sm.getPersistenceCapable();
         } else if (isNew) {
-            sm = persist(manager, pc, meta, ApplicationIds.create(pc, meta),
-                explicit);
+            sm = persist(manager, pc, meta, ApplicationIds.create(pc, meta));
             into = sm.getPersistenceCapable();
         } else if (!embedded && into == null) {
             Object id = getDetachedObjectId(manager, toAttach);
@@ -236,8 +235,8 @@
         PersistenceCapable intoPC = (into == null) ? null
             : into.getPersistenceCapable();
         if (vmd.isEmbedded())
-            return manager.attach(pc, intoPC, sm, vmd, false);
-        return manager.attach(pc, intoPC, null, null, false);
+            return manager.attach(pc, intoPC, sm, vmd);
+        return manager.attach(pc, intoPC, null, null);
     }
 
     /**