[ 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)