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);
}
/**