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 2019/06/28 12:53:45 UTC

[isis] branch v2 updated: ISIS-2126 fixes provisioning error by disabling the TimestampService

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

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


The following commit(s) were added to refs/heads/v2 by this push:
     new 35fdb8c  ISIS-2126 fixes provisioning error by disabling the TimestampService
35fdb8c is described below

commit 35fdb8c1a5c82ddd32d919f34f2b566a31200606
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jun 28 14:53:38 2019 +0200

    ISIS-2126 fixes provisioning error by disabling the TimestampService
    
    - which initialized too early, marked deprecated ... still needed?
---
 .../java/org/apache/isis/jdo/IsisJdoModule.java    | 23 ----------------------
 .../service/support/TimestampService.java          |  2 ++
 .../org/apache/isis/jdo/IsisBootDataNucleus.java   | 18 +++++++++++++++++
 .../spi => jdosupport}/IsisJdoSupportPlugin5.java  |  2 +-
 .../org/apache/isis/jdo/persistence/Utils.java     |  2 +-
 ...rg.apache.isis.metamodel.IsisJdoMetamodelPlugin |  2 +-
 ...e.isis.runtime.persistence.IsisJdoRuntimePlugin |  2 +-
 .../src/main/resources/plugin.xml                  | 14 ++++++-------
 .../domainapp/application/DemoAppManifest.java     |  4 ++--
 .../application/HelloWorldAppManifest.java         |  3 ++-
 .../isis/testdomain/jdo/JdoTestApplication.java    |  2 +-
 .../isis/testdomain/jdo/JdoTestDomainModule.java   | 21 ++++++++++++--------
 .../testdomain/tests/JdoBootstrappingTest.java     |  4 ----
 13 files changed, 49 insertions(+), 50 deletions(-)

diff --git a/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/IsisJdoModule.java b/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/IsisJdoModule.java
deleted file mode 100644
index 7332ae7..0000000
--- a/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/IsisJdoModule.java
+++ /dev/null
@@ -1,23 +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.
- */
-package org.apache.isis.jdo;
-
-public final class IsisJdoModule {
-
-}
diff --git a/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/datanucleus/service/support/TimestampService.java b/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/datanucleus/service/support/TimestampService.java
index 56c9a25..8b9d8b0 100644
--- a/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/datanucleus/service/support/TimestampService.java
+++ b/core/plugins/jdo-common/src/main/java/org/apache/isis/jdo/datanucleus/service/support/TimestampService.java
@@ -19,6 +19,7 @@ package org.apache.isis.jdo.datanucleus.service.support;
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Vetoed;
 import javax.jdo.listener.InstanceLifecycleEvent;
 
 import org.apache.isis.applib.annotation.DomainService;
@@ -36,6 +37,7 @@ import org.apache.isis.metamodel.JdoMetamodelUtil;
         nature = NatureOfService.DOMAIN,
         menuOrder = "" + Integer.MAX_VALUE
         )
+@Vetoed @Deprecated //FIXME is this still required? does initialize too early 
 public class TimestampService implements
 javax.jdo.listener.StoreLifecycleListener {
 
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/IsisBootDataNucleus.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/IsisBootDataNucleus.java
new file mode 100644
index 0000000..edfc2d0
--- /dev/null
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/IsisBootDataNucleus.java
@@ -0,0 +1,18 @@
+package org.apache.isis.jdo;
+
+import org.apache.isis.jdo.jdosupport.IsisJdoSupportDN5;
+import org.apache.isis.jdo.metrics.MetricsServiceDefault;
+import org.apache.isis.jdo.transaction.IsisPlatformTransactionManagerForJdo;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@Import({
+	//TimestampService.class, //FIXME initializes too early 
+	MetricsServiceDefault.class,
+	IsisJdoSupportDN5.class,
+	IsisPlatformTransactionManagerForJdo.class,
+})
+public class IsisBootDataNucleus {
+
+}
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/spi/IsisJdoSupportPlugin5.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/jdosupport/IsisJdoSupportPlugin5.java
similarity index 96%
rename from core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/spi/IsisJdoSupportPlugin5.java
rename to core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/jdosupport/IsisJdoSupportPlugin5.java
index 678dc6f..3a3d29e 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/datanucleus/persistence/spi/IsisJdoSupportPlugin5.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/jdosupport/IsisJdoSupportPlugin5.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.jdo.datanucleus.persistence.spi;
+package org.apache.isis.jdo.jdosupport;
 
 import java.lang.reflect.Method;
 
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/persistence/Utils.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/persistence/Utils.java
index b9ace18..ac4cc87 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/persistence/Utils.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/jdo/persistence/Utils.java
@@ -26,7 +26,7 @@ import org.datanucleus.enhancement.Persistable;
 import org.apache.isis.metamodel.adapter.version.Version;
 import org.apache.isis.security.authentication.AuthenticationSession;
 
-public class Utils {
+final class Utils {
 
     @SuppressWarnings("unused")
     private static Object jdoObjectIdFor(InstanceLifecycleEvent event) {
diff --git a/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.metamodel.IsisJdoMetamodelPlugin b/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.metamodel.IsisJdoMetamodelPlugin
index e466753..4a6e9b3 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.metamodel.IsisJdoMetamodelPlugin
+++ b/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.metamodel.IsisJdoMetamodelPlugin
@@ -1 +1 @@
-org.apache.isis.jdo.datanucleus.persistence.spi.IsisJdoSupportPlugin5
\ No newline at end of file
+org.apache.isis.jdo.jdosupport.IsisJdoSupportPlugin5
\ No newline at end of file
diff --git a/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.runtime.persistence.IsisJdoRuntimePlugin b/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.runtime.persistence.IsisJdoRuntimePlugin
index e466753..4a6e9b3 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.runtime.persistence.IsisJdoRuntimePlugin
+++ b/core/plugins/jdo-datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.runtime.persistence.IsisJdoRuntimePlugin
@@ -1 +1 @@
-org.apache.isis.jdo.datanucleus.persistence.spi.IsisJdoSupportPlugin5
\ No newline at end of file
+org.apache.isis.jdo.jdosupport.IsisJdoSupportPlugin5
\ No newline at end of file
diff --git a/core/plugins/jdo-datanucleus-5/src/main/resources/plugin.xml b/core/plugins/jdo-datanucleus-5/src/main/resources/plugin.xml
index c3d7745..29fc407 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/resources/plugin.xml
+++ b/core/plugins/jdo-datanucleus-5/src/main/resources/plugin.xml
@@ -28,13 +28,13 @@
     <extension point="org.datanucleus.store.rdbms.java_mapping">
         <mapping
             java-type="org.apache.isis.applib.value.Blob"
-            mapping-class="org.apache.isis.objectstore.jdo.datanucleus.valuetypes.IsisBlobMapping"/>
+            mapping-class="org.apache.isis.jdo.datanucleus.valuetypes.IsisBlobMapping"/>
         <mapping
             java-type="org.apache.isis.applib.value.Clob"
-            mapping-class="org.apache.isis.objectstore.jdo.datanucleus.valuetypes.IsisClobMapping"/>
+            mapping-class="org.apache.isis.jdo.datanucleus.valuetypes.IsisClobMapping"/>
         <mapping
             java-type="org.apache.isis.applib.value.Money"
-            mapping-class="org.apache.isis.objectstore.jdo.datanucleus.valuetypes.IsisMoneyMapping"/>
+            mapping-class="org.apache.isis.jdo.datanucleus.valuetypes.IsisMoneyMapping"/>
     </extension>
 
 
@@ -47,14 +47,14 @@
                 jdbc-type="BLOB"
                 sql-type="BLOB"
                 default="true"
-                column-mapping-class="org.apache.isis.objectstore.jdo.datanucleus.valuemappings.ByteArrayBlobRdbmsMapping">
+                column-mapping-class="org.apache.isis.jdo.datanucleus.valuemappings.ByteArrayBlobRdbmsMapping">
         </mapping>
         <mapping
                 java-type="[Ljava.lang.Byte;"
                 jdbc-type="BLOB"
                 sql-type="BLOB"
                 default="true"
-                column-mapping-class="org.apache.isis.objectstore.jdo.datanucleus.valuemappings.ByteArrayBlobRdbmsMapping">
+                column-mapping-class="org.apache.isis.jdo.datanucleus.valuemappings.ByteArrayBlobRdbmsMapping">
         </mapping>
     </extension>
 
@@ -83,7 +83,7 @@
                 name="isis.password-string"
                 member-type="org.apache.isis.applib.value.Password"
                 datastore-type="java.lang.String"
-                converter-class="org.apache.isis.objectstore.jdo.datanucleus.typeconverters.IsisPasswordConverter"/>
+                converter-class="org.apache.isis.jdo.datanucleus.typeconverters.IsisPasswordConverter"/>
     </extension>
 
     <!--
@@ -94,7 +94,7 @@
                 name="isis.markup-string"
                 member-type="org.apache.isis.applib.value.Markup"
                 datastore-type="java.lang.String"
-                converter-class="org.apache.isis.objectstore.jdo.datanucleus.typeconverters.IsisMarkupConverter"/>
+                converter-class="org.apache.isis.jdo.datanucleus.typeconverters.IsisMarkupConverter"/>
     </extension>
 
 </plugin>
diff --git a/example/application/demo/src/main/java/domainapp/application/DemoAppManifest.java b/example/application/demo/src/main/java/domainapp/application/DemoAppManifest.java
index bcd1f8d..35b6bae 100644
--- a/example/application/demo/src/main/java/domainapp/application/DemoAppManifest.java
+++ b/example/application/demo/src/main/java/domainapp/application/DemoAppManifest.java
@@ -23,7 +23,7 @@ import javax.inject.Singleton;
 import org.apache.isis.config.Presets;
 import org.apache.isis.config.beans.IsisBeanScanInterceptorForSpring;
 import org.apache.isis.config.beans.WebAppConfigBean;
-import org.apache.isis.jdo.transaction.IsisPlatformTransactionManagerForJdo;
+import org.apache.isis.jdo.IsisBootDataNucleus;
 import org.apache.isis.security.shiro.IsisBootSecurityShiro;
 import org.apache.isis.viewer.wicket.viewer.IsisBootWebWicket;
 import org.springframework.context.annotation.Bean;
@@ -49,7 +49,7 @@ import domainapp.dom.DemoModule;
 })
 @Import({
     IsisBootSecurityShiro.class,
-    IsisPlatformTransactionManagerForJdo.class,
+    IsisBootDataNucleus.class,
     IsisBootWebWicket.class,
 })
 @ComponentScan(
diff --git a/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java b/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
index fcec2b0..e7bf192 100644
--- a/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
+++ b/example/application/helloworld/src/main/java/domainapp/application/HelloWorldAppManifest.java
@@ -23,6 +23,7 @@ import javax.inject.Singleton;
 import org.apache.isis.config.Presets;
 import org.apache.isis.config.beans.IsisBeanScanInterceptorForSpring;
 import org.apache.isis.config.beans.WebAppConfigBean;
+import org.apache.isis.jdo.IsisBootDataNucleus;
 import org.apache.isis.jdo.transaction.IsisPlatformTransactionManagerForJdo;
 import org.apache.isis.security.shiro.IsisBootSecurityShiro;
 import org.apache.isis.viewer.restfulobjects.IsisBootWebRestfulObjects;
@@ -53,7 +54,7 @@ import domainapp.dom.HelloWorldModule;
 	IsisBootWebRestfulObjects.class,
     IsisBootWebWicket.class,
     IsisBootSecurityShiro.class,
-    IsisPlatformTransactionManagerForJdo.class
+    IsisBootDataNucleus.class,
 })
 @ComponentScan(
         basePackageClasses= {
diff --git a/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestApplication.java b/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestApplication.java
index 000f581..c691ac2 100644
--- a/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestApplication.java
+++ b/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestApplication.java
@@ -22,7 +22,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 import org.apache.isis.runtime.spring.IsisBoot;
 
-@SpringBootApplication(scanBasePackageClasses= {JdoTestDomainModule.class, IsisBoot.class})
+@SpringBootApplication(scanBasePackageClasses= {JdoTestDomainModule.class})
 public class JdoTestApplication {
     
 
diff --git a/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestDomainModule.java b/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestDomainModule.java
index 1e7df4d..c05ea79 100644
--- a/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestDomainModule.java
+++ b/example/misc/smoketest/src/main/java/org/apache/isis/testdomain/jdo/JdoTestDomainModule.java
@@ -19,6 +19,12 @@ package org.apache.isis.testdomain.jdo;
 import javax.enterprise.inject.Produces;
 import javax.inject.Singleton;
 
+import org.apache.isis.config.Presets;
+import org.apache.isis.config.beans.IsisBeanScanInterceptorForSpring;
+import org.apache.isis.config.beans.WebAppConfigBean;
+import org.apache.isis.jdo.IsisBootDataNucleus;
+import org.apache.isis.runtime.spring.IsisBoot;
+import org.apache.isis.security.IsisBootSecurityBypass;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScan.Filter;
@@ -27,17 +33,16 @@ import org.springframework.context.annotation.FilterType;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
-import org.apache.isis.config.Presets;
-import org.apache.isis.config.beans.IsisBeanScanInterceptorForSpring;
-import org.apache.isis.config.beans.WebAppConfigBean;
-import org.apache.isis.security.IsisBootSecurityBypass;
 
 @Configuration
-
-@Import({IsisBootSecurityBypass.class})
+@Import({
+	IsisBoot.class,
+	IsisBootSecurityBypass.class,
+	IsisBootDataNucleus.class,
+})
 @ComponentScan(
-        basePackageClasses= {
-                JdoTestDomainModule.class
+        basePackageClasses= {        		
+        		JdoTestDomainModule.class
         },
         includeFilters= {
                 @Filter(type = FilterType.CUSTOM, classes= {IsisBeanScanInterceptorForSpring.class})
diff --git a/example/misc/smoketest/src/test/java/org/apache/isis/testdomain/tests/JdoBootstrappingTest.java b/example/misc/smoketest/src/test/java/org/apache/isis/testdomain/tests/JdoBootstrappingTest.java
index 376cf49..0863063 100644
--- a/example/misc/smoketest/src/test/java/org/apache/isis/testdomain/tests/JdoBootstrappingTest.java
+++ b/example/misc/smoketest/src/test/java/org/apache/isis/testdomain/tests/JdoBootstrappingTest.java
@@ -20,7 +20,6 @@ package org.apache.isis.testdomain.tests;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
 
 import java.sql.SQLException;
 import java.util.HashSet;
@@ -30,8 +29,6 @@ import javax.inject.Inject;
 
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.jdo.transaction.IsisPlatformTransactionManagerForJdo;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.runtime.system.session.IsisSession;
 import org.apache.isis.testdomain.jdo.Book;
 import org.apache.isis.testdomain.jdo.Inventory;
 import org.apache.isis.testdomain.jdo.JdoTestDomainModule;
@@ -50,7 +47,6 @@ import lombok.val;
 
 @SpringBootTest(
 	classes = { 
-		IsisBoot.class, 
 		JdoTestDomainModule.class,
 		IsisPlatformTransactionManagerForJdo.class,
 	},