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 14:07:19 UTC

[20/50] [abbrv] isis git commit: ISIS-1194: moved registeredServices and registerService/getOidForService from ObjectStore to PersistenceSession.

ISIS-1194: moved registeredServices and registerService/getOidForService from ObjectStore to PersistenceSession.


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

Branch: refs/heads/ISIS-1194
Commit: b3d83d3e4bb470edf355e0e01a6c6ab223133ed5
Parents: c2a6859
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 09:17:50 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 09:17:50 2015 +0100

----------------------------------------------------------------------
 .../runtime/system/persistence/ObjectStore.java | 21 --------------------
 .../system/persistence/PersistenceSession.java  | 21 +++++++++++++++++---
 2 files changed, 18 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b3d83d3e/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
index bf4e579..0e7dcdb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/ObjectStore.java
@@ -18,12 +18,8 @@
  */
 package org.apache.isis.core.runtime.system.persistence;
 
-import java.util.Map;
-
 import javax.jdo.PersistenceManager;
 
-import com.google.common.collect.Maps;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -32,9 +28,6 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.commons.debug.DebuggableWithTitle;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource;
 import org.apache.isis.core.runtime.runner.opts.OptionHandlerFixtureAbstract;
@@ -73,8 +66,6 @@ public class ObjectStore implements TransactionalResource, DebuggableWithTitle,
 
     private final DataNucleusApplicationComponents applicationComponents;
     
-    private final Map<ObjectSpecId, RootOid> registeredServices = Maps.newHashMap();
-
     private PersistenceManager persistenceManager;
 
     public ObjectStore(
@@ -190,18 +181,6 @@ public class ObjectStore implements TransactionalResource, DebuggableWithTitle,
     }
     //endregion
 
-    //region > registerServices, getOidForService
-    public void objectStoreRegisterService(RootOid rootOid) {
-        ensureOpened();
-        this.registeredServices.put(rootOid.getObjectSpecId(), rootOid);
-    }
-
-    public RootOid objectStoreGetOidForService(ObjectSpecification serviceSpec) {
-        ensureOpened();
-        return this.registeredServices.get(serviceSpec.getSpecId());
-    }
-
-    //endregion
 
     //region > helpers
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b3d83d3e/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 50b22e1..6bb67f9 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
@@ -129,6 +129,8 @@ public class PersistenceSession implements SessionScopedComponent, DebuggableWit
      */
     private final Map<Class<?>, PersistenceQueryProcessor<?>> persistenceQueryProcessorByClass = Maps.newHashMap();
 
+    private final Map<ObjectSpecId, RootOid> registeredServices = Maps.newHashMap();
+
 
     /**
      * Initialize the object store so that calls to this object store access
@@ -480,9 +482,22 @@ public class PersistenceSession implements SessionScopedComponent, DebuggableWit
      * Registers the specified service as having the specified OID.
      */
     protected void registerService(final RootOid rootOid) {
-        objectStore.objectStoreRegisterService(rootOid);
+        objectStoreRegisterService(rootOid);
     }
 
+    //region > registerServices, getOidForService
+    private void objectStoreRegisterService(RootOid rootOid) {
+        ensureOpened();
+        this.registeredServices.put(rootOid.getObjectSpecId(), rootOid);
+    }
+
+    private RootOid objectStoreGetOidForService(ObjectSpecification serviceSpec) {
+        ensureOpened();
+        return this.registeredServices.get(serviceSpec.getSpecId());
+    }
+
+    //endregion
+
     // REVIEW why does this get called multiple times when starting up
     public List<ObjectAdapter> getServices() {
         final List<Object> services = persistenceSessionFactory.getServicesInjector().getRegisteredServices();
@@ -505,7 +520,7 @@ public class PersistenceSession implements SessionScopedComponent, DebuggableWit
         final ObjectSpecId objectSpecId = serviceSpecification.getSpecId();
         RootOid oid = servicesByObjectType.get(objectSpecId);
         if (oid == null) {
-            oid = objectStore.objectStoreGetOidForService(serviceSpecification);
+            oid = objectStoreGetOidForService(serviceSpecification);
             servicesByObjectType.put(objectSpecId, oid);
         }
         return oid;
@@ -632,7 +647,7 @@ public class PersistenceSession implements SessionScopedComponent, DebuggableWit
 
     public Object loadPojo(final RootOid rootOid) {
 
-        Object result = null;
+        Object result;
         try {
             final Class<?> cls = clsOf(rootOid);
             final Object jdoObjectId = JdoObjectIdSerializer.toJdoObjectId(rootOid);