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/11 00:09:10 UTC
[46/50] isis git commit: ISIS-1194: inlined ensureRootObject from
FrameworkSynchronizer to PersistenceSession.
ISIS-1194: inlined ensureRootObject from FrameworkSynchronizer to PersistenceSession.
... also deleted unused methods in FrameworkSynchronizer.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1c2c6256
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1c2c6256
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1c2c6256
Branch: refs/heads/master
Commit: 1c2c6256bde9112de1bbfe1d544037185e2acbff
Parents: 4616a37
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 17:15:04 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 17:15:04 2015 +0100
----------------------------------------------------------------------
.../persistence/FrameworkSynchronizer.java | 78 --------------------
.../system/persistence/PersistenceSession.java | 12 ++-
2 files changed, 9 insertions(+), 81 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/1c2c6256/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 026796f..33027f4 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
@@ -18,23 +18,10 @@
*/
package org.apache.isis.core.runtime.system.persistence;
-import java.text.MessageFormat;
-import java.util.concurrent.Callable;
-
-import org.datanucleus.enhancement.Persistable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager.ConcurrencyChecking;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-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;
public class FrameworkSynchronizer {
@@ -73,69 +60,4 @@ public class FrameworkSynchronizer {
- // /////////////////////////////////////////////////////////
- // Helpers
- // /////////////////////////////////////////////////////////
-
- private <T> T withLogging(Persistable pojo, Callable<T> runnable, CalledFrom calledFrom) {
- if (LOG.isDebugEnabled()) {
- LOG.debug(logString(calledFrom, LoggingLocation.ENTRY, pojo));
- }
- try {
- return runnable.call();
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- if (LOG.isDebugEnabled()) {
- LOG.debug(logString(calledFrom, LoggingLocation.EXIT, pojo));
- }
- }
- }
-
- private void withLogging(Persistable pojo, final Runnable runnable, CalledFrom calledFrom) {
- withLogging(pojo, new Callable<Void>() {
-
- @Override
- public Void call() throws Exception {
- runnable.run();
- return null;
- }
-
- }, calledFrom);
- }
-
- private String logString(CalledFrom calledFrom, LoggingLocation location, Persistable pojo) {
- final ObjectAdapter adapter = persistenceSession.getAdapterFor(pojo);
- // initial spaces just to look better in log when wrapped by IsisLifecycleListener...
- return calledFrom.name() + " " + location.prefix + " oid=" + (adapter !=null? adapter.getOid(): "(null)") + " ,pojo " + pojo;
- }
-
-
- // /////////////////////////////////////////////////////////
- // More Helpers...
- // /////////////////////////////////////////////////////////
-
-
- // make sure the entity is known to Isis and is a root
- void ensureRootObject(final Persistable pojo) {
- final Oid oid = persistenceSession.adapterFor(pojo).getOid();
- if (!(oid instanceof RootOid)) {
- throw new IsisException(MessageFormat.format("Not a RootOid: oid={0}, for {1}", oid, pojo));
- }
- }
-
- private Version getVersionIfAny(final Persistable pojo) {
- return Utils.getVersionIfAny(pojo, authenticationSession);
- }
-
- @SuppressWarnings("unused")
- private void ensureObjectNotLoaded(final Persistable pojo) {
- final ObjectAdapter adapter = persistenceSession.getAdapterFor(pojo);
- if(adapter != null) {
- final Oid oid = adapter.getOid();
- throw new IsisException(MessageFormat.format("Object is already mapped in Isis: oid={0}, for {1}", oid, pojo));
- }
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/1c2c6256/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 b093812..19096f3 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
@@ -94,7 +94,6 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
import org.apache.isis.core.runtime.system.transaction.TransactionalClosure;
import org.apache.isis.core.runtime.system.transaction.TransactionalClosureWithReturn;
-import org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleListener;
import org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand;
import org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusDeleteObjectCommand;
import org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor;
@@ -1488,10 +1487,17 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
return calledFrom.name() + " " + location.prefix + " oid=" + (adapter !=null? adapter.getOid(): "(null)") + " ,pojo " + pojo;
}
-
+ /**
+ * makes sure the entity is known to Isis and is a root
+ * @param pojo
+ */
public void ensureRootObject(final Persistable pojo) {
- frameworkSynchronizer.ensureRootObject(pojo);
+ final Oid oid = adapterFor(pojo).getOid();
+ if (!(oid instanceof RootOid)) {
+ throw new IsisException(MessageFormat.format("Not a RootOid: oid={0}, for {1}", oid, pojo));
+ }
}
+
//endregion
}