You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2010/11/22 19:41:04 UTC

svn commit: r1037827 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java

Author: mikedd
Date: Mon Nov 22 18:41:03 2010
New Revision: 1037827

URL: http://svn.apache.org/viewvc?rev=1037827&view=rev
Log:
OPENJPA-1885: rename new method to persistInternal and some code formatting changes

Modified:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java?rev=1037827&r1=1037826&r2=1037827&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java Mon Nov 22 18:41:03 2010
@@ -2464,7 +2464,7 @@ public class BrokerImpl
                 try {
                 	if(obj == null)
                 		continue;
-                    persist0(obj, null, explicit, call);
+                    persistInternal(obj, null, explicit, call);
                 } catch (UserException ue) {
                     exceps = add(exceps, ue);
                 }
@@ -2537,7 +2537,7 @@ public class BrokerImpl
         try {
             assertWriteOperation();
 
-            return persist0(obj, id, explicit, call);
+            return persistInternal(obj, id, explicit, call);
         } catch (OpenJPAException ke) {
             throw ke;
         } catch (RuntimeException re) {
@@ -2547,89 +2547,96 @@ public class BrokerImpl
         }
     }
 
-	private OpenJPAStateManager persist0(Object obj, Object id,
-			boolean explicit, OpCallbacks call) {
-		StateManagerImpl sm = getStateManagerImpl(obj, true);
-		if (!_operating.add(obj))
-		    return sm;
-
-		int action = processArgument(OpCallbacks.OP_PERSIST, obj, sm, call);
-		if (action == OpCallbacks.ACT_NONE)
-		    return sm;
-
-		// ACT_CASCADE
-		if ((action & OpCallbacks.ACT_RUN) == 0) {
-		    if (sm != null)
-		        sm.cascadePersist(call);
-		    else
-		        cascadeTransient(OpCallbacks.OP_PERSIST, obj, call,
-		            "persist");
-		    return sm;
-		}
-
-		// ACT_RUN
-		PersistenceCapable pc;
-		if (sm != null) {
-		    if (sm.isDetached())
-		        throw new ObjectExistsException(_loc.get
-		            ("persist-detached", Exceptions.toString(obj))).
-		            setFailedObject(obj);
-
-		    if (!sm.isEmbedded()) {
-		        sm.persist();
-		        _cache.persist(sm);
-		        if ((action & OpCallbacks.ACT_CASCADE) != 0)
-		            sm.cascadePersist(call);
-		        return sm;
-		    }
-
-		    // an embedded field; notify the owner that the value has
-		    // changed by becoming independently persistent
-		    sm.getOwner().dirty(sm.getOwnerIndex());
-		    _cache.persist(sm);
-		    pc = sm.getPersistenceCapable();
-		} else {
-		    pc = assertPersistenceCapable(obj);
-		    if (pc.pcIsDetached() == Boolean.TRUE)
-		        throw new ObjectExistsException(_loc.get
-		            ("persist-detached", Exceptions.toString(obj))).
-		            setFailedObject(obj);
-		}
-
-		ClassMetaData meta = _repo.getMetaData(obj.getClass(), _loader, true);
-		fireLifecycleEvent(obj, null, meta, LifecycleEvent.BEFORE_PERSIST);
-
-		// create id for instance
-		if (id == null) {
-			int idType = meta.getIdentityType();
-		    if (idType == ClassMetaData.ID_APPLICATION)
-		        id = ApplicationIds.create(pc, meta);
-		    else if (idType == ClassMetaData.ID_UNKNOWN)
-		        throw new UserException(_loc.get("meta-unknownid", meta));
-		    else
-		        id = StateManagerId.newInstance(this);
-		}
-
-		// make sure we don't already have the instance cached
-		checkForDuplicateId(id, obj, meta);
-
-		// if had embedded sm, null it
-		if (sm != null)
-		    pc.pcReplaceStateManager(null);
-
-		// create new sm
-		sm = newStateManagerImpl(id, meta);
-		if ((_flags & FLAG_ACTIVE) != 0) {
-		    if (explicit)
-		        sm.initialize(pc, PCState.PNEW);
-		    else
-		        sm.initialize(pc, PCState.PNEWPROVISIONAL);
-		} else
-		    sm.initialize(pc, PCState.PNONTRANSNEW);
-		if ((action & OpCallbacks.ACT_CASCADE) != 0)
-		    sm.cascadePersist(call);
-		return sm;
-	}
+    private OpenJPAStateManager persistInternal(Object obj, Object id, boolean explicit, OpCallbacks call) {
+        StateManagerImpl sm = getStateManagerImpl(obj, true);
+        if (!_operating.add(obj)) {
+            return sm;
+        }
+
+        int action = processArgument(OpCallbacks.OP_PERSIST, obj, sm, call);
+        if (action == OpCallbacks.ACT_NONE) {
+            return sm;
+        }
+
+        // ACT_CASCADE
+        if ((action & OpCallbacks.ACT_RUN) == 0) {
+            if (sm != null) {
+                sm.cascadePersist(call);
+            } else {
+                cascadeTransient(OpCallbacks.OP_PERSIST, obj, call, "persist");
+            }
+            return sm;
+        }
+
+        // ACT_RUN
+        PersistenceCapable pc;
+        if (sm != null) {
+            if (sm.isDetached()) {
+                throw new ObjectExistsException(_loc.get("persist-detached", Exceptions.toString(obj)))
+                    .setFailedObject(obj);
+            }
+
+            if (!sm.isEmbedded()) {
+                sm.persist();
+                _cache.persist(sm);
+                if ((action & OpCallbacks.ACT_CASCADE) != 0) {
+                    sm.cascadePersist(call);
+                }
+                return sm;
+            }
+
+            // an embedded field; notify the owner that the value has
+            // changed by becoming independently persistent
+            sm.getOwner().dirty(sm.getOwnerIndex());
+            _cache.persist(sm);
+            pc = sm.getPersistenceCapable();
+        } else {
+            pc = assertPersistenceCapable(obj);
+            if (pc.pcIsDetached() == Boolean.TRUE) {
+                throw new ObjectExistsException(_loc.get("persist-detached", Exceptions.toString(obj)))
+                    .setFailedObject(obj);
+            }
+        }
+
+        ClassMetaData meta = _repo.getMetaData(obj.getClass(), _loader, true);
+        fireLifecycleEvent(obj, null, meta, LifecycleEvent.BEFORE_PERSIST);
+
+        // create id for instance
+        if (id == null) {
+            int idType = meta.getIdentityType();
+            if (idType == ClassMetaData.ID_APPLICATION) {
+                id = ApplicationIds.create(pc, meta);
+            } else if (idType == ClassMetaData.ID_UNKNOWN) {
+                throw new UserException(_loc.get("meta-unknownid", meta));
+            } else {
+                id = StateManagerId.newInstance(this);
+            }
+        }
+
+        // make sure we don't already have the instance cached
+        checkForDuplicateId(id, obj, meta);
+
+        // if had embedded sm, null it
+        if (sm != null) {
+            pc.pcReplaceStateManager(null);
+        }
+
+        // create new sm
+        sm = newStateManagerImpl(id, meta);
+        if ((_flags & FLAG_ACTIVE) != 0) {
+            if (explicit) {
+                sm.initialize(pc, PCState.PNEW);
+            } else {
+                sm.initialize(pc, PCState.PNEWPROVISIONAL);
+            }
+        } else {
+            sm.initialize(pc, PCState.PNONTRANSNEW);
+        }
+        if ((action & OpCallbacks.ACT_CASCADE) != 0) {
+            sm.cascadePersist(call);
+        }
+        return sm;
+    }
 
     /**
      * Temporarily manage the given instance in order to cascade the given