You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/09/10 18:12:31 UTC

[31/34] isis git commit: ISIS-1194: inlining preStoreProcessingFor from FrameworkSynchronizer to PersistenceSession

ISIS-1194: inlining preStoreProcessingFor from FrameworkSynchronizer to PersistenceSession


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/9a72f3aa
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/9a72f3aa
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/9a72f3aa

Branch: refs/heads/ISIS-1194
Commit: 9a72f3aabe1724abe15a143cb3e8ca3de6911b7e
Parents: 819dc94
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 16:51:41 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 16:51:41 2015 +0100

----------------------------------------------------------------------
 .../persistence/FrameworkSynchronizer.java      | 37 --------------------
 .../system/persistence/PersistenceSession.java  | 34 +++++++++++++++++-
 2 files changed, 33 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/9a72f3aa/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/FrameworkSynchronizer.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/FrameworkSynchronizer.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/FrameworkSynchronizer.java
index 99d0888..ec2ce96 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/FrameworkSynchronizer.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/FrameworkSynchronizer.java
@@ -35,9 +35,6 @@ import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
 import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 
 public class FrameworkSynchronizer {
 
@@ -138,40 +135,6 @@ public class FrameworkSynchronizer {
     }
 
 
-    /**
-     * Called either when an entity is initially persisted, or when an entity is updated; fires the appropriate
-     * lifecycle callback.
-     *
-     * <p>
-     * The implementation therefore uses Isis' {@link org.apache.isis.core.metamodel.adapter.oid.Oid#isTransient() oid}
-     * to determine which callback to fire.
-     */
-    public void preStoreProcessingFor(final Persistable pojo, final CalledFrom calledFrom) {
-        withLogging(pojo, new Runnable() {
-            @Override
-            public void run() {
-                final ObjectAdapter adapter = persistenceSession.getAdapterFor(pojo);
-                if(adapter == null) {
-                    // not expected.
-                    return;
-                }
-
-                final RootOid isisOid = (RootOid) adapter.getOid();
-                if (isisOid.isTransient()) {
-                    // persisting
-                    // previously this was performed in the DataNucleusSimplePersistAlgorithm.
-                    CallbackFacet.Util.callCallback(adapter, PersistingCallbackFacet.class);
-                } else {
-                    // updating
-
-                    // don't call here, already called in preDirty.
-
-                    // CallbackFacet.Util.callCallback(adapter, UpdatingCallbackFacet.class);
-                }
-
-            }
-        }, calledFrom);
-    }
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/9a72f3aa/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
index 599dce0..d458e7b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession.java
@@ -59,6 +59,7 @@ import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.CreatedCallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacet;
 import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacet;
@@ -1256,8 +1257,39 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
         frameworkSynchronizer.postLoadProcessingFor(pojo, calledFrom);
     }
 
+    /**
+     * Called either when an entity is initially persisted, or when an entity is updated; fires the appropriate
+     * lifecycle callback.
+     *
+     * <p>
+     * The implementation therefore uses Isis' {@link org.apache.isis.core.metamodel.adapter.oid.Oid#isTransient() oid}
+     * to determine which callback to fire.
+     */
     public void preStoreProcessingFor(final Persistable pojo, final FrameworkSynchronizer.CalledFrom calledFrom) {
-        frameworkSynchronizer.preStoreProcessingFor(pojo, calledFrom);
+        withLogging(pojo, new Runnable() {
+            @Override
+            public void run() {
+                final ObjectAdapter adapter = getAdapterFor(pojo);
+                if (adapter == null) {
+                    // not expected.
+                    return;
+                }
+
+                final RootOid isisOid = (RootOid) adapter.getOid();
+                if (isisOid.isTransient()) {
+                    // persisting
+                    // previously this was performed in the DataNucleusSimplePersistAlgorithm.
+                    CallbackFacet.Util.callCallback(adapter, PersistingCallbackFacet.class);
+                } else {
+                    // updating
+
+                    // don't call here, already called in preDirty.
+
+                    // CallbackFacet.Util.callCallback(adapter, UpdatingCallbackFacet.class);
+                }
+
+            }
+        }, calledFrom);
     }
 
     /**