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);