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/09/27 13:12:32 UTC

[isis] branch v2 updated: ISIS-2086: disable class-path scanning for the 'config' module

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 fe87f88  ISIS-2086: disable class-path scanning for the 'config' module
fe87f88 is described below

commit fe87f88a3d9ff7222d2416fe7a7f0fbede4051d7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 27 15:12:23 2019 +0200

    ISIS-2086: disable class-path scanning for the 'config' module
    
    - also removes the @Configuration annotation from 'IsisConfiguration'
    which is just a bean
    - instead annotate 'IsisConfigModule' with @Configuration
    
    also fixes the sample apps and smoketests that got broken with one of
    the previous config related commits today
---
 .../main/java/org/apache/isis/config/IsisConfigModule.java    | 10 ++++++++--
 .../main/java/org/apache/isis/config/IsisConfiguration.java   |  8 ++------
 .../metamodel/services/repository/RepositoryServiceJdo.java   | 11 +++++------
 .../main/java/org/apache/isis/runtime/spring/IsisBoot.java    |  7 +++++--
 examples/smoketests/src/main/resources/application.properties |  0
 .../org/apache/isis/testdomain/config/IsisConfigBeanTest.java |  5 +++--
 ...figBeanTest.java => IsisConfigBeanTest_usingHeadless.java} |  5 +++--
 7 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java b/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
index 69762b2..bcb5077 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
@@ -18,9 +18,15 @@
  */
 package org.apache.isis.config;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
 
-@XmlRootElement(name = "module")
+@Configuration
+//@Import({
+//    IsisConfiguration.class // not required
+//XXX if this module would contribute any managed beans, these would go here
+//})
+@EnableConfigurationProperties(IsisConfiguration.class)
 public class IsisConfigModule {
 
 }
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index d05595f..31a898d 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -19,8 +19,6 @@
 package org.apache.isis.config;
 
 import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
 
 import lombok.Data;
 
@@ -34,9 +32,7 @@ import lombok.Data;
  * @since 2.0
  *
  */
-@Configuration
 @ConfigurationProperties(ConfigurationConstants.ROOT_PREFIX)
-@EnableConfigurationProperties(IsisConfiguration.class)
 @Data
 public class IsisConfiguration {
 
@@ -58,12 +54,12 @@ public class IsisConfiguration {
         }
     }
 
-    private Services services;
+    private final Services services = new Services();
     
     @Data
     public static class Services {
 
-        private final Services.Container container = new Container();
+        private final Container container = new Container();
 
         @Data
         public static class Container {
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/repository/RepositoryServiceJdo.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/repository/RepositoryServiceJdo.java
index e7dc9bd..8d4351e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/repository/RepositoryServiceJdo.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/repository/RepositoryServiceJdo.java
@@ -33,30 +33,28 @@ import org.apache.isis.applib.RepositoryException;
 import org.apache.isis.applib.query.Query;
 import org.apache.isis.applib.query.QueryFindAllInstances;
 import org.apache.isis.applib.services.factory.FactoryService;
-import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.metamodel.services.persistsession.PersistenceSessionServiceInternal;
 
+import lombok.val;
+
 @Singleton
 public class RepositoryServiceJdo implements RepositoryService {
 
     private boolean autoFlush;
 
-    @Inject
-    IsisConfiguration isisConfigProperties;
-
     @PostConstruct
     public void init() {
-        final boolean disableAutoFlush = isisConfigProperties.getServices().getContainer().isDisableAutoFlush();
+        val disableAutoFlush = isisConfiguration.getServices().getContainer().isDisableAutoFlush();
         this.autoFlush = !disableAutoFlush;
     }
 
-
     // //////////////////////////////////////
 
 
@@ -217,6 +215,7 @@ public class RepositoryServiceJdo implements RepositoryService {
     @Inject WrapperFactory wrapperFactory;
     @Inject TransactionService transactionService;
     @Inject PersistenceSessionServiceInternal persistenceSessionServiceInternal;
+    @Inject IsisConfiguration isisConfiguration;
 
 
 
diff --git a/core/runtime-extensions/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java b/core/runtime-extensions/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java
index c31777a..5090489 100644
--- a/core/runtime-extensions/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java
+++ b/core/runtime-extensions/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java
@@ -26,6 +26,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScan.Filter;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Import;
 
 import org.apache.isis.applib.IsisApplibModule;
 import org.apache.isis.config.beans.IsisBeanScanInterceptorForSpring;
@@ -34,11 +35,13 @@ import org.apache.isis.runtime.IsisRuntimeModule;
 import org.apache.isis.runtime.services.IsisRuntimeServicesModule;
 import org.apache.isis.wrapper.IsisWrapperModule;
 
-@Configuration 
+@Configuration
+@Import({
+    IsisConfigModule.class,
+})
 @ComponentScan(
         basePackageClasses= {
                 IsisApplibModule.class,
-                IsisConfigModule.class,
                 IsisMetamodelModule.class,
                 IsisRuntimeModule.class,
                 IsisRuntimeServicesModule.class,
diff --git a/examples/smoketests/src/main/resources/application.properties b/examples/smoketests/src/main/resources/application.properties
new file mode 100644
index 0000000..e69de29
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
index 41300b5..bd841bc 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
@@ -24,6 +24,7 @@ import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.TestPropertySource;
 
+import org.apache.isis.config.IsisConfigModule;
 import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.testdomain.Smoketest;
 
@@ -33,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @Smoketest
 @SpringBootTest(
         classes = { 
-                IsisConfiguration.class
+                IsisConfigModule.class
         }, 
         properties = {
                 "logging.config=log4j2-test.xml",
@@ -41,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @TestPropertySource({
     "classpath:/application-config-test.properties"
 })
-public class IsisConfigBeanTest {
+class IsisConfigBeanTest {
 
     @Inject private IsisConfiguration isisConfiguration;
 
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest_usingHeadless.java
similarity index 92%
copy from examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
copy to examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest_usingHeadless.java
index 41300b5..c2792db 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest_usingHeadless.java
@@ -26,6 +26,7 @@ import org.springframework.test.context.TestPropertySource;
 
 import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.testdomain.Smoketest;
+import org.apache.isis.testdomain.conf.Configuration_headless;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @Smoketest
 @SpringBootTest(
         classes = { 
-                IsisConfiguration.class
+                Configuration_headless.class
         }, 
         properties = {
                 "logging.config=log4j2-test.xml",
@@ -41,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @TestPropertySource({
     "classpath:/application-config-test.properties"
 })
-public class IsisConfigBeanTest {
+class IsisConfigBeanTest_usingHeadless {
 
     @Inject private IsisConfiguration isisConfiguration;