This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit 45b6c7a71b8a5aa7a0c7041369e8b1cfdc0bc39c Author: yanminzhi <jason.onion...@gmail.com> AuthorDate: Mon Apr 2 21:14:21 2018 +0800 [SCB-456]Provider a way to input configuration from a Map --- .../main/java/org/apache/servicecomb/config/ConfigUtil.java | 11 +++++++++++ .../java/org/apache/servicecomb/config/TestConfigUtil.java | 11 +++++++++++ 2 files changed, 22 insertions(+) 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 fbef8a9..7e99176 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 @@ public final class ConfigUtil { 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 final class ConfigUtil { 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 final class ConfigUtil { 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 27fe358..08846e1 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.Arrays; 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; @@ -81,6 +82,16 @@ public class TestConfigUtil { } @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); Assert.assertNull(configFromConfigCenter); -- To stop receiving notification emails like this one, please contact liu...@apache.org.