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