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 2020/12/22 09:58:11 UTC

[isis] branch master updated: ISIS-2033: housekeeping

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 668e274  ISIS-2033: housekeeping
668e274 is described below

commit 668e27467d63996c42670fd018efd831972601cc
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Dec 22 10:57:51 2020 +0100

    ISIS-2033: housekeeping
---
 .../IsisModuleJdoProviderDatanucleus.java          | 12 ++++
 .../jdo/integration/IsisModuleJdoIntegration.java  | 12 ----
 .../jdo/lightweight/IsisModuleJdoLightweight.java  | 58 ++++++++++++++++++
 .../jdo/spring/IsisModuleJdoSpring.java            | 68 ----------------------
 .../conf/Configuration_usingJdoAndShiro.java       |  8 +--
 5 files changed, 72 insertions(+), 86 deletions(-)

diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoProviderDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoProviderDatanucleus.java
index 7f6fe5f..14d11c1 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoProviderDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoProviderDatanucleus.java
@@ -18,6 +18,11 @@
  */
 package org.apache.isis.persistence.jdo.datanucleus;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
@@ -42,4 +47,11 @@ import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJd
 })
 public class IsisModuleJdoProviderDatanucleus {
 
+    // reserved for datanucleus' own config props
+    @ConfigurationProperties(prefix = "isis.persistence.jdo-datanucleus.impl")
+    @Bean("dn-settings")
+    public Map<String, String> getAsMap() {
+        return new HashMap<>();
+    }
+    
 }
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/IsisModuleJdoIntegration.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/IsisModuleJdoIntegration.java
index 3c90cc6..bdd9efe 100644
--- a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/IsisModuleJdoIntegration.java
+++ b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/IsisModuleJdoIntegration.java
@@ -18,11 +18,6 @@
  */
 package org.apache.isis.persistence.jdo.integration;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
@@ -67,11 +62,4 @@ import org.apache.isis.persistence.jdo.metamodel.IsisModuleJdoMetamodel;
 })
 public class IsisModuleJdoIntegration {
     
-    // reserved for datanucleus' own config props
-    @ConfigurationProperties(prefix = "isis.persistence.jdo-datanucleus.impl")
-    @Bean("dn-settings")
-    public Map<String, String> getAsMap() {
-        return new HashMap<>();
-    }
-    
 }
diff --git a/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/IsisModuleJdoLightweight.java b/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/IsisModuleJdoLightweight.java
index 49c5ecf..ec8eb16 100644
--- a/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/IsisModuleJdoLightweight.java
+++ b/persistence/jdo/lightweight/src/main/java/org/apache/isis/persistence/jdo/lightweight/IsisModuleJdoLightweight.java
@@ -18,16 +18,32 @@
  */
 package org.apache.isis.persistence.jdo.lightweight;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.inject.Named;
+
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.Primary;
 
+import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
 import org.apache.isis.core.runtime.IsisModuleCoreRuntime;
 import org.apache.isis.persistence.jdo.applib.IsisModulePersistenceJdoApplib;
 import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoProviderDatanucleus;
 import org.apache.isis.persistence.jdo.lightweight.metamodel.JdoLightweightProgrammingModel;
 import org.apache.isis.persistence.jdo.lightweight.services.LightweightJdoSupport;
 import org.apache.isis.persistence.jdo.metamodel.IsisModuleJdoMetamodel;
+import org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
 import org.apache.isis.persistence.jdo.spring.IsisModuleJdoSpring;
+import org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
+import org.apache.isis.persistence.jdo.spring.integration.LocalPersistenceManagerFactoryBean;
+import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
+
+import lombok.val;
 
 @Configuration
 @Import({
@@ -47,5 +63,47 @@ import org.apache.isis.persistence.jdo.spring.IsisModuleJdoSpring;
 })
 public class IsisModuleJdoLightweight {
     
+    /**
+     * {@link TransactionAwarePersistenceManagerFactoryProxy} was retired by the Spring Framework, recommended usage is still online [1].
+     * Sources have been recovered from [2].
+     * @see [1] https://docs.spring.io/spring-framework/docs/3.0.0.RC2/reference/html/ch13s04.html
+     * @see [2] https://github.com/spring-projects/spring-framework/tree/2b3445df8134e2b0c4e4a4c4136cbaf9d58b7fc4/spring-orm/src/main/java/org/springframework/orm/jdo
+     */
+    @Bean @Named("transaction-aware-pmf-proxy")
+    public TransactionAwarePersistenceManagerFactoryProxy getTransactionAwarePersistenceManagerFactoryProxy(
+            final LocalPersistenceManagerFactoryBean lpmfBean,
+            final IsisBeanTypeRegistry beanTypeRegistry,
+            final @Named("dn-settings") Map<String, String> dnSettings,
+            final List<JdoEntityDiscoveryListener> jdoEntityDiscoveryListeners) {
+        
+        val pmf = lpmfBean.getObject();
+        
+        _NullSafe.stream(jdoEntityDiscoveryListeners)
+        .forEach(listener->{
+            listener.onEntitiesDiscovered(pmf, beanTypeRegistry.getEntityTypesJdo(), dnSettings);    
+        });
+        
+        val tapmfProxy = new TransactionAwarePersistenceManagerFactoryProxy();
+        tapmfProxy.setTargetPersistenceManagerFactory(pmf);
+        tapmfProxy.setAllowCreate(true);
+        return tapmfProxy;
+    }
+    
+    @Bean 
+    public LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(
+            final @Named("dn-settings") Map<String, String> dnSettings) {
+        
+        val jdoPropertyMap = new HashMap<String, Object>();
+        dnSettings.forEach(jdoPropertyMap::put);
+        
+        val lpmfBean = new LocalPersistenceManagerFactoryBean();
+        lpmfBean.setJdoPropertyMap(jdoPropertyMap);
+        return lpmfBean; 
+    }
+
+    @Bean @Primary
+    public JdoTransactionManager getJdoTransactionManager(TransactionAwarePersistenceManagerFactoryProxy tapmfProxy) {
+        return new JdoTransactionManager(tapmfProxy.getPersistenceManagerFactory());
+    }
     
 }
diff --git a/persistence/jdo/spring/src/main/java/org/apache/isis/persistence/jdo/spring/IsisModuleJdoSpring.java b/persistence/jdo/spring/src/main/java/org/apache/isis/persistence/jdo/spring/IsisModuleJdoSpring.java
index 88a21d2..d27de53 100644
--- a/persistence/jdo/spring/src/main/java/org/apache/isis/persistence/jdo/spring/IsisModuleJdoSpring.java
+++ b/persistence/jdo/spring/src/main/java/org/apache/isis/persistence/jdo/spring/IsisModuleJdoSpring.java
@@ -18,77 +18,9 @@
  */
 package org.apache.isis.persistence.jdo.spring;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Named;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
-import org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
-import org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
-import org.apache.isis.persistence.jdo.spring.integration.LocalPersistenceManagerFactoryBean;
-import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
-
-import lombok.val;
 
 @Configuration
 public class IsisModuleJdoSpring {
-
-    //TODO[2033] prefix 'isis.persistence.jdo-datanucleus.impl' is (for) legacy
-    @ConfigurationProperties(prefix = "isis.persistence.jdo-datanucleus.impl")
-    @Bean("dn-settings")
-    public Map<String, String> dnSettings() {
-        return new HashMap<>();
-    }
-    
-    /**
-     * {@link TransactionAwarePersistenceManagerFactoryProxy} was retired by the Spring Framework, recommended usage is still online [1].
-     * Sources have been recovered from [2].
-     * @see [1] https://docs.spring.io/spring-framework/docs/3.0.0.RC2/reference/html/ch13s04.html
-     * @see [2] https://github.com/spring-projects/spring-framework/tree/2b3445df8134e2b0c4e4a4c4136cbaf9d58b7fc4/spring-orm/src/main/java/org/springframework/orm/jdo
-     */
-    @Bean @Named("transaction-aware-pmf-proxy")
-    public TransactionAwarePersistenceManagerFactoryProxy getTransactionAwarePersistenceManagerFactoryProxy(
-            final LocalPersistenceManagerFactoryBean lpmfBean,
-            final IsisBeanTypeRegistry beanTypeRegistry,
-            final @Named("dn-settings") Map<String, String> dnSettings,
-            final List<JdoEntityDiscoveryListener> jdoEntityDiscoveryListeners) {
-        
-        val pmf = lpmfBean.getObject();
-        
-        _NullSafe.stream(jdoEntityDiscoveryListeners)
-        .forEach(listener->{
-            listener.onEntitiesDiscovered(pmf, beanTypeRegistry.getEntityTypesJdo(), dnSettings);    
-        });
-        
-        val tapmfProxy = new TransactionAwarePersistenceManagerFactoryProxy();
-        tapmfProxy.setTargetPersistenceManagerFactory(pmf);
-        tapmfProxy.setAllowCreate(true);
-        return tapmfProxy;
-    }
-    
-    @Bean 
-    public LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(
-            final @Named("dn-settings") Map<String, String> dnSettings) {
-        
-        val jdoPropertyMap = new HashMap<String, Object>();
-        dnSettings.forEach(jdoPropertyMap::put);
-        
-        val lpmfBean = new LocalPersistenceManagerFactoryBean();
-        lpmfBean.setJdoPropertyMap(jdoPropertyMap);
-        return lpmfBean; 
-    }
-
-    @Bean @Primary
-    public JdoTransactionManager getJdoTransactionManager(TransactionAwarePersistenceManagerFactoryProxy tapmfProxy) {
-        return new JdoTransactionManager(tapmfProxy.getPersistenceManagerFactory());
-    }
     
 }
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
index eec7840..32e2261 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
@@ -32,9 +32,7 @@ import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationService;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationServiceAllowBeatsVeto;
-import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoProviderDatanucleus;
-import org.apache.isis.persistence.jdo.metamodel.IsisModuleJdoMetamodel;
-import org.apache.isis.persistence.jdo.spring.IsisModuleJdoSpring;
+import org.apache.isis.persistence.jdo.lightweight.IsisModuleJdoLightweight;
 import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
 import org.apache.isis.testdomain.jdo.JdoTestDomainModule;
 import org.apache.isis.testdomain.util.kv.KVStoreForTesting;
@@ -44,9 +42,7 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
 @Import({
     IsisModuleCoreRuntimeServices.class,
     IsisModuleSecurityShiro.class,
-    IsisModuleJdoMetamodel.class,
-    IsisModuleJdoSpring.class,
-    IsisModuleJdoProviderDatanucleus.class,
+    IsisModuleJdoLightweight.class,
     IsisModuleTestingFixturesApplib.class,
     KVStoreForTesting.class, // Helper for JUnit Tests
 })