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:09 UTC
[45/50] isis git commit: ISIS-1194: law of demeter for
PersistenceQueryProcessor impls and JDO PersistenceManager ... moved to
PersistenceSession
ISIS-1194: law of demeter for PersistenceQueryProcessor impls and JDO PersistenceManager ... moved to PersistenceSession
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/4616a373
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/4616a373
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/4616a373
Branch: refs/heads/master
Commit: 4616a3739db4e30a7cc9f746dae14e2cbfd18877
Parents: 75dc630
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Sep 10 17:11:49 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Sep 10 17:11:49 2015 +0100
----------------------------------------------------------------------
.../system/persistence/PersistenceSession.java | 20 ++++++++++++----
.../persistence/IsisLifecycleListener.java | 5 +---
...rsistenceQueryFindAllInstancesProcessor.java | 9 +++-----
...tenceQueryFindUsingApplibQueryProcessor.java | 15 +++++-------
.../PersistenceQueryProcessorAbstract.java | 24 ++------------------
5 files changed, 27 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/4616a373/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 112bc3f..b093812 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
@@ -234,17 +234,15 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
persistenceManager = applicationComponents.getPersistenceManagerFactory().getPersistenceManager();
- final IsisLifecycleListener isisLifecycleListener = new IsisLifecycleListener(this, frameworkSynchronizer);
+ final IsisLifecycleListener2 isisLifecycleListener = new IsisLifecycleListener2(this);
persistenceManager.addInstanceLifecycleListener(isisLifecycleListener, (Class[])null);
persistenceQueryProcessorByClass.put(
PersistenceQueryFindAllInstances.class,
- new PersistenceQueryFindAllInstancesProcessor(this,
- persistenceManager));
+ new PersistenceQueryFindAllInstancesProcessor(this));
persistenceQueryProcessorByClass.put(
PersistenceQueryFindUsingApplibQueryDefault.class,
- new PersistenceQueryFindUsingApplibQueryProcessor(this,
- persistenceManager));
+ new PersistenceQueryFindUsingApplibQueryProcessor(this));
initServices();
@@ -1175,6 +1173,18 @@ public class PersistenceSession implements TransactionalResource, SessionScopedC
public Object getJdoObjectId(Object pojo) {
return persistenceManager.getObjectId(pojo);
}
+
+ public javax.jdo.Query newJdoQuery(Class<?> cls) {
+ return persistenceManager.newQuery(cls);
+ }
+
+ public javax.jdo.Query newJdoNamedQuery (Class<?> cls, String queryName) {
+ return persistenceManager.newNamedQuery(cls, queryName);
+ }
+
+ public javax.jdo.Query newJdoQuery (Class<?> cls, String filter) {
+ return persistenceManager.newQuery(cls, filter);
+ }
// endregion
//region > AdapterManager delegate methods
http://git-wip-us.apache.org/repos/asf/isis/blob/4616a373/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java
index e25ecf5..3d71527 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java
@@ -21,7 +21,6 @@ package org.apache.isis.objectstore.jdo.datanucleus.persistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.isis.core.runtime.system.persistence.FrameworkSynchronizer;
import org.apache.isis.core.runtime.system.persistence.IsisLifecycleListener2;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
@@ -33,9 +32,7 @@ public class IsisLifecycleListener extends IsisLifecycleListener2 {
public static final Logger LOG = LoggerFactory.getLogger(IsisLifecycleListener.class);
- public IsisLifecycleListener(
- final PersistenceSession persistenceSession,
- final FrameworkSynchronizer synchronizer) {
+ public IsisLifecycleListener(final PersistenceSession persistenceSession) {
super(persistenceSession);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/4616a373/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 bf10feb..c9830e6 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
@@ -20,7 +20,6 @@ package org.apache.isis.objectstore.jdo.datanucleus.persistence.queries;
import java.util.List;
-import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import org.slf4j.Logger;
@@ -35,10 +34,8 @@ public class PersistenceQueryFindAllInstancesProcessor extends PersistenceQueryP
private static final Logger LOG = LoggerFactory.getLogger(PersistenceQueryFindAllInstancesProcessor.class);
- public PersistenceQueryFindAllInstancesProcessor(
- final PersistenceSession persistenceSession,
- final PersistenceManager persistenceManager) {
- super(persistenceSession, persistenceManager);
+ public PersistenceQueryFindAllInstancesProcessor(final PersistenceSession persistenceSession) {
+ super(persistenceSession);
}
public List<ObjectAdapter> process(final PersistenceQueryFindAllInstances persistenceQuery) {
@@ -46,7 +43,7 @@ public class PersistenceQueryFindAllInstancesProcessor extends PersistenceQueryP
final ObjectSpecification specification = persistenceQuery.getSpecification();
Class<?> cls = specification.getCorrespondingClass();
- final Query jdoQuery = getPersistenceManager().newQuery(cls);
+ final Query jdoQuery = persistenceSession.newJdoQuery(cls);
// http://www.datanucleus.org/servlet/jira/browse/NUCCORE-1103
jdoQuery.addExtension("datanucleus.multivaluedFetch", "none");
http://git-wip-us.apache.org/repos/asf/isis/blob/4616a373/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 65e7e1a..d5a65b7 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
@@ -22,7 +22,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import com.google.common.collect.Lists;
@@ -43,10 +42,8 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
private static final Logger LOG = LoggerFactory.getLogger(PersistenceQueryFindUsingApplibQueryProcessor.class);
- public PersistenceQueryFindUsingApplibQueryProcessor(
- final PersistenceSession persistenceSession,
- final PersistenceManager persistenceManager) {
- super(persistenceSession, persistenceManager);
+ public PersistenceQueryFindUsingApplibQueryProcessor(final PersistenceSession persistenceSession) {
+ super(persistenceSession);
}
public List<ObjectAdapter> process(final PersistenceQueryFindUsingApplibQueryDefault persistenceQuery) {
@@ -77,7 +74,7 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
final OneToOneAssociation pkOtoa = JdoPropertyUtils.getPrimaryKeyPropertyFor(objectSpec);
final String pkOtoaId = pkOtoa.getId();
final String filter = pkOtoaId + "==" + map.get(pkOtoaId);
- final Query jdoQuery = getPersistenceManager().newQuery(cls, filter);
+ final Query jdoQuery = persistenceSession.newJdoQuery(cls, filter);
// http://www.datanucleus.org/servlet/jira/browse/NUCCORE-1103
jdoQuery.addExtension("datanucleus.multivaluedFetch", "none");
@@ -97,13 +94,13 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
private List<?> getResults(final PersistenceQueryFindUsingApplibQueryDefault persistenceQuery) {
final String queryName = persistenceQuery.getQueryName();
- final Map<String, Object> argumentsByParameterName = unwrap(persistenceQuery.getArgumentsAdaptersByParameterName());
+ final Map<String, Object> argumentsByParameterName = unwrap(
+ persistenceQuery.getArgumentsAdaptersByParameterName());
final QueryCardinality cardinality = persistenceQuery.getCardinality();
final ObjectSpecification objectSpec = persistenceQuery.getSpecification();
- final PersistenceManager persistenceManager = persistenceSession.getPersistenceManager();
final Class<?> cls = objectSpec.getCorrespondingClass();
- final Query jdoQuery = persistenceManager.newNamedQuery(cls, queryName);
+ final Query jdoQuery = persistenceSession.newJdoNamedQuery(cls, queryName);
// http://www.datanucleus.org/servlet/jira/browse/NUCCORE-1103
jdoQuery.addExtension("datanucleus.multivaluedFetch", "none");
http://git-wip-us.apache.org/repos/asf/isis/blob/4616a373/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 f169a6b..c144e11 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
@@ -20,10 +20,7 @@ package org.apache.isis.objectstore.jdo.datanucleus.persistence.queries;
import java.util.List;
-import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
import javax.jdo.listener.InstanceLifecycleEvent;
-import javax.jdo.metadata.TypeMetadata;
import com.google.common.collect.Lists;
@@ -40,33 +37,16 @@ public abstract class PersistenceQueryProcessorAbstract<T extends PersistenceQue
implements PersistenceQueryProcessor<T> {
final PersistenceSession persistenceSession;
- private final PersistenceManager persistenceManager;
- protected PersistenceQueryProcessorAbstract(
- final PersistenceSession persistenceSession,
- final PersistenceManager persistenceManager) {
+ protected PersistenceQueryProcessorAbstract(final PersistenceSession persistenceSession) {
this.persistenceSession = persistenceSession;
- this.persistenceManager = persistenceManager;
}
- protected PersistenceManager getPersistenceManager() {
- return persistenceManager;
- }
-
-
+
// /////////////////////////////////////////////////////////////
// helpers for subclasses
// /////////////////////////////////////////////////////////////
- protected PersistenceManagerFactory getPersistenceManagerFactory() {
- return getPersistenceManager().getPersistenceManagerFactory();
- }
-
- // TODO: unused?
- protected TypeMetadata getTypeMetadata(final String classFullName) {
- return getPersistenceManagerFactory().getMetadata(classFullName);
- }
-
/**
* Traversing the provided list causes (or should cause) the
* {@link IsisLifecycleListener#postLoad(InstanceLifecycleEvent) {