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 cb32642c44 ISIS-3278: convert JDO artifacts to Java Modules (except 
datanucleus)
cb32642c44 is described below

commit cb32642c44497e8368f79117529c34636aaa2773
Author: Andi Huber <[email protected]>
AuthorDate: Tue Nov 15 10:56:46 2022 +0100

    ISIS-3278: convert JDO artifacts to Java Modules (except datanucleus)
---
 core/metamodel/src/main/java/module-info.java      | 24 ++++++++++++
 persistence/commons/src/main/java/module-info.java | 41 ++++++++++++++++++++
 .../jdo/applib/src/main/java/module-info.java      | 31 +++++++++++++++
 .../jdo/integration/src/main/java/module-info.java | 33 ++++++++++++++++
 .../metamodel/JdoPrimaryKeyPropertyPredicate.java  |  1 -
 .../jdo/metamodel/src/main/java/module-info.java   | 37 ++++++++++++++++++
 .../jdo/metamodel/JdoProgrammingModel.java         |  3 +-
 .../metamodel/facets/prop/column/_ColumnUtil.java  |  1 -
 persistence/jdo/provider/pom.xml                   |  5 +++
 .../jdo/provider/src/main/java/module-info.java    | 37 ++++++++++++++++++
 persistence/jdo/spring/pom.xml                     |  6 +++
 .../jdo/spring/src/main/java/module-info.java      | 44 ++++++++++++++++++++++
 .../LocalPersistenceManagerFactoryTests.java       | 18 +++++----
 .../spring/test/integration => }/test.properties   |  0
 14 files changed, 271 insertions(+), 10 deletions(-)

diff --git a/core/metamodel/src/main/java/module-info.java 
b/core/metamodel/src/main/java/module-info.java
index 2a00891b9c..b258926e08 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -40,24 +40,44 @@ open module org.apache.causeway.core.metamodel {
     exports org.apache.causeway.core.metamodel.facets.members.cssclass;
     exports 
org.apache.causeway.core.metamodel.facets.members.cssclassfa.annotprop;
     exports org.apache.causeway.core.metamodel.facets.members.cssclassfa;
+    exports org.apache.causeway.core.metamodel.facets.members.disabled;
     exports org.apache.causeway.core.metamodel.facets.members.layout.group;
     exports org.apache.causeway.core.metamodel.facets.members.publish.command;
     exports 
org.apache.causeway.core.metamodel.facets.members.publish.execution;
     exports org.apache.causeway.core.metamodel.facets.object.bookmarkpolicy;
     exports org.apache.causeway.core.metamodel.facets.object.callbacks;
+    exports org.apache.causeway.core.metamodel.facets.object.domainobject;
     exports org.apache.causeway.core.metamodel.facets.object.domainservice;
     exports 
org.apache.causeway.core.metamodel.facets.object.domainservicelayout;
     exports org.apache.causeway.core.metamodel.facets.object.entity;
     exports org.apache.causeway.core.metamodel.facets.object.icon;
     exports org.apache.causeway.core.metamodel.facets.object.mixin;
+    exports org.apache.causeway.core.metamodel.facets.object.objectvalidprops;
+    exports 
org.apache.causeway.core.metamodel.facets.object.publish.entitychange;
+    exports org.apache.causeway.core.metamodel.facets.object.title;
     exports org.apache.causeway.core.metamodel.facets.object.value;
     exports org.apache.causeway.core.metamodel.facets.object.viewmodel;
+    exports org.apache.causeway.core.metamodel.facets.objectvalue.digits;
     exports org.apache.causeway.core.metamodel.facets.objectvalue.labelat;
+    exports org.apache.causeway.core.metamodel.facets.objectvalue.mandatory;
+    exports org.apache.causeway.core.metamodel.facets.objectvalue.maxlen;
+
+    exports org.apache.causeway.core.metamodel.facets.propcoll.accessor;
+    exports org.apache.causeway.core.metamodel.facets.properties.defaults;
+    exports 
org.apache.causeway.core.metamodel.facets.properties.property.entitychangepublishing;
+    exports 
org.apache.causeway.core.metamodel.facets.properties.property.mandatory;
     exports 
org.apache.causeway.core.metamodel.facets.properties.property.modify;
     exports org.apache.causeway.core.metamodel.facets.properties.update.clear;
     exports org.apache.causeway.core.metamodel.facets.properties.update.modify;
     exports org.apache.causeway.core.metamodel.facets.value.semantics;
 
+    exports org.apache.causeway.core.metamodel.facets.object.parented
+        to org.apache.causeway.persistence.jdo.metamodel;
+    exports org.apache.causeway.core.metamodel.facets.object.ignore.datanucleus
+        to org.apache.causeway.persistence.jdo.metamodel;
+    exports org.apache.causeway.core.metamodel.facets.object.ignore.jdo
+        to org.apache.causeway.persistence.jdo.metamodel;
+
     exports org.apache.causeway.core.metamodel.interactions;
     exports org.apache.causeway.core.metamodel.interactions.managed;
     exports org.apache.causeway.core.metamodel.interactions.managed.nonscalar;
@@ -68,6 +88,8 @@ open module org.apache.causeway.core.metamodel {
     exports org.apache.causeway.core.metamodel.objectmanager.memento;
     exports org.apache.causeway.core.metamodel.objectmanager;
 
+    exports org.apache.causeway.core.metamodel.progmodel;
+
     exports org.apache.causeway.core.metamodel.services.appfeat;
     exports org.apache.causeway.core.metamodel.services.classsubstitutor;
     exports org.apache.causeway.core.metamodel.services.command;
@@ -96,6 +118,8 @@ open module org.apache.causeway.core.metamodel {
 
     exports org.apache.causeway.core.metamodel.specloader
         to org.apache.causeway.core.runtimeservices,
+        //TODO probably don't expose SpecificationLoader to persistence
+        org.apache.causeway.persistence.jdo.metamodel,
         //TODO probably don't expose SpecificationLoader to viewers
         org.apache.causeway.viewer.restfulobjects.rendering,
         org.apache.causeway.viewer.restfulobjects.viewer,
diff --git a/persistence/commons/src/main/java/module-info.java 
b/persistence/commons/src/main/java/module-info.java
new file mode 100644
index 0000000000..dc127a51db
--- /dev/null
+++ b/persistence/commons/src/main/java/module-info.java
@@ -0,0 +1,41 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.commons {
+    exports org.apache.causeway.persistence.jpa.integration.changetracking;
+    exports org.apache.causeway.persistence.commons;
+
+    requires java.annotation;
+    requires java.desktop;
+    requires java.inject;
+    requires java.sql;
+    requires java.xml;
+    requires lombok;
+    requires org.apache.causeway.applib;
+    requires org.apache.causeway.commons;
+    requires org.apache.causeway.core.config;
+    requires org.apache.causeway.core.metamodel;
+    requires org.apache.causeway.core.runtime;
+    requires org.apache.causeway.core.transaction;
+    requires org.apache.causeway.schema;
+    requires org.apache.causeway.security.api;
+    requires org.apache.logging.log4j;
+    requires spring.beans;
+    requires spring.context;
+    requires spring.core;
+}
\ No newline at end of file
diff --git a/persistence/jdo/applib/src/main/java/module-info.java 
b/persistence/jdo/applib/src/main/java/module-info.java
new file mode 100644
index 0000000000..af42690c6d
--- /dev/null
+++ b/persistence/jdo/applib/src/main/java/module-info.java
@@ -0,0 +1,31 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.jdo.applib {
+    exports org.apache.causeway.persistence.jdo.applib.services;
+    exports org.apache.causeway.persistence.jdo.applib.types;
+    exports org.apache.causeway.persistence.jdo.applib;
+
+    requires java.inject;
+    requires java.validation;
+    requires transitive javax.jdo;
+    requires org.apache.causeway.applib;
+    requires org.datanucleus.store.rdbms;
+    requires spring.context;
+    requires spring.core;
+}
\ No newline at end of file
diff --git a/persistence/jdo/integration/src/main/java/module-info.java 
b/persistence/jdo/integration/src/main/java/module-info.java
new file mode 100644
index 0000000000..6463fcebaf
--- /dev/null
+++ b/persistence/jdo/integration/src/main/java/module-info.java
@@ -0,0 +1,33 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.jdo.integration {
+    exports org.apache.causeway.persistence.jdo.integration.metamodel;
+    exports org.apache.causeway.persistence.jdo.integration;
+
+    requires javax.jdo;
+    requires org.apache.causeway.applib;
+    requires org.apache.causeway.core.config;
+    requires org.apache.causeway.core.metamodel;
+    requires org.apache.causeway.core.runtime;
+    requires org.apache.causeway.persistence.commons;
+    requires org.apache.causeway.persistence.jdo.applib;
+    requires org.apache.causeway.persistence.jdo.metamodel;
+    requires org.apache.causeway.persistence.jdo.provider;
+    requires spring.context;
+}
\ No newline at end of file
diff --git 
a/persistence/jdo/integration/src/main/java/org/apache/causeway/persistence/jdo/integration/metamodel/JdoPrimaryKeyPropertyPredicate.java
 
b/persistence/jdo/integration/src/main/java/org/apache/causeway/persistence/jdo/integration/metamodel/JdoPrimaryKeyPropertyPredicate.java
index 2a4683d385..e0ebd886b8 100644
--- 
a/persistence/jdo/integration/src/main/java/org/apache/causeway/persistence/jdo/integration/metamodel/JdoPrimaryKeyPropertyPredicate.java
+++ 
b/persistence/jdo/integration/src/main/java/org/apache/causeway/persistence/jdo/integration/metamodel/JdoPrimaryKeyPropertyPredicate.java
@@ -18,7 +18,6 @@
  */
 package org.apache.causeway.persistence.jdo.integration.metamodel;
 
-
 import java.util.function.Predicate;
 
 import javax.jdo.annotations.PrimaryKey;
diff --git a/persistence/jdo/metamodel/src/main/java/module-info.java 
b/persistence/jdo/metamodel/src/main/java/module-info.java
new file mode 100644
index 0000000000..c820846749
--- /dev/null
+++ b/persistence/jdo/metamodel/src/main/java/module-info.java
@@ -0,0 +1,37 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.jdo.metamodel {
+    requires lombok;
+    requires org.apache.causeway.applib;
+    requires org.apache.causeway.commons;
+    requires org.apache.causeway.core.config;
+    requires org.apache.causeway.core.metamodel;
+    requires org.apache.causeway.core.runtime;
+    requires org.apache.causeway.persistence.jdo.applib;
+    requires org.apache.causeway.persistence.jdo.provider;
+    requires javax.jdo;
+    requires org.apache.causeway.security.api;
+    requires org.datanucleus.store.rdbms;
+
+    exports org.apache.causeway.persistence.jdo.metamodel;
+    exports 
org.apache.causeway.persistence.jdo.metamodel.facets.object.persistencecapable;
+
+    provides org.apache.causeway.core.config.beans.CausewayBeanTypeClassifier
+        with 
org.apache.causeway.persistence.jdo.metamodel.beans.JdoBeanTypeClassifier;
+}
\ No newline at end of file
diff --git 
a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/JdoProgrammingModel.java
 
b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/JdoProgrammingModel.java
index fe6ed96458..6603819f74 100644
--- 
a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/JdoProgrammingModel.java
+++ 
b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/JdoProgrammingModel.java
@@ -135,7 +135,8 @@ public class JdoProgrammingModel implements 
MetaModelRefiner {
     private void addValidatorToCheckForUnsupportedAnnotations(final 
ProgrammingModel pm) {
 
         pm.addVisitingValidatorSkipManagedBeans(objSpec -> {
-            if 
(objSpec.containsNonFallbackFacet(ParentedCollectionFacet.class) && 
!objSpec.containsNonFallbackFacet(CollectionFacet.class)) {
+            if (objSpec.containsNonFallbackFacet(ParentedCollectionFacet.class)
+                    && 
!objSpec.containsNonFallbackFacet(CollectionFacet.class)) {
                 ValidationFailure.raiseFormatted(
                         objSpec,
                         "%s: JDO/DataNucleus object store currently does not 
supported Aggregated or EmbeddedOnly annotations",
diff --git 
a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/_ColumnUtil.java
 
b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/_ColumnUtil.java
index 4027c6c356..7a0fcb90c6 100644
--- 
a/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/_ColumnUtil.java
+++ 
b/persistence/jdo/metamodel/src/main/java/org/apache/causeway/persistence/jdo/metamodel/facets/prop/column/_ColumnUtil.java
@@ -17,7 +17,6 @@
  * under the License.
  *
  */
-
 package org.apache.causeway.persistence.jdo.metamodel.facets.prop.column;
 
 import java.util.Optional;
diff --git a/persistence/jdo/provider/pom.xml b/persistence/jdo/provider/pom.xml
index 26979e9f01..99f992a76a 100644
--- a/persistence/jdo/provider/pom.xml
+++ b/persistence/jdo/provider/pom.xml
@@ -38,6 +38,11 @@
                        <artifactId>causeway-persistence-jdo-applib</artifactId>
                </dependency>
                
+               <dependency>
+                       <groupId>org.datanucleus</groupId>
+                       <artifactId>datanucleus-rdbms</artifactId>
+               </dependency>
+               
                <dependency>
                        <groupId>org.apache.causeway.core</groupId>
                        <artifactId>causeway-core-metamodel</artifactId>
diff --git a/persistence/jdo/provider/src/main/java/module-info.java 
b/persistence/jdo/provider/src/main/java/module-info.java
new file mode 100644
index 0000000000..c8591d1f8c
--- /dev/null
+++ b/persistence/jdo/provider/src/main/java/module-info.java
@@ -0,0 +1,37 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.jdo.provider {
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.object.version;
+    exports org.apache.causeway.persistence.jdo.provider.persistence;
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.prop.primarykey;
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.object.query;
+    exports org.apache.causeway.persistence.jdo.provider.config;
+    exports org.apache.causeway.persistence.jdo.provider.entities;
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.object.datastoreidentity;
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.object.persistencecapable;
+    exports 
org.apache.causeway.persistence.jdo.provider.metamodel.facets.prop.notpersistent;
+
+    requires javax.jdo;
+    requires lombok;
+    requires org.apache.causeway.applib;
+    requires org.apache.causeway.commons;
+    requires org.apache.causeway.core.config;
+    requires org.apache.causeway.core.metamodel;
+    requires spring.core;
+}
\ No newline at end of file
diff --git a/persistence/jdo/spring/pom.xml b/persistence/jdo/spring/pom.xml
index 698f77c168..01840f67f0 100644
--- a/persistence/jdo/spring/pom.xml
+++ b/persistence/jdo/spring/pom.xml
@@ -59,6 +59,12 @@
                <dependency>
                        <groupId>org.apache.causeway.persistence</groupId>
                        <artifactId>causeway-persistence-jdo-applib</artifactId>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>javax.transaction</groupId>
+                                       
<artifactId>javax.transaction-api</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
                <dependency>
                        <groupId>org.apache.causeway.persistence</groupId>
diff --git a/persistence/jdo/spring/src/main/java/module-info.java 
b/persistence/jdo/spring/src/main/java/module-info.java
new file mode 100644
index 0000000000..faf5e92711
--- /dev/null
+++ b/persistence/jdo/spring/src/main/java/module-info.java
@@ -0,0 +1,44 @@
+/*
+ *  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.
+ */
+module org.apache.causeway.persistence.jdo.spring {
+    exports org.apache.causeway.persistence.jdo.spring.support;
+    exports org.apache.causeway.persistence.jdo.spring.exceptions;
+    exports org.apache.causeway.persistence.jdo.spring;
+    exports org.apache.causeway.persistence.jdo.spring.integration;
+
+    requires glassfish.corba.omgapi;
+    requires java.naming;
+    requires java.persistence;
+    requires java.sql;
+    requires java.transaction;
+    requires java.transaction.xa;
+    requires javax.jdo;
+    requires javax.servlet.api;
+    requires lombok;
+    requires org.apache.causeway.applib;
+    requires org.apache.causeway.core.config;
+    requires org.apache.causeway.core.metamodel;
+    requires spring.beans;
+    requires spring.context;
+    requires spring.core;
+    requires spring.jcl;
+    requires spring.jdbc;
+    requires spring.tx;
+    requires spring.web;
+}
\ No newline at end of file
diff --git 
a/persistence/jdo/spring/src/test/java/org/apache/causeway/persistence/jdo/spring/test/integration/LocalPersistenceManagerFactoryTests.java
 
b/persistence/jdo/spring/src/test/java/org/apache/causeway/persistence/jdo/spring/test/integration/LocalPersistenceManagerFactoryTests.java
index 8f718af36d..86dcd45817 100644
--- 
a/persistence/jdo/spring/src/test/java/org/apache/causeway/persistence/jdo/spring/test/integration/LocalPersistenceManagerFactoryTests.java
+++ 
b/persistence/jdo/spring/src/test/java/org/apache/causeway/persistence/jdo/spring/test/integration/LocalPersistenceManagerFactoryTests.java
@@ -19,6 +19,7 @@
 package org.apache.causeway.persistence.jdo.spring.test.integration;
 
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.Map;
 import java.util.Properties;
 
@@ -26,7 +27,7 @@ import javax.jdo.JDOFatalUserException;
 import javax.jdo.PersistenceManagerFactory;
 
 import org.junit.jupiter.api.Test;
-import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.PathResource;
 
 import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -35,6 +36,8 @@ import static org.mockito.Mockito.mock;
 
 import 
org.apache.causeway.persistence.jdo.spring.integration.LocalPersistenceManagerFactoryBean;
 
+import lombok.val;
+
 class LocalPersistenceManagerFactoryTests {
 
        @Test
@@ -42,7 +45,7 @@ class LocalPersistenceManagerFactoryTests {
                final PersistenceManagerFactory pmf = 
mock(PersistenceManagerFactory.class);
                LocalPersistenceManagerFactoryBean pmfb = new 
LocalPersistenceManagerFactoryBean() {
                        @Override
-                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(Map<?, ?> props) {
+                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(final Map<?, ?> props) {
                                return pmf;
                        }
                };
@@ -82,7 +85,7 @@ class LocalPersistenceManagerFactoryTests {
        void testLocalPersistenceManagerFactoryBeanWithInvalidProperty() throws 
IOException {
                LocalPersistenceManagerFactoryBean pmfb = new 
LocalPersistenceManagerFactoryBean() {
                        @Override
-                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(Map<?, ?> props) {
+                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(final Map<?, ?> props) {
                                throw new IllegalArgumentException((String) 
props.get("myKey"));
                        }
                };
@@ -101,13 +104,14 @@ class LocalPersistenceManagerFactoryTests {
 
        @Test
        void testLocalPersistenceManagerFactoryBeanWithFile() throws 
IOException {
+           val configResource = new 
PathResource(Path.of("src/test/resources/test.properties"));
                LocalPersistenceManagerFactoryBean pmfb = new 
LocalPersistenceManagerFactoryBean() {
                        @Override
-                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(Map<?, ?> props) {
+                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(final Map<?, ?> props) {
                                throw new IllegalArgumentException((String) 
props.get("myKey"));
                        }
                };
-               pmfb.setConfigLocation(new ClassPathResource("test.properties", 
getClass()));
+               pmfb.setConfigLocation(configResource);
                try {
                        pmfb.afterPropertiesSet();
                        fail("Should have thrown IllegalArgumentException");
@@ -122,7 +126,7 @@ class LocalPersistenceManagerFactoryTests {
        public void testLocalPersistenceManagerFactoryBeanWithName() throws 
IOException {
                LocalPersistenceManagerFactoryBean pmfb = new 
LocalPersistenceManagerFactoryBean() {
                        @Override
-                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(String name) {
+                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(final String name) {
                                throw new IllegalArgumentException(name);
                        }
                };
@@ -141,7 +145,7 @@ class LocalPersistenceManagerFactoryTests {
        public void 
testLocalPersistenceManagerFactoryBeanWithNameAndProperties() throws 
IOException {
                LocalPersistenceManagerFactoryBean pmfb = new 
LocalPersistenceManagerFactoryBean() {
                        @Override
-                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(String name) {
+                       protected PersistenceManagerFactory 
newPersistenceManagerFactory(final String name) {
                                throw new IllegalArgumentException(name);
                        }
                };
diff --git 
a/persistence/jdo/spring/src/test/resources/org/apache/causeway/persistence/jdo/spring/test/integration/test.properties
 b/persistence/jdo/spring/src/test/resources/test.properties
similarity index 100%
rename from 
persistence/jdo/spring/src/test/resources/org/apache/causeway/persistence/jdo/spring/test/integration/test.properties
rename to persistence/jdo/spring/src/test/resources/test.properties

Reply via email to