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:08 UTC
[44/50] isis git commit: ISIS-1194: passing PersistenceSession
through to PersistenceQueryProcessor implementations
ISIS-1194: passing PersistenceSession through to PersistenceQueryProcessor implementations
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/75dc6301
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/75dc6301
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/75dc6301
Branch: refs/heads/master
Commit: 75dc6301aef2e8a11a1f7be8c44548a0feb195bc
Parents: be852c9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 17:00:45 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 17:00:45 2015 +0100
----------------------------------------------------------------------
.../system/persistence/PersistenceSession.java | 8 ++---
...rsistenceQueryFindAllInstancesProcessor.java | 10 +++---
...tenceQueryFindUsingApplibQueryProcessor.java | 12 +++++---
.../PersistenceQueryProcessorAbstract.java | 32 +++++++-------------
4 files changed, 28 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/75dc6301/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 80795e7..112bc3f 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
@@ -239,12 +239,12 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
persistenceQueryProcessorByClass.put(
PersistenceQueryFindAllInstances.class,
- new PersistenceQueryFindAllInstancesProcessor(
- persistenceManager, frameworkSynchronizer));
+ new PersistenceQueryFindAllInstancesProcessor(this,
+ persistenceManager));
persistenceQueryProcessorByClass.put(
PersistenceQueryFindUsingApplibQueryDefault.class,
- new PersistenceQueryFindUsingApplibQueryProcessor(
- persistenceManager, frameworkSynchronizer));
+ new PersistenceQueryFindUsingApplibQueryProcessor(this,
+ persistenceManager));
initServices();
http://git-wip-us.apache.org/repos/asf/isis/blob/75dc6301/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindAllInstancesProcessor.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindAllInstancesProcessor.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindAllInstancesProcessor.java
index 1b59683..bf10feb 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindAllInstancesProcessor.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindAllInstancesProcessor.java
@@ -29,14 +29,16 @@ import org.slf4j.LoggerFactory;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindAllInstances;
-import org.apache.isis.core.runtime.system.persistence.FrameworkSynchronizer;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
public class PersistenceQueryFindAllInstancesProcessor extends PersistenceQueryProcessorAbstract<PersistenceQueryFindAllInstances> {
private static final Logger LOG = LoggerFactory.getLogger(PersistenceQueryFindAllInstancesProcessor.class);
- public PersistenceQueryFindAllInstancesProcessor(final PersistenceManager persistenceManager, final FrameworkSynchronizer frameworkSynchronizer) {
- super(persistenceManager);
+ public PersistenceQueryFindAllInstancesProcessor(
+ final PersistenceSession persistenceSession,
+ final PersistenceManager persistenceManager) {
+ super(persistenceSession, persistenceManager);
}
public List<ObjectAdapter> process(final PersistenceQueryFindAllInstances persistenceQuery) {
@@ -55,7 +57,7 @@ public class PersistenceQueryFindAllInstancesProcessor extends PersistenceQueryP
try {
final List<?> pojos = (List<?>) jdoQuery.execute();
- return loadAdapters(specification, pojos);
+ return loadAdapters(pojos);
} finally {
jdoQuery.closeAll();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/75dc6301/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
index afd04a6..65e7e1a 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
@@ -36,15 +36,17 @@ import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindUsingApplibQueryDefault;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.objectstore.jdo.datanucleus.metamodel.JdoPropertyUtils;
-import org.apache.isis.core.runtime.system.persistence.FrameworkSynchronizer;
public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQueryProcessorAbstract<PersistenceQueryFindUsingApplibQueryDefault> {
private static final Logger LOG = LoggerFactory.getLogger(PersistenceQueryFindUsingApplibQueryProcessor.class);
- public PersistenceQueryFindUsingApplibQueryProcessor(final PersistenceManager persistenceManager, final FrameworkSynchronizer frameworkSynchronizer) {
- super(persistenceManager);
+ public PersistenceQueryFindUsingApplibQueryProcessor(
+ final PersistenceSession persistenceSession,
+ final PersistenceManager persistenceManager) {
+ super(persistenceSession, persistenceManager);
}
public List<ObjectAdapter> process(final PersistenceQueryFindUsingApplibQueryDefault persistenceQuery) {
@@ -58,7 +60,7 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
results = getResults(persistenceQuery);
}
- return loadAdapters(objectSpec, results);
+ return loadAdapters(results);
}
// special case handling
@@ -99,7 +101,7 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
final QueryCardinality cardinality = persistenceQuery.getCardinality();
final ObjectSpecification objectSpec = persistenceQuery.getSpecification();
- final PersistenceManager persistenceManager = getPersistenceSession().getPersistenceManager();
+ final PersistenceManager persistenceManager = persistenceSession.getPersistenceManager();
final Class<?> cls = objectSpec.getCorrespondingClass();
final Query jdoQuery = persistenceManager.newNamedQuery(cls, queryName);
http://git-wip-us.apache.org/repos/asf/isis/blob/75dc6301/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryProcessorAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryProcessorAbstract.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryProcessorAbstract.java
index 05db979..f169a6b 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryProcessorAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/queries/PersistenceQueryProcessorAbstract.java
@@ -31,9 +31,6 @@ import org.datanucleus.enhancement.Persistable;
import org.apache.isis.core.commons.ensure.Assert;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.FrameworkSynchronizer.CalledFrom;
import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -42,9 +39,13 @@ import org.apache.isis.objectstore.jdo.datanucleus.persistence.IsisLifecycleList
public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQuery>
implements PersistenceQueryProcessor<T> {
+ final PersistenceSession persistenceSession;
private final PersistenceManager persistenceManager;
- protected PersistenceQueryProcessorAbstract(final PersistenceManager persistenceManager) {
+ protected PersistenceQueryProcessorAbstract(
+ final PersistenceSession persistenceSession,
+ final PersistenceManager persistenceManager) {
+ this.persistenceSession = persistenceSession;
this.persistenceManager = persistenceManager;
}
@@ -60,7 +61,8 @@ public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQue
protected PersistenceManagerFactory getPersistenceManagerFactory() {
return getPersistenceManager().getPersistenceManagerFactory();
}
-
+
+ // TODO: unused?
protected TypeMetadata getTypeMetadata(final String classFullName) {
return getPersistenceManagerFactory().getMetadata(classFullName);
}
@@ -70,8 +72,7 @@ public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQue
* {@link IsisLifecycleListener#postLoad(InstanceLifecycleEvent) {
* to be called.
*/
- protected List<ObjectAdapter> loadAdapters(
- final ObjectSpecification specification, final List<?> pojos) {
+ protected List<ObjectAdapter> loadAdapters(final List<?> pojos) {
final List<ObjectAdapter> adapters = Lists.newArrayList();
for (final Object pojo : pojos) {
// ought not to be necessary, however for some queries it seems that the
@@ -79,11 +80,11 @@ public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQue
ObjectAdapter adapter;
if(pojo instanceof Persistable) {
// an entity
- getPersistenceSession().postLoadProcessingFor((Persistable) pojo, CalledFrom.OS_QUERY);
- adapter = getAdapterManager().getAdapterFor(pojo);
+ persistenceSession.postLoadProcessingFor((Persistable) pojo, CalledFrom.OS_QUERY);
+ adapter = persistenceSession.getAdapterFor(pojo);
} else {
// a value type
- adapter = getAdapterManager().adapterFor(pojo);
+ adapter = persistenceSession.adapterFor(pojo);
}
Assert.assertNotNull(adapter);
adapters.add(adapter);
@@ -91,16 +92,5 @@ public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQue
return adapters;
}
- // /////////////////////////////////////////////////////////////
- // Dependencies (from context)
- // /////////////////////////////////////////////////////////////
-
- protected PersistenceSession getPersistenceSession() {
- return IsisContext.getPersistenceSession();
- }
-
- protected AdapterManager getAdapterManager() {
- return IsisContext.getPersistenceSession().getAdapterManager();
- }
}