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/10/02 08:16:31 UTC

[isis] branch v2 updated: ISIS-2158: convert IsisSystemEnvironment to be a Spring managed bean

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 897b4f1  ISIS-2158: convert IsisSystemEnvironment to be a Spring managed bean
897b4f1 is described below

commit 897b4f12106bf8a40404c6c379e30f48aab58a70
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Oct 2 10:16:22 2019 +0200

    ISIS-2158: convert IsisSystemEnvironment to be a Spring managed bean
---
 .../main/java/org/apache/isis/config/IsisConfigModule.java   | 10 ++++++++++
 .../main/java/org/apache/isis/config/IsisConfiguration.java  |  1 -
 .../java/org/apache/isis/config/IsisConfigurationLegacy.java | 12 ++----------
 .../metamodel/services/registry/ServiceRegistryDefault.java  | 10 +++++++---
 .../isis/webapp/modules/h2console/WebModuleH2Console.java    |  9 ++++-----
 5 files changed, 23 insertions(+), 19 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 18bbe2a..8a69c08 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,10 +18,15 @@
  */
 package org.apache.isis.config;
 
+import javax.inject.Singleton;
+
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
+import org.apache.isis.commons.internal.plugins.environment.IsisSystemEnvironment;
+
 @Configuration
 @Import({
     //IsisConfiguration.class // not required
@@ -30,4 +35,9 @@ import org.springframework.context.annotation.Import;
 @EnableConfigurationProperties(IsisConfiguration.class)
 public class IsisConfigModule {
 
+    @Bean @Singleton
+    public IsisSystemEnvironment isisSystemEnvironment() {
+        return IsisSystemEnvironment.DEFAULT;
+    }
+    
 }
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 1c1516a..9d1b6c5 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
@@ -18,7 +18,6 @@
  */
 package org.apache.isis.config;
 
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfigurationLegacy.java b/core/config/src/main/java/org/apache/isis/config/IsisConfigurationLegacy.java
index a1976b8..fb0a553 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfigurationLegacy.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfigurationLegacy.java
@@ -25,7 +25,6 @@ import java.util.Map;
 import java.util.TreeMap;
 
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.commons.internal.plugins.environment.IsisSystemEnvironment;
 
 import lombok.val;
@@ -207,16 +206,9 @@ public interface IsisConfigurationLegacy {
      */
     Map<String, String> copyToMap();
 
-    /**
-     * pre-bootstrapping configuration
-     */
-    default public IsisSystemEnvironment getEnvironment() {
-        return _Context.getEnvironment();
-    }
-
     // -- TO STRING
 
-    default public String toStringFormatted() {
+    default public String toStringFormatted(IsisSystemEnvironment isisSystemEnvironment) {
 
         val sb = new StringBuilder();
         val configuration = this.subset("isis");
@@ -225,7 +217,7 @@ public interface IsisConfigurationLegacy {
                 ConfigurationConstants.maskIfProtected(configuration.copyToMap(), TreeMap::new);
 
         String head = String.format("APACHE ISIS %s (%s) ", 
-                IsisConfigurationLegacy.getVersion(), getEnvironment().getDeploymentType().name());
+                IsisConfigurationLegacy.getVersion(), isisSystemEnvironment.getDeploymentType().name());
         final int fillCount = 46-head.length();
         final int fillLeft = fillCount/2;
         final int fillRight = fillCount-fillLeft;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
index 48c29b2..24583c0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/registry/ServiceRegistryDefault.java
@@ -23,6 +23,7 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Stream;
 
+import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.springframework.beans.BeansException;
@@ -43,6 +44,7 @@ import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.commons.internal.ioc.BeanAdapter;
 import org.apache.isis.commons.internal.ioc.spring._Spring;
+import org.apache.isis.commons.internal.plugins.environment.IsisSystemEnvironment;
 import org.apache.isis.commons.internal.reflection._Reflect;
 import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.config.internal._Config;
@@ -56,6 +58,8 @@ import lombok.extern.log4j.Log4j2;
  */
 @Service @Log4j2
 public final class ServiceRegistryDefault implements ServiceRegistry, ApplicationContextAware {
+    
+    @Inject private IsisSystemEnvironment isisSystemEnvironment; 
 
     @Override
     public void setApplicationContext(ApplicationContext springContext) throws BeansException {
@@ -79,13 +83,13 @@ public final class ServiceRegistryDefault implements ServiceRegistry, Applicatio
         isisConfigurationLegacy = _Config.getConfiguration(); // finalize config
 
         // dump config to log
-        if(log.isInfoEnabled() && !isisConfigurationLegacy.getEnvironment().isUnitTesting()) {
-            log.info("\n" + _Config.getConfiguration().toStringFormatted());
+        if(log.isInfoEnabled() && !isisSystemEnvironment.isUnitTesting()) {
+            log.info("\n" + _Config.getConfiguration().toStringFormatted(isisSystemEnvironment));
         }    
 
     }
 
-    @Bean @Singleton
+    @Bean @Singleton @Deprecated
     public IsisConfigurationLegacy getConfigurationLegacy() {
         return isisConfigurationLegacy;
     }
diff --git a/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java b/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
index d4ec2b1..10b571c 100644
--- a/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
+++ b/core/runtime-web/src/main/java/org/apache/isis/webapp/modules/h2console/WebModuleH2Console.java
@@ -23,14 +23,14 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletContextListener;
 import javax.servlet.ServletException;
 
-import org.apache.isis.config.IsisConfiguration;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.value.LocalResourcePath;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.context._Context;
-import org.apache.isis.config.IsisConfigurationLegacy;
+import org.apache.isis.commons.internal.plugins.environment.IsisSystemEnvironment;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.webapp.modules.WebModule;
 import org.apache.isis.webapp.modules.WebModuleContext;
 
@@ -40,9 +40,8 @@ import lombok.val;
 @Service @Order(0)
 public class WebModuleH2Console implements WebModule  {
 
-    @Inject private IsisConfigurationLegacy isisConfigurationLegacy;
     @Inject IsisConfiguration isisConfiguration;
-
+    @Inject IsisSystemEnvironment isisSystemEnvironment;
 
     private final static String SERVLET_NAME = "H2Console";
     private final static String SERVLET_CLASS_NAME = "org.h2.server.web.WebServlet";
@@ -85,7 +84,7 @@ public class WebModuleH2Console implements WebModule  {
 
     private boolean canEnable(WebModuleContext ctx) {
 
-        if(!isisConfigurationLegacy.getEnvironment().getDeploymentType().isPrototyping()) {
+        if(!isisSystemEnvironment.getDeploymentType().isPrototyping()) {
             return false;
         }