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
 
 }