[ 
https://issues.apache.org/jira/browse/SCB-456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423725#comment-16423725
 ] 

ASF GitHub Bot commented on SCB-456:
------------------------------------

liubao68 closed pull request #632: [SCB-456]Provider a way to input 
configuration from a Map
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/632
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
index fbef8a9a1..7e9917624 100644
--- 
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
+++ 
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
@@ -52,9 +52,15 @@
 
   private static final String MICROSERVICE_CONFIG_LOADER_KEY = 
"cse-microservice-config-loader";
 
+  private static ConfigModel model = new ConfigModel();
+
   private ConfigUtil() {
   }
 
+  public static void addConfigs(Map<String, Object> config) {
+    model.setConfig(config);
+  }
+
   public static Object getProperty(String key) {
     Object config = DynamicPropertyFactory.getBackingConfigurationSource();
     return getProperty(config, key);
@@ -83,6 +89,9 @@ public static MicroserviceConfigLoader 
getMicroserviceConfigLoader(Configuration
   public static ConcurrentCompositeConfiguration createLocalConfig() {
     MicroserviceConfigLoader loader = new MicroserviceConfigLoader();
     loader.loadAndSort();
+    if(model.getConfig() != null) {
+      loader.getConfigModels().add(model);
+    }
 
     LOGGER.info("create local config:");
     for (ConfigModel configModel : loader.getConfigModels()) {
@@ -94,6 +103,8 @@ public static ConcurrentCompositeConfiguration 
createLocalConfig() {
     return config;
   }
 
+
+
   public static ConcurrentCompositeConfiguration 
createLocalConfig(List<ConfigModel> configModelList) {
     ConcurrentCompositeConfiguration config = new 
ConcurrentCompositeConfiguration();
 
diff --git 
a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigUtil.java
 
b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigUtil.java
index 27fe3586d..08846e1a5 100644
--- 
a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigUtil.java
+++ 
b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigUtil.java
@@ -27,6 +27,7 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 
 import org.apache.commons.configuration.AbstractConfiguration;
 import org.apache.commons.configuration.Configuration;
@@ -80,6 +81,16 @@ public static void tearDown() throws Exception {
     ArchaiusUtils.resetConfig();
   }
 
+  @Test
+  public void testAddConfig() {
+    Map config = new HashMap<String, Object>();
+    config.put("APPLICATION_ID", "app");
+    ConfigUtil.addConfigs(config);
+    ConcurrentCompositeConfiguration configuration = 
ConfigUtil.createLocalConfig();
+    Assert.assertEquals(configuration.getString("APPLICATION_ID"), "app");
+
+  }
+
   @Test
   public void testCreateConfigFromConfigCenterNoUrl(@Mocked Configuration 
localConfiguration) {
     AbstractConfiguration configFromConfigCenter = 
ConfigUtil.createConfigFromConfigCenter(localConfiguration);


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Provider a way to input configuration from a Map, instead of  
> micreservice.yaml
> -------------------------------------------------------------------------------
>
>                 Key: SCB-456
>                 URL: https://issues.apache.org/jira/browse/SCB-456
>             Project: Apache ServiceComb
>          Issue Type: Task
>            Reporter: Minzhi Yan
>            Assignee: Minzhi Yan
>            Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to