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 2021/02/04 09:54:36 UTC
[isis] branch ISIS-2504 updated: ISIS-2504: removes classic
datasource configurations
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-2504
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-2504 by this push:
new 33b4194 ISIS-2504: removes classic datasource configurations
33b4194 is described below
commit 33b41949e2ca1c6b1b30961ae84216258a204996
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Feb 4 10:54:17 2021 +0100
ISIS-2504: removes classic datasource configurations
---
... => DatanucleusAutocreateNoValidate.properties} | 15 ++--
.../isis/core/config/presets/H2InMemory.properties | 21 -----
.../presets/H2InMemory_withUniqueSchema.properties | 21 -----
.../core/config/presets/HsqlDbInMemory.properties | 21 -----
.../isis/core/config/presets/IsisPresets.java | 9 +-
.../src/main/java/demoapp/dom/DemoModule.java | 3 +-
.../demo/domain/src/main/resources/application.yml | 37 ++++----
.../jdo/datanucleus/IsisModuleJdoDatanucleus.java | 20 ++---
.../{DnSettings.java => DnConfigurationBean.java} | 100 +++++++++++----------
.../jdo/datanucleus/config/DnSettings.java | 2 +-
.../jdo/datanucleus/schema/JdoSchemaService.java | 4 +-
.../jdo/datanucleus/schema/_DnApplication.java | 6 +-
.../shiro/ShiroSecmanLdap_restfulStressTest.java | 7 +-
.../testdomain/conf/Configuration_usingJdo.java | 3 +-
.../conf/Configuration_usingJdoAndShiro.java | 4 +-
.../testdomain/conf/Configuration_usingJpa.java | 3 +-
.../conf/Configuration_usingSpringDataJpa.java | 2 +-
.../testdomain/jdo/isis-persistence.properties | 26 ------
.../integtests/ExcelModuleIntegTestAbstract.java | 3 +-
.../FakeDataModuleIntegTestAbstract.java | 3 +-
20 files changed, 103 insertions(+), 207 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/DataNucleusAutoCreate.properties b/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
similarity index 65%
rename from core/config/src/main/java/org/apache/isis/core/config/presets/DataNucleusAutoCreate.properties
rename to core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
index 2e78a1a..1a275af 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/DataNucleusAutoCreate.properties
+++ b/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
@@ -16,11 +16,14 @@
# under the License.
# don't do validations that consume setup time
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll = true
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.validateAll = false
+datanucleus.schema.autoCreateAll = true
+datanucleus.schema.validateAll = false
+#datanucleus.schema.validateTables=true
+#datanucleus.schema.validateConstraints=true
# other properties as per WEB-INF/persistor_datanucleus.properties
-isis.persistence.jdo-datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit = false
-isis.persistence.jdo-datanucleus.impl.datanucleus.identifier.case = MixedCase
-isis.persistence.jdo-datanucleus.impl.datanucleus.cache.level2.type = none
-isis.persistence.jdo-datanucleus.impl.datanucleus.cache.level2.mode = ENABLE_SELECTIVE
+datanucleus.persistenceByReachabilityAtCommit = false
+datanucleus.identifier.case = MixedCase
+datanucleus.cache.level2.type = none
+datanucleus.cache.level2.mode = ENABLE_SELECTIVE
+
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory.properties b/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory.properties
deleted file mode 100644
index 6a6502f..0000000
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:h2:mem:test
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.h2.Driver
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword =
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory_withUniqueSchema.properties b/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory_withUniqueSchema.properties
deleted file mode 100644
index 28643a2..0000000
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/H2InMemory_withUniqueSchema.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:h2:mem:T${random.long[1,9999999]}
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.h2.Driver
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword =
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/HsqlDbInMemory.properties b/core/config/src/main/java/org/apache/isis/core/config/presets/HsqlDbInMemory.properties
deleted file mode 100644
index 919a624..0000000
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/HsqlDbInMemory.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionURL = jdbc:hsqldb:mem:test
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionDriverName = org.hsqldb.jdbcDriver
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionUserName = sa
-isis.persistence.jdo-datanucleus.impl.javax.jdo.option.ConnectionPassword =
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/IsisPresets.java b/core/config/src/main/java/org/apache/isis/core/config/presets/IsisPresets.java
index 0f0b9ac..1e54d23 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/IsisPresets.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/presets/IsisPresets.java
@@ -36,13 +36,7 @@ public final class IsisPresets {
public static final String IntrospectLazily = "classpath:/org/apache/isis/core/config/presets/IntrospectLazily.properties";
public static final String IntrospectFully = "classpath:/org/apache/isis/core/config/presets/IntrospectFully.properties";
- public static final String H2InMemory = "classpath:/org/apache/isis/core/config/presets/H2InMemory.properties";
-
- /** randomized (unique) database name, eg. to allow for concurrent testing */
- public static final String H2InMemory_withUniqueSchema = "classpath:/org/apache/isis/core/config/presets/H2InMemory_withUniqueSchema.properties";
-
- public static final String HsqlDbInMemory = "classpath:/org/apache/isis/core/config/presets/HsqlDbInMemory.properties";
- public static final String DataNucleusAutoCreate = "classpath:/org/apache/isis/core/config/presets/DataNucleusAutoCreate.properties";
+ public static final String DatanucleusAutocreateNoValidate = "classpath:/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties";
public static final String DebugPersistence = "classpath:/org/apache/isis/core/config/presets/DebugPersistence.properties";
public static final String DebugRequestScopedServices = "classpath:/org/apache/isis/core/config/presets/DebugRequestScopedServices.properties";
@@ -61,7 +55,6 @@ public final class IsisPresets {
public static final String SilenceWicket = "classpath:/org/apache/isis/core/config/presets/SilenceWicket.properties";
public static final String UseLog4j2Test = "classpath:/org/apache/isis/core/config/presets/UseLog4j2Test.properties";
-
/**
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java b/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java
index b439b69..55cf5b5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java
@@ -49,10 +49,9 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
})
@PropertySources({
- @PropertySource(IsisPresets.H2InMemory),
@PropertySource(IsisPresets.NoTranslations),
@PropertySource(IsisPresets.SilenceWicket),
- @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
@ComponentScan(
basePackageClasses= {
diff --git a/examples/demo/domain/src/main/resources/application.yml b/examples/demo/domain/src/main/resources/application.yml
index 3d4c3ac..cc85196 100644
--- a/examples/demo/domain/src/main/resources/application.yml
+++ b/examples/demo/domain/src/main/resources/application.yml
@@ -19,7 +19,6 @@
#
isis:
-
applib:
annotation:
action:
@@ -101,24 +100,24 @@ isis:
dialog-mode: sidebar
dialog-mode-for-menu: modal
- persistence:
- jdo-datanucleus:
- impl:
- # note that properties under 'isis.persistor.datanucleus.impl' are passed through directly
- # to DataNucleus, and must use camelCase rather than kebab-case
- datanucleus:
- schema:
- validateTables: true
- validateConstraints: true
-
- persistenceByReachabilityAtCommit: false
- identifier:
- case: MixedCase
-
- cache:
- level2:
- type: none
- mode: ENABLE_SELECTIVE
+# schema auto creation etc. ...
+# persistence:
+
+
+# note that properties under 'datanucleus' must use camelCase rather than kebab-case
+datanucleus:
+ schema:
+ validateTables: true
+ validateConstraints: true
+
+ persistenceByReachabilityAtCommit: false
+ identifier:
+ case: MixedCase
+
+ cache:
+ level2:
+ type: none
+ mode: ENABLE_SELECTIVE
resteasy:
jaxrs:
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
index cab7ccd..4398a30 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
@@ -18,14 +18,11 @@
*/
package org.apache.isis.persistence.jdo.datanucleus;
-import java.util.HashMap;
-import java.util.Map;
-
import javax.inject.Named;
import javax.inject.Provider;
import javax.jdo.PersistenceManagerFactory;
-import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@@ -35,8 +32,8 @@ import org.apache.isis.applib.services.eventbus.EventBusService;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.transaction.changetracking.EntityChangeTracker;
import org.apache.isis.persistence.jdo.datanucleus.changetracking.JdoLifecycleListener;
+import org.apache.isis.persistence.jdo.datanucleus.config.DnConfigurationBean;
import org.apache.isis.persistence.jdo.datanucleus.config.DnEntityDiscoveryListener;
-import org.apache.isis.persistence.jdo.datanucleus.config.DnSettings;
import org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
import org.apache.isis.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault;
import org.apache.isis.persistence.jdo.datanucleus.metamodel.JdoDataNucleusProgrammingModel;
@@ -53,7 +50,7 @@ import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersis
import lombok.val;
/**
- * @since 1.x {@index}
+ * @since 2.0 {@index}
*/
@Configuration
@Import({
@@ -72,19 +69,12 @@ import lombok.val;
Persistable_downloadJdoMetadata.class,
// @Service's
- DnSettings.class,
JdoSupportServiceDefault.class,
JdoSchemaService.class,
})
+@EnableConfigurationProperties(DnConfigurationBean.class)
public class IsisModuleJdoDatanucleus {
- // reserved for datanucleus' own config props
- @ConfigurationProperties(prefix = "isis.persistence.jdo-datanucleus.impl")
- @Bean("dn-settings")
- public Map<String, String> getAsMap() {
- return new HashMap<>();
- }
-
/**
* {@link TransactionAwarePersistenceManagerFactoryProxy} was retired by the Spring Framework, recommended usage is still online [1].
* Sources have been recovered from [2].
@@ -108,7 +98,7 @@ public class IsisModuleJdoDatanucleus {
final MetaModelContext metaModelContext,
final EventBusService eventBusService,
final Provider<EntityChangeTracker> entityChangeTrackerProvider,
- final DnSettings dnSettings) {
+ final DnConfigurationBean dnSettings) {
val lpmfBean = new LocalPersistenceManagerFactoryBean() {
@Override
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnConfigurationBean.java
similarity index 59%
copy from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java
copy to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnConfigurationBean.java
index 0efb8dc..15e7cb2 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnConfigurationBean.java
@@ -21,57 +21,61 @@ package org.apache.isis.persistence.jdo.datanucleus.config;
import java.util.HashMap;
import java.util.Map;
-import javax.inject.Inject;
import javax.inject.Named;
import org.datanucleus.PropertyNames;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
-import org.springframework.core.annotation.Order;
-import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.commons.internal.collections._Maps;
-
-import lombok.val;
+import lombok.Getter;
+import lombok.Setter;
import lombok.extern.log4j.Log4j2;
/**
* @since 2.0
*/
@Configuration
-@Named("isis.persistence.jdo.DnSettings")
-@Order(OrderPrecedence.EARLY)
+@Named("isis.persistence.jdo.DnConfigurationBean")
@Primary
-@Qualifier("Default")
+@Qualifier("Dn5")
+@ConfigurationProperties(prefix = "")
@Log4j2
-public class DnSettings {
+public class DnConfigurationBean {
- @Inject @Named("dn-settings")
- private Map<String, String> dnSettings;
+ @Getter @Setter
+ private Map<String, String> datanucleus; //mapped by "datanucleus"
+ @Getter @Setter
+ private Map<String, String> javax; //mapped by "javax" filtered later for "javax.jdo"
private final Object lock = new Object();
- private boolean amended = false;
-
- public Map<String, String> getAsMap() {
+ private Map<String, Object> properties;
+
+ public Map<String, Object> getAsProperties() {
synchronized(lock) {
- if(!amended) {
- addDataNucleusPropertiesAsRequired();
- amended = true;
+ if(properties==null) {
+ properties = new HashMap<>();
+
+ if(datanucleus!=null) {
+ datanucleus.forEach((k, v)->properties.put("datanucleus." + k, v));
+ }
+
+ if(javax!=null) {
+ javax.entrySet().stream()
+ .filter(e->e.getKey().startsWith("jdo."))
+ .forEach(e->properties.put("javax." + e.getKey(), e.getValue()));
+ }
+
+ amendProperties(properties);
}
}
- return dnSettings;
- }
-
- public Map<String, Object> getAsProperties() {
- return _Maps.mapValues(getAsMap(), HashMap::new, Object.class::cast);
+ return properties;
}
- // -- HELPER
-
- private void addDataNucleusPropertiesAsRequired() {
+ private void amendProperties(final Map<String, Object> props) {
- val props = dnSettings;
+ // add optional defaults if needed
String connectionFactoryName = (String) props.get(PropertyNames.PROPERTY_CONNECTION_FACTORY_NAME);
if(connectionFactoryName != null) {
@@ -96,29 +100,29 @@ public class DnSettings {
} else {
// use JDBC connection properties; put if not present
- putIfNotPresent(props, "javax.jdo.option.ConnectionDriverName", "org.hsqldb.jdbcDriver");
- putIfNotPresent(props, "javax.jdo.option.ConnectionURL", "jdbc:hsqldb:mem:test");
- putIfNotPresent(props, "javax.jdo.option.ConnectionUserName", "sa");
- putIfNotPresent(props, "javax.jdo.option.ConnectionPassword", "");
-
- if(log.isInfoEnabled()) {
- log.info("using JDBC connection '{}'",
- props.get("javax.jdo.option.ConnectionURL"));
- }
+//XXX let Spring handle datasources instead
+// putIfNotPresent(props, "javax.jdo.option.ConnectionDriverName", "org.hsqldb.jdbcDriver");
+// putIfNotPresent(props, "javax.jdo.option.ConnectionURL", "jdbc:hsqldb:mem:test");
+// putIfNotPresent(props, "javax.jdo.option.ConnectionUserName", "sa");
+// putIfNotPresent(props, "javax.jdo.option.ConnectionPassword", "");
+//
+// if(log.isInfoEnabled()) {
+// log.info("using JDBC connection '{}'",
+// props.get("javax.jdo.option.ConnectionURL"));
+// }
}
}
- private static void putIfNotPresent(
- final Map<String, String> props,
- final String key,
- final String value) {
-
- if(!props.containsKey(key)) {
- props.put(key, value);
- }
- }
-
-
+// private static void putIfNotPresent(
+// final Map<String, Object> props,
+// final String key,
+// final String value) {
+//
+// if(!props.containsKey(key)) {
+// props.put(key, value);
+// }
+// }
+
-}
+}
\ No newline at end of file
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java
index 0efb8dc..da7ae33 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnSettings.java
@@ -45,7 +45,7 @@ import lombok.extern.log4j.Log4j2;
@Primary
@Qualifier("Default")
@Log4j2
-public class DnSettings {
+class DnSettings {
@Inject @Named("dn-settings")
private Map<String, String> dnSettings;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java
index 8d22bb4..c157826 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java
@@ -34,7 +34,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.events.MetamodelEvent;
-import org.apache.isis.persistence.jdo.datanucleus.config.DnSettings;
+import org.apache.isis.persistence.jdo.datanucleus.config.DnConfigurationBean;
import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
import lombok.extern.log4j.Log4j2;
@@ -60,7 +60,7 @@ public class JdoSchemaService {
@Inject PlatformTransactionManager txManager;
@Inject IsisBeanTypeRegistry isisBeanTypeRegistry;
- @Inject DnSettings dnSettings;
+ @Inject DnConfigurationBean dnSettings;
@PostConstruct
public void init() {
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java
index 9a7a012..965865a 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java
@@ -21,7 +21,7 @@ package org.apache.isis.persistence.jdo.datanucleus.schema;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.persistence.jdo.datanucleus.config.DnSettings;
+import org.apache.isis.persistence.jdo.datanucleus.config.DnConfigurationBean;
import org.apache.isis.persistence.jdo.datanucleus.config.JdoEntityTypeRegistry;
import lombok.val;
@@ -35,7 +35,7 @@ public class _DnApplication {
public _DnApplication(
final MetaModelContext metaModelContext,
- final DnSettings dnSettings) {
+ final DnConfigurationBean dnSettings) {
dnApplicationComponents = createDataNucleusApplicationComponents(
metaModelContext,
@@ -50,7 +50,7 @@ public class _DnApplication {
private _DnApplicationComponents createDataNucleusApplicationComponents(
final MetaModelContext metaModelContext,
- final DnSettings dnSettings) {
+ final DnConfigurationBean dnSettings) {
val configuration = metaModelContext.getConfiguration();
val isisBeanTypeRegistry = metaModelContext.getServiceRegistry()
diff --git a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
index 38d7d7d..17ed621 100644
--- a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
+++ b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
@@ -28,6 +28,8 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.PropertySources;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -58,8 +60,6 @@ import lombok.val;
properties = {
//"logging.config=log4j2-test.xml",
"logging.config=log4j2-debug-persistence.xml",
- IsisPresets.DataNucleusAutoCreate,
- "datanucleus.schema.autoCreateDatabase=true",
"server.servlet.session.persistent=false", // defaults to false
},
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@@ -78,6 +78,9 @@ import lombok.val;
IsisModuleExtSecmanPersistenceJdo.class,
IsisModuleExtSecmanEncryptionJbcrypt.class,
})
+@PropertySources({
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate)
+})
//XXX "does not work, when executed in sequence with other regressiontests
class ShiroSecmanLdap_restfulStressTest extends AbstractShiroTest {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
index 7db0d71..f89af1f 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
@@ -47,9 +47,8 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
JdoTestDomainModule.class
})
@PropertySources({
- @PropertySource("classpath:/org/apache/isis/testdomain/jdo/isis-persistence.properties"),
- @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
@PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
public class Configuration_usingJdo {
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 7c9ab28..c901255 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
@@ -51,10 +51,8 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
JdoTestDomainModule.class
})
@PropertySources({
- //@PropertySource("classpath:/org/apache/isis/testdomain/conf/application.properties"),
- @PropertySource("classpath:/org/apache/isis/testdomain/jdo/isis-persistence.properties"),
- @PropertySource(IsisPresets.H2InMemory),
@PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
public class Configuration_usingJdoAndShiro {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJpa.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJpa.java
index b0fcd30..da82d60 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJpa.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJpa.java
@@ -51,9 +51,8 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
,KVStoreForTesting.class, // Helper for JUnit Tests
})
@PropertySources({
- //@PropertySource("classpath:/org/apache/isis/testdomain/jdo/isis-persistence.properties"),
- @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
@PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
public class Configuration_usingJpa {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingSpringDataJpa.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingSpringDataJpa.java
index 7e52ae0..1c8e799 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingSpringDataJpa.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingSpringDataJpa.java
@@ -48,8 +48,8 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
,KVStoreForTesting.class, // Helper for JUnit Tests
})
@PropertySources({
- @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
@PropertySource(IsisPresets.NoTranslations),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
public class Configuration_usingSpringDataJpa {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/isis-persistence.properties b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/isis-persistence.properties
deleted file mode 100644
index c1ccd0f..0000000
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/isis-persistence.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.autoCreateAll=true
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.validateTables=true
-isis.persistence.jdo-datanucleus.impl.datanucleus.schema.validateConstraints=true
-
-isis.persistence.jdo-datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
-isis.persistence.jdo-datanucleus.impl.datanucleus.identifier.case=MixedCase
-isis.persistence.jdo-datanucleus.impl.datanucleus.cache.level2.type=none
-isis.persistence.jdo-datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
-
diff --git a/subdomains/excel/integtests/src/test/java/org/apache/isis/subdomains/excel/integtests/ExcelModuleIntegTestAbstract.java b/subdomains/excel/integtests/src/test/java/org/apache/isis/subdomains/excel/integtests/ExcelModuleIntegTestAbstract.java
index e8e2bad..d5c623f 100644
--- a/subdomains/excel/integtests/src/test/java/org/apache/isis/subdomains/excel/integtests/ExcelModuleIntegTestAbstract.java
+++ b/subdomains/excel/integtests/src/test/java/org/apache/isis/subdomains/excel/integtests/ExcelModuleIntegTestAbstract.java
@@ -45,9 +45,8 @@ public abstract class ExcelModuleIntegTestAbstract extends IsisIntegrationTestAb
@Configuration
@PropertySources({
- @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
@PropertySource(IsisPresets.NoTranslations),
- @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
@Import({
IsisModuleCoreRuntimeServices.class,
diff --git a/testing/fakedata/integtests/src/test/java/org/apache/isis/testing/fakedata/integtests/FakeDataModuleIntegTestAbstract.java b/testing/fakedata/integtests/src/test/java/org/apache/isis/testing/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
index 5483300..cd5cedc 100644
--- a/testing/fakedata/integtests/src/test/java/org/apache/isis/testing/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
+++ b/testing/fakedata/integtests/src/test/java/org/apache/isis/testing/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
@@ -46,9 +46,8 @@ public abstract class FakeDataModuleIntegTestAbstract extends IsisIntegrationTes
@Configuration
@PropertySources({
- @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
@PropertySource(IsisPresets.NoTranslations),
- @PropertySource(IsisPresets.DataNucleusAutoCreate),
+ @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate),
})
@Import({
IsisModuleCoreRuntimeServices.class,