Repository: incubator-tamaya Updated Branches: refs/heads/configjsr 7bf83f0bd -> cde3cc8e9
Adapted changes throughout all modules. Signed-off-by: Anatole Tresch <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/cde3cc8e Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/cde3cc8e Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/cde3cc8e Branch: refs/heads/configjsr Commit: cde3cc8e9d0f9552ee9834154f91e051b1ad0ae2 Parents: 7bf83f0 Author: Anatole Tresch <[email protected]> Authored: Wed Mar 21 21:50:40 2018 +0100 Committer: Anatole Tresch <[email protected]> Committed: Wed Mar 21 21:50:40 2018 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/tamaya/base/DefaultConfig.java | 2 +- .../java/org/apache/tamaya/base/DefaultConfigValue.java | 12 ++++++++---- .../org/apache/tamaya/base/DefaultConfigValueTest.java | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/cde3cc8e/code/base/src/main/java/org/apache/tamaya/base/DefaultConfig.java ---------------------------------------------------------------------- diff --git a/code/base/src/main/java/org/apache/tamaya/base/DefaultConfig.java b/code/base/src/main/java/org/apache/tamaya/base/DefaultConfig.java index e6850eb..a2fbb66 100644 --- a/code/base/src/main/java/org/apache/tamaya/base/DefaultConfig.java +++ b/code/base/src/main/java/org/apache/tamaya/base/DefaultConfig.java @@ -107,7 +107,7 @@ public class DefaultConfig implements Config, ConfigContextSupplier { @Override public ConfigValue<String> access(String key) { - return new DefaultConfigValue(this, key, String.class); + return new DefaultConfigValue(this, this, key, String.class); } /** http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/cde3cc8e/code/base/src/main/java/org/apache/tamaya/base/DefaultConfigValue.java ---------------------------------------------------------------------- diff --git a/code/base/src/main/java/org/apache/tamaya/base/DefaultConfigValue.java b/code/base/src/main/java/org/apache/tamaya/base/DefaultConfigValue.java index 0e394be..d3b0f9e 100644 --- a/code/base/src/main/java/org/apache/tamaya/base/DefaultConfigValue.java +++ b/code/base/src/main/java/org/apache/tamaya/base/DefaultConfigValue.java @@ -20,6 +20,7 @@ package org.apache.tamaya.base; import org.apache.tamaya.base.convert.CompoundConverter; +import javax.config.Config; import javax.config.ConfigValue; import javax.config.spi.Converter; import java.util.*; @@ -35,7 +36,8 @@ public class DefaultConfigValue<T> implements ConfigValue<T> { private static final Logger LOG = Logger.getLogger(DefaultConfigValue.class.getName()); - private final DefaultConfig config; + private final Config config; + private final ConfigContextSupplier contextSupplier; private final String key; private String resolvedKey; protected String defaultTextValue; @@ -57,8 +59,9 @@ public class DefaultConfigValue<T> implements ConfigValue<T> { * @param key * @param targetClass */ - public DefaultConfigValue(DefaultConfig config, String key, Class targetClass) { + public DefaultConfigValue(Config config, ConfigContextSupplier contextSupplier, String key, Class<T> targetClass) { this.config = Objects.requireNonNull(config); + this.contextSupplier = Objects.requireNonNull(contextSupplier); this.key = Objects.requireNonNull(key); this.targetClass = Objects.requireNonNull(targetClass); if(lastValue!=null && !lastValue.getClass().isAssignableFrom(targetClass)){ @@ -89,7 +92,7 @@ public class DefaultConfigValue<T> implements ConfigValue<T> { * @param configValue the base instance, not null. * @param targetClass the target class, not null. */ - DefaultConfigValue(DefaultConfigValue configValue, Class targetClass) { + DefaultConfigValue(DefaultConfigValue configValue, Class<T> targetClass) { this(configValue); this.targetClass = Objects.requireNonNull(targetClass); } @@ -100,6 +103,7 @@ public class DefaultConfigValue<T> implements ConfigValue<T> { */ private DefaultConfigValue(DefaultConfigValue configValue) { this.config = configValue.config; + this.contextSupplier = configValue.contextSupplier; this.key = configValue.key; this.evaluateVariables = configValue.evaluateVariables; this.converter = configValue.converter; @@ -143,7 +147,7 @@ public class DefaultConfigValue<T> implements ConfigValue<T> { if(String.class.equals(targetClass)){ return (s) -> (N)s; } - return new CompoundConverter(config.getConfigContext().getConverters(targetClass)); + return new CompoundConverter(contextSupplier.getConfigContext().getConverters(targetClass)); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/cde3cc8e/code/base/src/test/java/org/apache/tamaya/base/DefaultConfigValueTest.java ---------------------------------------------------------------------- diff --git a/code/base/src/test/java/org/apache/tamaya/base/DefaultConfigValueTest.java b/code/base/src/test/java/org/apache/tamaya/base/DefaultConfigValueTest.java index b71098f..9ae054f 100644 --- a/code/base/src/test/java/org/apache/tamaya/base/DefaultConfigValueTest.java +++ b/code/base/src/test/java/org/apache/tamaya/base/DefaultConfigValueTest.java @@ -38,9 +38,11 @@ import static org.junit.Assert.*; public class DefaultConfigValueTest { private DefaultConfigValue<String> value = new DefaultConfigValue<>( - (DefaultConfig)ConfigProvider.getConfig(), "java.version", String.class); + (DefaultConfig)ConfigProvider.getConfig(), (DefaultConfig)ConfigProvider.getConfig(), + "java.version", String.class); private DefaultConfigValue<String> notExisting = new DefaultConfigValue<>( - (DefaultConfig)ConfigProvider.getConfig(), "notExisting", String.class); + (DefaultConfig)ConfigProvider.getConfig(), (DefaultConfig)ConfigProvider.getConfig(), + "notExisting", String.class); @Test public void as() throws Exception {
