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;