Repository: incubator-tamaya-extensions Updated Branches: refs/heads/configjsr 4da423e70 -> 27e8e0adb
Adapted changes throughout all modules. Signed-off-by: Anatole Tresch <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/27e8e0ad Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/27e8e0ad Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/27e8e0ad Branch: refs/heads/configjsr Commit: 27e8e0adb3773ef47cd7344331653a2de36ca8c1 Parents: 4da423e 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 ---------------------------------------------------------------------- .../org/apache/tamaya/events/FrozenConfig.java | 13 +++++++++++++ .../org/apache/tamaya/events/TestConfigView.java | 15 +++++++++++++++ .../tamaya/functions/CombinedConfiguration.java | 17 +++++++++++++++++ .../tamaya/functions/ConfigurationFunctions.java | 14 ++++++++++++++ .../tamaya/functions/EnrichedConfiguration.java | 16 ++++++++++++++++ .../tamaya/functions/FilteredConfiguration.java | 15 +++++++++++++++ .../tamaya/functions/MappedConfiguration.java | 15 +++++++++++++++ .../resolver/internal/ResolvableConfig.java | 18 ++++++++++++++---- 8 files changed, 119 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java ---------------------------------------------------------------------- diff --git a/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java b/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java index 93cc386..4d25388 100644 --- a/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java +++ b/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java @@ -18,17 +18,20 @@ */ package org.apache.tamaya.events; +import org.apache.tamaya.base.DefaultConfigValue; import org.apache.tamaya.base.convert.ConversionContext; import org.apache.tamaya.base.convert.ConverterManager; import org.apache.tamaya.base.ConfigContext; import org.apache.tamaya.base.ConfigContextSupplier; import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import javax.config.spi.Converter; import java.io.Serializable; import java.lang.reflect.Type; import java.util.*; +import java.util.function.Consumer; import java.util.logging.Level; import java.util.logging.Logger; @@ -119,6 +122,11 @@ public final class FrozenConfig implements Config, Serializable { return Optional.empty(); } + @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(this), key, String.class); + } + @SuppressWarnings("unchecked") @Override @@ -138,6 +146,11 @@ public final class FrozenConfig implements Config, Serializable { } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + + } + + @Override public boolean equals(Object o) { if (this == o) { return true; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/events/src/test/java/org/apache/tamaya/events/TestConfigView.java ---------------------------------------------------------------------- diff --git a/modules/events/src/test/java/org/apache/tamaya/events/TestConfigView.java b/modules/events/src/test/java/org/apache/tamaya/events/TestConfigView.java index 03ce7ea..55eba9c 100644 --- a/modules/events/src/test/java/org/apache/tamaya/events/TestConfigView.java +++ b/modules/events/src/test/java/org/apache/tamaya/events/TestConfigView.java @@ -19,9 +19,14 @@ package org.apache.tamaya.events; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.*; +import java.util.function.Consumer; import java.util.function.UnaryOperator; @@ -58,6 +63,11 @@ public class TestConfigView implements UnaryOperator<Config>{ } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + + } + + @Override public <T> T getValue(String key, Class<T> type) { if (key.startsWith("test")) { return config.getValue(key, type); @@ -73,6 +83,11 @@ public class TestConfigView implements UnaryOperator<Config>{ return Optional.empty(); } + @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(config), key, String.class); + } + }; } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java index 10961b4..265f3a7 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java @@ -18,9 +18,14 @@ */ package org.apache.tamaya.functions; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.*; +import java.util.function.Consumer; /** * Combines a set of child configurations to a new one, by overriding the first entries with result from @@ -83,6 +88,11 @@ class CombinedConfiguration implements Config{ } @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(this), key, String.class); + } + + @Override public Iterable<String> getPropertyNames() { Set<String> result = new HashSet<>(); for(Config ps : configurations){ @@ -101,6 +111,13 @@ class CombinedConfiguration implements Config{ } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + for(Config cfg:this.configurations){ + cfg.registerConfigChangedListener(consumer); + } + } + + @Override public String toString() { return "CombinedConfiguration{" + "name='" + name + '\'' + http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java b/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java index 16f36ef..a8b2568 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java @@ -18,10 +18,15 @@ */ package org.apache.tamaya.functions; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.net.Inet4Address; import java.util.*; +import java.util.function.Consumer; import java.util.function.Function; import java.util.function.UnaryOperator; import java.util.logging.Level; @@ -53,6 +58,11 @@ public final class ConfigurationFunctions { } @Override + public ConfigValue<String> access(String s) { + return new DefaultConfigValue<>(this , () -> ConfigContext.from(this), s, String.class); + } + + @Override public Iterable<String> getPropertyNames() { return Collections.emptySet(); } @@ -63,6 +73,10 @@ public final class ConfigurationFunctions { } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + } + + @Override public String toString(){ return "Configuration<empty>"; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java index 10b6db5..d60ef42 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java @@ -18,9 +18,14 @@ */ package org.apache.tamaya.functions; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.*; +import java.util.function.Consumer; /** * Configuration, that has values added or overridden. @@ -81,6 +86,12 @@ class EnrichedConfiguration implements Config { return Optional.empty(); } + @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(baseConfiguration), + key, String.class); + } + @Override public Iterable<String> getPropertyNames() { @@ -95,4 +106,9 @@ class EnrichedConfiguration implements Config { return baseConfiguration.getConfigSources(); } + @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + + } + } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/functions/src/main/java/org/apache/tamaya/functions/FilteredConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/FilteredConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/FilteredConfiguration.java index b61c730..044586e 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/FilteredConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/FilteredConfiguration.java @@ -18,9 +18,14 @@ */ package org.apache.tamaya.functions; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.*; +import java.util.function.Consumer; /** * Configuration that filters part of the entries defined by a matcher predicate. @@ -56,6 +61,11 @@ class FilteredConfiguration implements Config { } @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(this.baseConfiguration), key, String.class); + } + + @Override public Iterable<String> getPropertyNames() { Set<String> result = new HashSet<>(); for(String name:baseConfiguration.getPropertyNames()){ @@ -72,6 +82,11 @@ class FilteredConfiguration implements Config { } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + + } + + @Override public String toString() { return "FilteredConfiguration{" + "baseConfiguration=" + baseConfiguration + http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/functions/src/main/java/org/apache/tamaya/functions/MappedConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/MappedConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/MappedConfiguration.java index ec48b2f..d85ef11 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/MappedConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/MappedConfiguration.java @@ -18,9 +18,14 @@ */ package org.apache.tamaya.functions; +import org.apache.tamaya.base.ConfigContext; +import org.apache.tamaya.base.DefaultConfigValue; + import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.*; +import java.util.function.Consumer; import java.util.logging.Logger; @@ -29,6 +34,16 @@ import java.util.logging.Logger; */ class MappedConfiguration implements Config { + @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(this), key, String.class); + } + + @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + this.baseConfiguration.registerConfigChangedListener(consumer); + } + private static final Logger LOG = Logger.getLogger(MappedConfiguration.class.getName()); private final Config baseConfiguration; private final KeyMapper keyMapper; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27e8e0ad/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/ResolvableConfig.java ---------------------------------------------------------------------- diff --git a/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/ResolvableConfig.java b/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/ResolvableConfig.java index 8280197..bcaf6bd 100644 --- a/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/ResolvableConfig.java +++ b/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/ResolvableConfig.java @@ -18,18 +18,18 @@ */ package org.apache.tamaya.resolver.internal; -import org.apache.tamaya.base.DefaultConfig; -import org.apache.tamaya.base.DefaultConfigBuilder; +import org.apache.tamaya.base.*; import org.apache.tamaya.base.convert.ConverterManager; import org.apache.tamaya.base.filter.FilterManager; -import org.apache.tamaya.base.ConfigContext; import org.apache.tamaya.base.filter.Filter; -import org.apache.tamaya.base.ConfigContextSupplier; import javax.config.Config; +import javax.config.ConfigValue; import javax.config.spi.ConfigSource; import java.util.Objects; import java.util.Optional; +import java.util.Set; +import java.util.function.Consumer; /** * Wrapper that intercepts evaluation of String configuration extending with value resolution capabilities @@ -100,6 +100,11 @@ public final class ResolvableConfig implements Config{ } @Override + public ConfigValue<String> access(String key) { + return new DefaultConfigValue<>(this, () -> ConfigContext.from(delegate), key, String.class); + } + + @Override public Iterable<String> getPropertyNames() { return delegate.getPropertyNames(); } @@ -110,6 +115,11 @@ public final class ResolvableConfig implements Config{ } @Override + public void registerConfigChangedListener(Consumer<Set<String>> consumer) { + this.delegate.registerConfigChangedListener(consumer); + } + + @Override public String toString() { return "ResolvableConfig{" + "delegate=" + delegate +
