You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/10/09 07:07:50 UTC

[isis] branch v2 updated: ISIS-2158: move jdo query specific api to 'jdo-common'

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new dfb0429  ISIS-2158: move jdo query specific api to 'jdo-common'
dfb0429 is described below

commit dfb0429f790ba6e1455c776b2642d1326fb44a93
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Oct 9 09:07:39 2019 +0200

    ISIS-2158: move jdo query specific api to 'jdo-common'
---
 .../jdo/persistence/IsisPersistenceSessionJdo.java | 29 ++++++++++++++++++++-
 .../persistence/IsisPersistenceSessionJdoBase.java |  3 +--
 ...sistenceQueryFindUsingApplibQueryProcessor.java |  3 ++-
 .../system/persistence/PersistenceSession.java     | 30 ----------------------
 4 files changed, 31 insertions(+), 34 deletions(-)

diff --git a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdo.java b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdo.java
index 26a311e..20dedb4 100644
--- a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdo.java
+++ b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdo.java
@@ -26,6 +26,33 @@ import org.apache.isis.runtime.system.persistence.PersistenceSession;
  */
 public interface IsisPersistenceSessionJdo extends PersistenceSession {
 
-    
+    /**
+     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newNamedQuery(cls, queryName)}
+     * @param cls
+     * @param queryName
+     * @return
+     */
+    default <T> javax.jdo.Query newJdoNamedQuery(Class<T> cls, String queryName){
+        return getJdoPersistenceManager().newNamedQuery(cls, queryName);
+    }
+
+    /**
+     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newQuery(cls, queryName)}
+     * @param cls
+     * @return
+     */
+    default <T> javax.jdo.Query newJdoQuery(Class<T> cls){
+        return getJdoPersistenceManager().newQuery(cls);
+    }
+
+    /**
+     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newQuery(cls, filter)}
+     * @param cls
+     * @param filter
+     * @return
+     */
+    default <T> javax.jdo.Query newJdoQuery(Class<T> cls, String filter){
+        return getJdoPersistenceManager().newQuery(cls, filter);
+    }
     
 }
diff --git a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdoBase.java b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdoBase.java
index 5ccb909..c55bc60 100644
--- a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdoBase.java
+++ b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPersistenceSessionJdoBase.java
@@ -40,7 +40,6 @@ import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.runtime.persistence.FixturesInstalledStateHolder;
 import org.apache.isis.runtime.system.context.IsisContext;
 import org.apache.isis.runtime.system.persistence.PersistenceQueryFactory;
-import org.apache.isis.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.runtime.system.transaction.ChangedObjectsServiceInternal;
 import org.apache.isis.security.authentication.AuthenticationSession;
 
@@ -48,7 +47,7 @@ import lombok.Getter;
 import lombok.extern.log4j.Log4j2;
 
 @Log4j2
-abstract class IsisPersistenceSessionJdoBase implements PersistenceSession {
+abstract class IsisPersistenceSessionJdoBase implements IsisPersistenceSessionJdo {
 
     // -- FIELDS
 
diff --git a/core/plugins/jdo/datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java b/core/plugins/jdo/datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
index 9027f44..27b1515 100644
--- a/core/plugins/jdo/datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
+++ b/core/plugins/jdo/datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/queries/PersistenceQueryFindUsingApplibQueryProcessor.java
@@ -31,6 +31,7 @@ import org.apache.isis.jdo.jdosupport.IsisJdoSupport_v3_2;
 import org.apache.isis.jdo.persistence.PersistenceSession5;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.services.container.query.QueryCardinality;
+import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
 import org.apache.isis.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.runtime.persistence.query.PersistenceQueryFindUsingApplibQueryDefault;
@@ -147,7 +148,7 @@ public class PersistenceQueryFindUsingApplibQueryProcessor extends PersistenceQu
         final Map<String, Object> argumentsByParameterName = _Maps.newHashMap();
         for (final String parameterName : argumentAdaptersByParameterName.keySet()) {
             final ObjectAdapter argumentAdapter = argumentAdaptersByParameterName.get(parameterName);
-            final Object argument = ObjectAdapter.Util.unwrapPojo(argumentAdapter);
+            final Object argument = ManagedObject.unwrapPojo(argumentAdapter);
             argumentsByParameterName.put(parameterName, argument);
         }
         return argumentsByParameterName;
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSession.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSession.java
index 26a6495..f5be0b4 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSession.java
@@ -107,42 +107,12 @@ SessionScopedComponent {
     Map<RootOid, Object> fetchPersistentPojos(List<RootOid> rootOids);
 
 
-
-
     // -------------------------------------------------------------------------------------------------
     // -- JDO SPECIFIC
     // -------------------------------------------------------------------------------------------------
 
     PersistenceManager getJdoPersistenceManager();
 
-    /**
-     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newNamedQuery(cls, queryName)}
-     * @param cls
-     * @param queryName
-     * @return
-     */
-    default <T> javax.jdo.Query newJdoNamedQuery(Class<T> cls, String queryName){
-        return getJdoPersistenceManager().newNamedQuery(cls, queryName);
-    }
-
-    /**
-     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newQuery(cls, queryName)}
-     * @param cls
-     * @return
-     */
-    default <T> javax.jdo.Query newJdoQuery(Class<T> cls){
-        return getJdoPersistenceManager().newQuery(cls);
-    }
-
-    /**
-     * Not type safe. For type-safe queries use <br/><br/> {@code pm().newQuery(cls, filter)}
-     * @param cls
-     * @param filter
-     * @return
-     */
-    default <T> javax.jdo.Query newJdoQuery(Class<T> cls, String filter){
-        return getJdoPersistenceManager().newQuery(cls, filter);
-    }
 
     // -------------------------------------------------------------------------------------------------
     // -- API NOT STABLE YET - SUBJECT TO REFACTORING