You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/01/17 16:22:17 UTC

[isis] branch ISIS-2486-jdo-jpa-module-rationalize created (now 8a98c26)

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

danhaywood pushed a change to branch ISIS-2486-jdo-jpa-module-rationalize
in repository https://gitbox.apache.org/repos/asf/isis.git.


      at 8a98c26  ISIS-2486: sorts out packages for moved classes

This branch includes the following new commits:

     new 68621e8  ISIS-2486: moves jdo classes from datanucleus to integration.
     new 9f6f666  ISIS-2486: moves additional DN classes from integration down to datanucleus.
     new 8a98c26  ISIS-2486: sorts out packages for moved classes

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[isis] 02/03: ISIS-2486: moves additional DN classes from integration down to datanucleus.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2486-jdo-jpa-module-rationalize
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 9f6f6662ea2bde1de6c4d545c7301aeb947f8d3e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 17 16:09:05 2021 +0000

    ISIS-2486: moves additional DN classes from integration down to datanucleus.
---
 .../isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java    | 0
 .../isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java      | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java


[isis] 03/03: ISIS-2486: sorts out packages for moved classes

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2486-jdo-jpa-module-rationalize
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8a98c261c28afb31b5e0634da5757d63f9e35e03
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 17 16:21:49 2021 +0000

    ISIS-2486: sorts out packages for moved classes
---
 .../{integration => datanucleus}/changetracking/JdoLifecycleListener.java | 0
 .../jdo/{integration => datanucleus}/changetracking/_Utils.java           | 0
 .../config/CreateSchemaObjectFromClassMetadata.java                       | 0
 .../{integration => datanucleus}/config/DataNucleusPropertiesAware.java   | 0
 .../jdo/{integration => datanucleus}/config/JdoEntityTypeRegistry.java    | 0
 .../{integration => datanucleus}/jdosupport/JdoSupportServiceDefault.java | 0
 .../metamodel/JdoIntegrationProgrammingModel.java                         | 0
 .../jdo/{integration => datanucleus}/metamodel/JdoMetamodelUtil.java      | 0
 .../metamodel/facets/entity/JdoEntityFacet.java                           | 0
 .../metamodel/facets/entity/JdoEntityFacetFactory.java                    | 0
 .../jdo/{integration => datanucleus}/schema/JdoSchemaService.java         | 0
 .../jdo/{integration => datanucleus}/schema/_DnApplication.java           | 0
 .../jdo/{integration => datanucleus}/schema/_DnApplicationComponents.java | 0
 .../jdo/{integration => datanucleus}/schema/_DnStoreManagerType.java      | 0
 .../config/JdoBeanTypeClassifier.java}                                    | 0
 .../recognizers/ExceptionRecognizerForJDODataStoreException.java          | 0
 .../recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java  | 0
 ...eExceptionIntegrityConstraintViolationForeignKeyNoActionException.java | 0
 .../recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java     | 0
 ...ecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java | 0
 .../exceptions/recognizers/_JdoNestedExceptionResolver.java               | 0
 21 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/_Utils.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/_Utils.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/CreateSchemaObjectFromClassMetadata.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/CreateSchemaObjectFromClassMetadata.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DataNucleusPropertiesAware.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DataNucleusPropertiesAware.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/JdoEntityTypeRegistry.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoEntityTypeRegistry.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/JdoEntityTypeRegistry.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/jdosupport/JdoSupportServiceDefault.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/JdoIntegrationProgrammingModel.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/JdoIntegrationProgrammingModel.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/JdoMetamodelUtil.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoMetamodelUtil.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/JdoMetamodelUtil.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacetFactory.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacetFactory.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/JdoSchemaService.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplication.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplicationComponents.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnApplicationComponents.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnStoreManagerType.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/schema/_DnStoreManagerType.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoBeanTypeClassifier.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/JdoBeanTypeClassifier.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/_JdoNestedExceptionResolver.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/exceptions/recognizers/_JdoNestedExceptionResolver.java


[isis] 01/03: ISIS-2486: moves jdo classes from datanucleus to integration.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2486-jdo-jpa-module-rationalize
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 68621e86ae7145d3e9cf4530001ed3de05fa474a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 17 16:02:25 2021 +0000

    ISIS-2486: moves jdo classes from datanucleus to integration.
    
    ... and fixes up mavendeps for jdo
---
 .../src/main/java/demoapp/dom/DemoModule.java      |  11 ++-
 examples/demo/pom.xml                              |  30 +++---
 mavendeps/jdo/pom.xml                              |  22 ++---
 mavendeps/jpa/pom.xml                              |  26 +++--
 persistence/jdo/datanucleus/pom.xml                |  29 +++---
 .../IsisModuleJdoProviderDatanucleus.java          | 110 ++++++++++++++++++++-
 .../changetracking/JdoLifecycleListener.java       |   0
 .../jdo/integration/changetracking/_Utils.java     |   0
 .../CreateSchemaObjectFromClassMetadata.java       |   0
 .../config/DataNucleusPropertiesAware.java         |   0
 .../jdosupport/JdoSupportServiceDefault.java       |   0
 .../metamodel/JdoIntegrationProgrammingModel.java  |   0
 .../metamodel/facets/entity/JdoEntityFacet.java    |   0
 .../facets/entity/JdoEntityFacetFactory.java       |   0
 .../jdo/integration/schema/JdoSchemaService.java   |   0
 .../jdo/integration/schema/_DnApplication.java     |   0
 .../schema/_DnApplicationComponents.java           |   0
 .../integration/schema/_DnStoreManagerType.java    |   0
 persistence/jdo/integration/pom.xml                |  33 +++----
 .../datanucleus/config/DnBeanTypeClassifier.java   |   0
 ...xceptionRecognizerForJDODataStoreException.java |   0
 ...RecognizerForJDODataStoreExceptionAbstract.java |   0
 ...traintViolationForeignKeyNoActionException.java |   0
 ...ionRecognizerForJDOObjectNotFoundException.java |   0
 ...yConstraintViolationUniqueOrIndexException.java |   0
 .../recognizers/_JdoNestedExceptionResolver.java   |   0
 .../jdo/integration/IsisModuleJdoIntegration.java  | 103 +------------------
 27 files changed, 178 insertions(+), 186 deletions(-)

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 0abcc0c..7af3112 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/DemoModule.java
@@ -32,15 +32,16 @@ import org.apache.isis.extensions.modelannotation.metamodel.IsisModuleExtModelAn
 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.integration.IsisModuleJdoIntegration;
 import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
 
 @Configuration
 @Import({
     IsisModuleCoreRuntimeServices.class,
-    
-    IsisModuleJdoIntegration.class,
-    
+
+    IsisModuleJdoProviderDatanucleus.class,
+
     IsisModuleTestingFixturesApplib.class,
 
     IsisModuleExtModelAnnotation.class, // @Model support
@@ -59,7 +60,7 @@ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
                 DemoModule.class
         })
 public class DemoModule {
-    
+
     @Bean
     public SecurityModuleConfig securityModuleConfigBean() {
         return SecurityModuleConfig.builder()
@@ -73,5 +74,5 @@ public class DemoModule {
     public PermissionsEvaluationService permissionsEvaluationService() {
         return new PermissionsEvaluationServiceAllowBeatsVeto();
     }
-    
+
 }
diff --git a/examples/demo/pom.xml b/examples/demo/pom.xml
index 471aa01..74e8ef5 100644
--- a/examples/demo/pom.xml
+++ b/examples/demo/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -141,17 +141,13 @@
 		</dependency>
 
 		<!-- PERSISTENCE -->
-		
+
 		<dependency>
 			<groupId>org.apache.isis.mavendeps</groupId>
 			<artifactId>isis-mavendeps-jdo</artifactId>
 			<type>pom</type>
 		</dependency>
 
-<!--         <dependency> -->
-<!--             <groupId>org.apache.isis.legacy</groupId> -->
-<!--             <artifactId>isis-legacy-jdo-datanucleus</artifactId> -->
-<!--         </dependency> -->
 
 		<!-- EXTENSIONS -->
 
@@ -199,7 +195,7 @@
 			<groupId>org.apache.isis.extensions</groupId>
 			<artifactId>isis-extensions-secman-shiro-realm</artifactId>
 		</dependency>
-		
+
 		<!-- OTHER DEPENDENCIES -->
 
 		<dependency>
@@ -214,7 +210,7 @@
 		</dependency>
 
 	</dependencies>
-	
+
 	<modules>
 		<module>domain</module>
 		<module>javafx</module>
@@ -223,4 +219,4 @@
 		<module>vaadin</module>
 	</modules>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/mavendeps/jdo/pom.xml b/mavendeps/jdo/pom.xml
index edf9547..f67663a 100644
--- a/mavendeps/jdo/pom.xml
+++ b/mavendeps/jdo/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -27,7 +27,7 @@
 
 	<name>Apache Isis Maven Deps - JDO</name>
 	<description>
-        Defines a module that provides the default JDO persistence layer integration 
+        Defines a module that provides the default JDO persistence layer integration
         for running an Apache Isis webapp (Wicket, Restful Objects and Shiro security).
     </description>
 
@@ -36,7 +36,7 @@
 		<!-- PERSISTENCE -->
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
-			<artifactId>isis-persistence-jdo-integration</artifactId>
+			<artifactId>isis-persistence-jdo-datanucleus</artifactId>
 		</dependency>
 
 		<!-- ISIS API -->
diff --git a/mavendeps/jpa/pom.xml b/mavendeps/jpa/pom.xml
index ec78802..b3c2e71 100644
--- a/mavendeps/jpa/pom.xml
+++ b/mavendeps/jpa/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -27,19 +27,15 @@
 
 	<name>Apache Isis Maven Deps - JPA</name>
 	<description>
-        Defines a module that provides the default JPA persistence layer integration 
+        Defines a module that provides the default JPA persistence layer integration
         for running an Apache Isis webapp (Wicket, Restful Objects and Shiro security).
     </description>
 
 	<dependencies>
-	
+
 		<!-- PERSISTENCE -->
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
-			<artifactId>isis-persistence-jpa-integration</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jpa-eclipselink</artifactId>
 		</dependency>
 
diff --git a/persistence/jdo/datanucleus/pom.xml b/persistence/jdo/datanucleus/pom.xml
index 51b6555..48c291a 100644
--- a/persistence/jdo/datanucleus/pom.xml
+++ b/persistence/jdo/datanucleus/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
@@ -37,7 +37,7 @@
 			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jdo-applib</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jdo-provider</artifactId>
@@ -69,8 +69,13 @@
 			<artifactId>datanucleus-jodatime</artifactId>
 		</dependency>
 
+		<dependency>
+			<groupId>org.apache.isis.persistence</groupId>
+			<artifactId>isis-persistence-jdo-integration</artifactId>
+		</dependency>
+
 		<!-- TESTING -->
-		
+
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-internaltestsupport</artifactId>
@@ -80,4 +85,4 @@
 	</dependencies>
 
 
-</project>
\ No newline at end of file
+</project>
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 27f06d5..ecda7ee 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
@@ -21,11 +21,19 @@ 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.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.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.config.DnSettings;
 import org.apache.isis.persistence.jdo.datanucleus.config.DnEntityDiscoveryListener;
 import org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
@@ -37,26 +45,41 @@ import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleu
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong;
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp;
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata;
+import org.apache.isis.persistence.jdo.integration.changetracking.JdoLifecycleListener;
+import org.apache.isis.persistence.jdo.integration.jdosupport.JdoSupportServiceDefault;
+import org.apache.isis.persistence.jdo.integration.metamodel.JdoIntegrationProgrammingModel;
+import org.apache.isis.persistence.jdo.integration.schema.JdoSchemaService;
+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({
     DnEntityDiscoveryListener.class,
     DnEntityStateProvider.class,
-    
+
     // @Mixin's
     Persistable_datanucleusIdLong.class,
     Persistable_datanucleusVersionLong.class,
     Persistable_datanucleusVersionTimestamp.class,
     Persistable_downloadJdoMetadata.class,
-    
+
+    // @Component's
+    JdoIntegrationProgrammingModel.class,
+
     // @Service's
     DnSettings.class,
-    
+    IsisModuleJdoProviderDatanucleus.class,
+    JdoSupportServiceDefault.class,
+    JdoSchemaService.class,
+
     ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.class,
     ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.class,
     ExceptionRecognizerForJDOObjectNotFoundException.class,
     ExceptionRecognizerForJDODataStoreException.class,
-    
+
 })
 public class IsisModuleJdoProviderDatanucleus {
 
@@ -66,5 +89,82 @@ public class IsisModuleJdoProviderDatanucleus {
     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].
+     * @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 @Primary @Named("transaction-aware-pmf-proxy")
+    public TransactionAwarePersistenceManagerFactoryProxy getTransactionAwarePersistenceManagerFactoryProxy(
+            final LocalPersistenceManagerFactoryBean localPmfBean) {
+
+        val pmf = localPmfBean.getObject(); // created once per application lifecycle
+
+        val tapmfProxy = new TransactionAwarePersistenceManagerFactoryProxy();
+        tapmfProxy.setTargetPersistenceManagerFactory(pmf);
+        tapmfProxy.setAllowCreate(false);
+        return tapmfProxy;
+    }
+
+    @Bean @Named("local-pmf-proxy")
+    public LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(
+            final MetaModelContext metaModelContext,
+            final EventBusService eventBusService,
+            final Provider<EntityChangeTracker> entityChangeTrackerProvider,
+            final DnSettings dnSettings) {
+
+        //final IsisBeanTypeRegistry beanTypeRegistry,
+        // final DnSettings dnSettings,
+        //final List<JdoEntityDiscoveryListener> jdoEntityDiscoveryListeners
+
+//      _NullSafe.stream(jdoEntityDiscoveryListeners)
+//      .forEach(listener->{
+//          listener.onEntitiesDiscovered(pmf, beanTypeRegistry.getEntityTypesJdo(), dnSettings.getAsMap());
+//      });
+
+        val lpmfBean = new LocalPersistenceManagerFactoryBean() {
+            @Override
+            protected PersistenceManagerFactory newPersistenceManagerFactory(java.util.Map<?,?> props) {
+                val pmf = super.newPersistenceManagerFactory(props);
+                integrateWithApplicationLayer(metaModelContext, eventBusService, entityChangeTrackerProvider, pmf);
+                return pmf;
+            }
+            @Override
+            protected PersistenceManagerFactory newPersistenceManagerFactory(String name) {
+                val pmf = super.newPersistenceManagerFactory(name);
+                integrateWithApplicationLayer(metaModelContext, eventBusService, entityChangeTrackerProvider, pmf);
+                return pmf;
+            }
+        };
+        lpmfBean.setJdoPropertyMap(dnSettings.getAsProperties());
+        return lpmfBean;
+    }
+
+    @Bean @Primary
+    @Named("jdo-platform-transaction-manager")
+    public JdoTransactionManager getTransactionManager(
+            LocalPersistenceManagerFactoryBean localPmfBean) {
+
+        val pmf = localPmfBean.getObject(); // created once per application lifecycle
+
+        return new JdoTransactionManager(pmf);
+    }
+
+    // -- HELPER
+
+    private static void integrateWithApplicationLayer(
+            final MetaModelContext metaModelContext,
+            final EventBusService eventBusService,
+            final Provider<EntityChangeTracker> entityChangeTrackerProvider,
+            final PersistenceManagerFactory pmf) {
+
+        // install JDO specific entity change listeners ...
+
+        val jdoLifecycleListener = new JdoLifecycleListener(metaModelContext, eventBusService, entityChangeTrackerProvider);
+        pmf.addInstanceLifecycleListener(jdoLifecycleListener, (Class[]) null);
+
+    }
+
 }
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/JdoLifecycleListener.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/changetracking/_Utils.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/CreateSchemaObjectFromClassMetadata.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/config/DataNucleusPropertiesAware.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/jdosupport/JdoSupportServiceDefault.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/JdoIntegrationProgrammingModel.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacet.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/metamodel/facets/entity/JdoEntityFacetFactory.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/JdoSchemaService.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplication.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnApplicationComponents.java
diff --git a/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java
similarity index 100%
rename from persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/integration/schema/_DnStoreManagerType.java
diff --git a/persistence/jdo/integration/pom.xml b/persistence/jdo/integration/pom.xml
index 056fd4b..f684aa5 100644
--- a/persistence/jdo/integration/pom.xml
+++ b/persistence/jdo/integration/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
@@ -42,7 +42,7 @@
 			<groupId>org.apache.isis.commons</groupId>
 			<artifactId>isis-commons</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
 			<artifactId>isis-applib</artifactId>
@@ -52,21 +52,16 @@
 			<groupId>org.apache.isis.core</groupId>
 			<artifactId>isis-core-runtime</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jdo-applib</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jdo-metamodel</artifactId>
 		</dependency>
-		
-		<dependency>
-			<groupId>org.apache.isis.persistence</groupId>
-			<artifactId>isis-persistence-jdo-datanucleus</artifactId>
-		</dependency>
 
 		<dependency>
 			<groupId>org.apache.isis.persistence</groupId>
@@ -74,7 +69,7 @@
 		</dependency>
 
 		<!-- TESTING -->
-		
+
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-internaltestsupport</artifactId>
@@ -84,4 +79,4 @@
 	</dependencies>
 
 
-</project>
\ No newline at end of file
+</project>
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/config/DnBeanTypeClassifier.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreException.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionAbstract.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForJDOObjectNotFoundException.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException.java
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java b/persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java
similarity index 100%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java
rename to persistence/jdo/integration/src/main/java/org/apache/isis/persistence/jdo/datanucleus/exceptions/recognizers/_JdoNestedExceptionResolver.java
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 493e2f7..0dab814 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,32 +18,12 @@
  */
 package org.apache.isis.persistence.jdo.integration;
 
-import javax.inject.Named;
-import javax.inject.Provider;
-import javax.jdo.PersistenceManagerFactory;
-
-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.applib.services.eventbus.EventBusService;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.runtime.IsisModuleCoreRuntime;
-import org.apache.isis.core.transaction.changetracking.EntityChangeTracker;
 import org.apache.isis.persistence.jdo.applib.IsisModulePersistenceJdoApplib;
-import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoProviderDatanucleus;
-import org.apache.isis.persistence.jdo.datanucleus.config.DnSettings;
-import org.apache.isis.persistence.jdo.integration.changetracking.JdoLifecycleListener;
-import org.apache.isis.persistence.jdo.integration.jdosupport.JdoSupportServiceDefault;
-import org.apache.isis.persistence.jdo.integration.metamodel.JdoIntegrationProgrammingModel;
-import org.apache.isis.persistence.jdo.integration.schema.JdoSchemaService;
 import org.apache.isis.persistence.jdo.metamodel.IsisModuleJdoMetamodel;
-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({
@@ -51,91 +31,10 @@ import lombok.val;
         IsisModuleCoreRuntime.class,
         IsisModulePersistenceJdoApplib.class,
         IsisModuleJdoMetamodel.class,
-        IsisModuleJdoProviderDatanucleus.class,
-
-        // @Component's
-        JdoIntegrationProgrammingModel.class,
-        
-        JdoSupportServiceDefault.class,
-        JdoSchemaService.class,
 
 })
 public class IsisModuleJdoIntegration {
-    
-    /**
-     * {@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 @Primary @Named("transaction-aware-pmf-proxy")
-    public TransactionAwarePersistenceManagerFactoryProxy getTransactionAwarePersistenceManagerFactoryProxy(
-            final LocalPersistenceManagerFactoryBean localPmfBean) {
-        
-        val pmf = localPmfBean.getObject(); // created once per application lifecycle
-        
-        val tapmfProxy = new TransactionAwarePersistenceManagerFactoryProxy();
-        tapmfProxy.setTargetPersistenceManagerFactory(pmf);
-        tapmfProxy.setAllowCreate(false);
-        return tapmfProxy;
-    }
-    
-    @Bean @Named("local-pmf-proxy") 
-    public LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(
-            final MetaModelContext metaModelContext,
-            final EventBusService eventBusService,
-            final Provider<EntityChangeTracker> entityChangeTrackerProvider,
-            final DnSettings dnSettings) {
 
-        //final IsisBeanTypeRegistry beanTypeRegistry,
-        // final DnSettings dnSettings,
-        //final List<JdoEntityDiscoveryListener> jdoEntityDiscoveryListeners
-        
-//      _NullSafe.stream(jdoEntityDiscoveryListeners)
-//      .forEach(listener->{
-//          listener.onEntitiesDiscovered(pmf, beanTypeRegistry.getEntityTypesJdo(), dnSettings.getAsMap());    
-//      });
-        
-        val lpmfBean = new LocalPersistenceManagerFactoryBean() {
-            @Override
-            protected PersistenceManagerFactory newPersistenceManagerFactory(java.util.Map<?,?> props) {
-                val pmf = super.newPersistenceManagerFactory(props);
-                integrateWithApplicationLayer(metaModelContext, eventBusService, entityChangeTrackerProvider, pmf);
-                return pmf;
-            }
-            @Override
-            protected PersistenceManagerFactory newPersistenceManagerFactory(String name) {
-                val pmf = super.newPersistenceManagerFactory(name);
-                integrateWithApplicationLayer(metaModelContext, eventBusService, entityChangeTrackerProvider, pmf);
-                return pmf;
-            }
-        };
-        lpmfBean.setJdoPropertyMap(dnSettings.getAsProperties());
-        return lpmfBean; 
-    }
 
-    @Bean @Primary @Named("jdo-platform-transaction-manager")
-    public JdoTransactionManager getTransactionManager(
-            LocalPersistenceManagerFactoryBean localPmfBean) {
-        
-        val pmf = localPmfBean.getObject(); // created once per application lifecycle
-        
-        return new JdoTransactionManager(pmf);    
-    }
-    
-    // -- HELPER
-    
-    private static void integrateWithApplicationLayer(
-            final MetaModelContext metaModelContext,
-            final EventBusService eventBusService,
-            final Provider<EntityChangeTracker> entityChangeTrackerProvider,
-            final PersistenceManagerFactory pmf) {
-        
-        // install JDO specific entity change listeners ...
-        
-        val jdoLifecycleListener = new JdoLifecycleListener(metaModelContext, eventBusService, entityChangeTrackerProvider);
-        pmf.addInstanceLifecycleListener(jdoLifecycleListener, (Class[]) null);
-        
-    }
-    
+
 }