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/01 10:22:31 UTC

[isis] branch v2 updated: ISIS-2158: have IsisConfiguration not depend on any Isis service

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 087d154  ISIS-2158: have IsisConfiguration not depend on any Isis service
087d154 is described below

commit 087d15474959f5d123b321b3f389332a25cf3488
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Oct 1 12:22:22 2019 +0200

    ISIS-2158: have IsisConfiguration not depend on any Isis service
---
 .../org/apache/isis/config/IsisConfiguration.java  | 37 ++++++++++++----------
 .../services/registry/ServiceRegistryDefault.java  |  7 ----
 2 files changed, 21 insertions(+), 23 deletions(-)

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 27f7b2c..f70934b 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,17 +18,27 @@
  */
 package org.apache.isis.config;
 
-import lombok.Data;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
+import org.springframework.core.convert.converter.Converter;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.stereotype.Component;
+
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Maps;
+import org.apache.isis.commons.internal.ioc.spring._Spring;
 import org.apache.isis.metamodel.facets.actions.action.command.CommandActionsConfiguration;
 import org.apache.isis.metamodel.facets.actions.action.publishing.PublishActionsConfiguration;
 import org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditObjectsConfiguration;
@@ -40,11 +50,9 @@ import org.apache.isis.metamodel.facets.properties.property.publishing.PublishPr
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeaturesInitConfiguration;
 import org.apache.isis.metamodel.specloader.IntrospectionMode;
 import org.apache.isis.viewer.wicket.ui.DialogMode;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
-import org.springframework.core.convert.converter.Converter;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Component;
+
+import lombok.Data;
+import lombok.Getter;
 
 
 /**
@@ -61,18 +69,15 @@ import org.springframework.stereotype.Component;
 @Data
 public class IsisConfiguration {
 
+    @Autowired
+    private ConfigurableEnvironment environment;
+    
     /**
      * Not populated by Spring!
      * @deprecated maybe using {@link #environment} is the better choice!?
      */
-    @Deprecated 
-    private final Map<String, String> rawKeyValueMap = new HashMap<String, String>();
-    
-    /**
-     * Not populated by Spring, but as an alternative can also be injected into managed beans!
-     */
-    private Environment environment;
-    
+    @Getter(lazy = true) @Deprecated
+    private final Map<String, String> rawKeyValueMap = _Spring.copySpringEnvironmentToMap(environment);
     
     private final Authentication authentication = new Authentication();
     @Data
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 9431052..48c29b2 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,7 +23,6 @@ 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;
@@ -45,7 +44,6 @@ 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.reflection._Reflect;
-import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.config.internal._Config;
 import org.apache.isis.config.registry.IsisBeanTypeRegistry;
@@ -59,8 +57,6 @@ import lombok.extern.log4j.Log4j2;
 @Service @Log4j2
 public final class ServiceRegistryDefault implements ServiceRegistry, ApplicationContextAware {
 
-    @Inject private IsisConfiguration isisConfiguration;
-    
     @Override
     public void setApplicationContext(ApplicationContext springContext) throws BeansException {
 
@@ -77,9 +73,6 @@ public final class ServiceRegistryDefault implements ServiceRegistry, Applicatio
         
         val rawKeyValueMap = _Spring.copySpringEnvironmentToMap(configurableEnvironment);
         _Config.putAll(rawKeyValueMap);
-        
-        isisConfiguration.getRawKeyValueMap().putAll(rawKeyValueMap);
-        isisConfiguration.setEnvironment(configurableEnvironment);
 
         log.info("Spring's context was passed over to Isis");