TAMAYA-274 Reduced API footprint by using Java 8 features. Added some lambdas. TAMAYA-355 Enable mapping of lists and arrays into internal datastructures. TAMAYA-353 Adding support for different classloaders.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/commit/af319373 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/af319373 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/af319373 Branch: refs/heads/master Commit: af31937328f477b6b94902d490a04706617f49a8 Parents: 4c323c3 Author: Anatole Tresch <[email protected]> Authored: Tue Oct 23 18:40:49 2018 +0200 Committer: Anatole Tresch <[email protected]> Committed: Tue Oct 23 18:40:50 2018 +0200 ---------------------------------------------------------------------- .../tamaya/commons/IniConfigurationFormat.java | 11 +- .../tamaya/commons/XmlConfigurationFormat.java | 10 +- .../tamaya/camel/TamayaPropertiesComponent.java | 55 ++++++-- .../tamaya/camel/TamayaPropertyResolver.java | 24 +++- collections/pom.xml | 5 + .../collections/AdaptiveCombinationPolicy.java | 29 ++-- .../tamaya/collections/ArrayListConverter.java | 7 +- .../tamaya/collections/CollectionConverter.java | 29 ++-- .../collections/ConcurrentHashMapConverter.java | 9 +- .../tamaya/collections/HashMapConverter.java | 9 +- .../tamaya/collections/HashSetConverter.java | 9 +- .../tamaya/collections/ItemTokenizer.java | 91 ++++++------ .../tamaya/collections/LinkedListConverter.java | 9 +- .../tamaya/collections/ListConverter.java | 27 ++-- .../apache/tamaya/collections/MapConverter.java | 29 ++-- .../apache/tamaya/collections/SetConverter.java | 27 ++-- .../tamaya/collections/SortedMapConverter.java | 5 +- .../tamaya/collections/SortedSetConverter.java | 5 +- .../tamaya/collections/TreeMapConverter.java | 9 +- .../tamaya/collections/TreeSetConverter.java | 9 +- .../collections/CollectionAdvancedTests.java | 9 +- .../collections/CollectionsBaseTests.java | 25 ++-- .../CollectionsTypedReadOnlyTests.java | 27 ++-- .../collections/CollectionsTypedTests.java | 21 ++- .../collections/MyUpperCaseConverter.java | 3 +- .../META-INF/javaconfiguration.properties | 10 +- .../cdi/JavaConfigConfigurationProducer.java | 10 +- .../tamaya/jsr382/JavaConfigAdapterTest.java | 4 +- .../jsr382/JavaConfigConfigProviderTest.java | 6 +- .../tamaya/jsr382/JavaConfigConfigTest.java | 14 +- .../sysprops/ConfiguredSystemProperties.java | 3 +- .../tamaya/consul/ConsulPropertySource.java | 6 +- .../org/apache/tamaya/etcd/EtcdAccessor.java | 36 ++--- .../apache/tamaya/etcd/EtcdPropertySource.java | 39 +++-- .../apache/tamaya/etcd/EtcdAccessorTest.java | 2 +- .../hazelcast/HazelcastPropertySource.java | 11 +- .../tamaya/jodatime/DateTimeConverter.java | 6 +- .../tamaya/jodatime/DateTimeZoneConverter.java | 12 +- .../tamaya/jodatime/DurationConverter.java | 38 +++-- .../tamaya/jodatime/InstantConverter.java | 7 +- .../tamaya/jodatime/LocalDateConverter.java | 6 +- .../tamaya/jodatime/LocalTimeConverter.java | 6 +- .../apache/tamaya/jodatime/PeriodConverter.java | 16 +-- .../tamaya/jodatime/DateTimeConverterTest.java | 34 ++--- .../jodatime/DateTimeZoneConverterTest.java | 27 ++-- .../tamaya/jodatime/DurationConverterTest.java | 26 ++-- .../org/apache/tamaya/jodatime/FullStackIT.java | 6 +- .../tamaya/jodatime/PeriodConverterTest.java | 26 ++-- .../apache/tamaya/management/ManagedConfig.java | 14 +- .../tamaya/management/ManagedConfigMBean.java | 6 +- .../apache/tamaya/metamodel/CachedFilter.java | 7 +- .../org/apache/tamaya/metamodel/HideFilter.java | 3 +- .../tamaya/metamodel/ImmutableFilter.java | 5 +- .../org/apache/tamaya/metamodel/MapFilter.java | 12 +- .../org/apache/tamaya/metamodel/MaskFilter.java | 3 +- .../tamaya/metamodel/MetaConfiguration.java | 23 ++- .../apache/tamaya/metamodel/MetaContext.java | 2 +- .../apache/tamaya/metamodel/SecuredFilter.java | 3 +- .../metamodel/ext/FilteredPropertySource.java | 37 +++-- .../internal/CombinationPolicyReader.java | 1 - .../internal/ComponentConfigurator.java | 16 +-- .../DSLLoadingConfigurationProviderSpi.java | 7 +- .../metamodel/internal/MetaContextReader.java | 3 +- .../internal/PropertyConverterReader.java | 1 - .../internal/PropertyFilterOrderingReader.java | 1 - .../internal/PropertyFilterReader.java | 1 - .../internal/PropertySourceOrderingReader.java | 2 - .../internal/PropertySourceReader.java | 4 +- .../tamaya/metamodel/spi/ItemFactory.java | 2 +- .../metamodel/spi/MetaConfigurationReader.java | 6 +- .../tamaya/metamodel/spi/SimpleResolver.java | 2 +- .../tamaya/metamodel/ext/IntegrationTest.java | 11 +- .../tamaya/metamodel/ext/MyConverter.java | 3 +- .../apache/tamaya/metamodel/ext/MyFilter.java | 3 +- .../internal/resolver/LoggingReader.java | 8 +- .../ConfigDirPropertySourceProvider.java | 7 +- .../MetainfConfigPropertySourceProvider.java | 7 +- .../propertysources/PropertySourceBuilder.java | 122 ---------------- .../SimplePropertySourceBuilder.java | 122 ++++++++++++++++ ...MetainfConfigPropertySourceProviderTest.java | 2 +- .../tamaya/remote/BaseRemotePropertySource.java | 36 ++--- .../tamaya/server/ConfigurationServices.java | 8 +- .../java/org/apache/tamaya/server/Server.java | 2 +- .../java/org/apache/tamaya/ui/TamayaUI.java | 2 +- .../ConfigurationBasedMessageProvider.java | 2 +- .../ui/internal/ConfiguredUserService.java | 2 +- .../internal/ResourceBundleMessageProvider.java | 2 +- .../org/apache/tamaya/ui/views/ConfigView.java | 2 +- .../views/TamayaGeneralSystemInfoProvider.java | 2 +- .../org/apache/tamaya/uom/UnitConverter.java | 10 +- .../apache/tamaya/uom/UnitConverterTest.java | 6 +- .../apache/tamaya/usagetracker/ConfigUsage.java | 4 +- .../apache/tamaya/usagetracker/UsageStat.java | 6 +- .../internal/DefaultConfigUsage.java | 6 +- .../internal/UsageTrackerFilter.java | 12 +- .../tamaya/usagetracker/spi/ConfigUsageSpi.java | 6 +- .../tamaya/model/ConfigUsageStatsTest.java | 5 +- .../java/test/model/TestConfigAccessor.java | 5 +- validation/pom.xml | 2 +- .../apache/tamaya/validation/ConfigModel.java | 10 +- .../tamaya/validation/ConfigModelManager.java | 141 +++++++++---------- .../apache/tamaya/validation/ModelTarget.java | 6 +- .../apache/tamaya/validation/Validation.java | 38 ++--- .../tamaya/validation/ValidationResult.java | 2 +- .../internal/ConfigDocumentationBean.java | 7 +- .../ConfiguredInlineModelProviderSpi.java | 38 +++-- .../ConfiguredPropertiesModelProviderSpi.java | 10 +- .../ConfiguredResourcesModelProviderSpi.java | 113 +++++++++------ .../ConfiguredTypeEventsModelPopulator.java | 46 +++++- .../ConfiguredTypeEventsModelProvider.java | 2 +- .../validation/spi/AbstractConfigModel.java | 2 +- .../spi/ConfigDocumentationMBean.java | 2 +- .../validation/spi/ConfigModelReader.java | 8 +- .../tamaya/validation/spi/GroupModel.java | 4 +- .../tamaya/validation/spi/ModelProviderSpi.java | 4 +- .../tamaya/validation/spi/ParameterModel.java | 6 +- .../tamaya/validation/spi/SectionModel.java | 4 +- .../validation/ConfigModelProviderTest.java | 2 +- .../tamaya/validation/ValidationTests.java | 13 +- .../internal/ConfigDocumentationBeanTest.java | 4 +- .../java/test/model/TestConfigAccessor.java | 6 +- .../resources/META-INF/configmodel.properties | 4 +- .../test/resources/examples/configmodel.json | 4 +- .../resources/examples/configmodel.properties | 4 +- .../src/test/resources/examples/configmodel.xml | 6 +- .../test/resources/examples/configmodel.yaml | 4 +- .../vertx/AbstractConfiguredVerticle.java | 2 +- .../vertx/TamayaConfigurationProducer.java | 12 +- .../apache/tamaya/vertx/ConfigVerticleTest.java | 7 +- .../tamaya/vertx/TestInjectedVerticleTest.java | 3 +- 130 files changed, 1027 insertions(+), 897 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/apache-commons/src/main/java/org/apache/tamaya/commons/IniConfigurationFormat.java ---------------------------------------------------------------------- diff --git a/apache-commons/src/main/java/org/apache/tamaya/commons/IniConfigurationFormat.java b/apache-commons/src/main/java/org/apache/tamaya/commons/IniConfigurationFormat.java index d0e8c05..bb12b8b 100644 --- a/apache-commons/src/main/java/org/apache/tamaya/commons/IniConfigurationFormat.java +++ b/apache-commons/src/main/java/org/apache/tamaya/commons/IniConfigurationFormat.java @@ -22,8 +22,8 @@ import org.apache.commons.configuration.HierarchicalINIConfiguration; import org.apache.commons.configuration.SubnodeConfiguration; import org.apache.tamaya.ConfigException; import org.apache.tamaya.format.ConfigurationData; -import org.apache.tamaya.format.ConfigurationDataBuilder; import org.apache.tamaya.format.ConfigurationFormat; +import org.apache.tamaya.spi.PropertyValue; import java.io.File; import java.io.InputStream; @@ -51,7 +51,8 @@ public class IniConfigurationFormat implements ConfigurationFormat { @Override public ConfigurationData readConfiguration(String name, InputStream inputStream) { - ConfigurationDataBuilder builder = ConfigurationDataBuilder.of(name, this); + PropertyValue data = PropertyValue.create(); + data.setMeta("name", name); try { HierarchicalINIConfiguration commonIniConfiguration; File file = new File(name); @@ -62,17 +63,17 @@ public class IniConfigurationFormat implements ConfigurationFormat { } for (String section : commonIniConfiguration.getSections()) { SubnodeConfiguration sectionConfig = commonIniConfiguration.getSection(section); + PropertyValue sectionNode = data.getOrCreateChild(section); Map<String, String> properties = new HashMap<>(); Iterator<String> keyIter = sectionConfig.getKeys(); while (keyIter.hasNext()) { String key = keyIter.next(); - properties.put(key, sectionConfig.getString(key)); + sectionNode.addProperty(key, sectionConfig.getString(key)); } - builder.addSectionProperties(section, properties); } } catch (Exception e) { throw new ConfigException("Failed to parse ini-file format from " + name, e); } - return builder.build(); + return new ConfigurationData(name, this, data); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/apache-commons/src/main/java/org/apache/tamaya/commons/XmlConfigurationFormat.java ---------------------------------------------------------------------- diff --git a/apache-commons/src/main/java/org/apache/tamaya/commons/XmlConfigurationFormat.java b/apache-commons/src/main/java/org/apache/tamaya/commons/XmlConfigurationFormat.java index ecb154c..ed76830 100644 --- a/apache-commons/src/main/java/org/apache/tamaya/commons/XmlConfigurationFormat.java +++ b/apache-commons/src/main/java/org/apache/tamaya/commons/XmlConfigurationFormat.java @@ -21,8 +21,8 @@ package org.apache.tamaya.commons; import org.apache.commons.configuration.XMLConfiguration; import org.apache.tamaya.ConfigException; import org.apache.tamaya.format.ConfigurationData; -import org.apache.tamaya.format.ConfigurationDataBuilder; import org.apache.tamaya.format.ConfigurationFormat; +import org.apache.tamaya.spi.PropertyValue; import java.io.File; import java.io.InputStream; @@ -48,7 +48,9 @@ public class XmlConfigurationFormat implements ConfigurationFormat { @Override public ConfigurationData readConfiguration(String name, InputStream inputStream) { - ConfigurationDataBuilder builder = ConfigurationDataBuilder.of(name, this); + PropertyValue data = PropertyValue.create(); + data.setMeta("name", name); + data.setMeta("format.class", getClass().getName()); try { XMLConfiguration commonXmlConfiguration; File file = new File(name); @@ -60,11 +62,11 @@ public class XmlConfigurationFormat implements ConfigurationFormat { Iterator<String> keyIter = commonXmlConfiguration.getKeys(); while (keyIter.hasNext()) { String key = keyIter.next(); - builder.addDefaultProperty(key, commonXmlConfiguration.getString(key)); + data.addProperty(key, commonXmlConfiguration.getString(key)); } } catch (Exception e) { throw new ConfigException("Failed to parse xml-file format from " + name, e); } - return builder.build(); + return new ConfigurationData(name, this, data); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertiesComponent.java ---------------------------------------------------------------------- diff --git a/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertiesComponent.java b/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertiesComponent.java index e42a5e1..aec571b 100644 --- a/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertiesComponent.java +++ b/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertiesComponent.java @@ -18,10 +18,13 @@ */ package org.apache.tamaya.camel; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; +import org.apache.camel.CamelContext; import org.apache.camel.component.properties.PropertiesComponent; -import org.apache.tamaya.ConfigurationProvider; +import org.apache.tamaya.Configuration; /** * Default Camel PropertiesComponent that additionally has cfg and tamaya prefixes configured for resolution of @@ -29,35 +32,50 @@ import org.apache.tamaya.ConfigurationProvider; */ public class TamayaPropertiesComponent extends PropertiesComponent{ + private ClassLoader classLoader; + private List<TamayaPropertyResolver> resolvers = new ArrayList<>(); + /** - * Constructor similar to parent. + * Constructor similar to getParent. */ public TamayaPropertiesComponent(){ super(); - addFunction(new TamayaPropertyResolver("tamaya")); - addFunction(new TamayaPropertyResolver("cfg")); + resolvers.add(new TamayaPropertyResolver("tamaya")); + resolvers.add(new TamayaPropertyResolver("cfg")); + for(TamayaPropertyResolver resolver:resolvers) { + resolver.init(getClassLoader()); + addFunction(resolver); + } setTamayaOverrides(true); } /** - * Constructor similar to parent with additional locations. + * Constructor similar to getParent with additional locations. * @param locations additional locations for Camel. */ public TamayaPropertiesComponent(String ... locations){ super(locations); - addFunction(new TamayaPropertyResolver("tamaya")); - addFunction(new TamayaPropertyResolver("cfg")); + resolvers.add(new TamayaPropertyResolver("tamaya")); + resolvers.add(new TamayaPropertyResolver("cfg")); + for(TamayaPropertyResolver resolver:resolvers) { + resolver.init(getClassLoader()); + addFunction(resolver); + } setTamayaOverrides(true); } /** - * Constructor similar to parent with only one location. + * Constructor similar to getParent with only one location. * @param location addition location for Camel. */ public TamayaPropertiesComponent(String location){ super(location); - addFunction(new TamayaPropertyResolver("tamaya")); - addFunction(new TamayaPropertyResolver("cfg")); + resolvers.add(new TamayaPropertyResolver("tamaya")); + resolvers.add(new TamayaPropertyResolver("cfg")); + for(TamayaPropertyResolver resolver:resolvers) { + resolver.init(getClassLoader()); + addFunction(resolver); + } setTamayaOverrides(true); } @@ -69,10 +87,25 @@ public class TamayaPropertiesComponent extends PropertiesComponent{ public void setTamayaOverrides(boolean enabled){ if(enabled){ final Properties props = new Properties(); - props.putAll(ConfigurationProvider.getConfiguration().getProperties()); + props.putAll(Configuration.current(getClassLoader()).getProperties()); setOverrideProperties(props); } else{ setOverrideProperties(null); } } + + private ClassLoader getClassLoader(){ + CamelContext camelContext = getCamelContext(); + ClassLoader cl = null; + if(camelContext!=null){ + cl = camelContext.getApplicationContextClassLoader(); + } + if(cl==null){ + cl = Thread.currentThread().getContextClassLoader(); + } + if(cl==null){ + cl = getClass().getClassLoader(); + } + return cl; + } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertyResolver.java ---------------------------------------------------------------------- diff --git a/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertyResolver.java b/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertyResolver.java index 7b3f3a3..1fdf0e6 100644 --- a/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertyResolver.java +++ b/camel/src/main/java/org/apache/tamaya/camel/TamayaPropertyResolver.java @@ -20,7 +20,7 @@ package org.apache.tamaya.camel; import org.apache.camel.component.properties.PropertiesFunction; import org.apache.tamaya.Configuration; -import org.apache.tamaya.ConfigurationProvider; +import org.apache.tamaya.spi.ClassloaderAware; import java.util.Objects; @@ -28,8 +28,9 @@ import java.util.Objects; /** * Implementation of the Camel Properties SPI using Tamaya configuration. */ -public class TamayaPropertyResolver implements PropertiesFunction{ +public class TamayaPropertyResolver implements PropertiesFunction, ClassloaderAware { + private ClassLoader classLoader; private final String prefix; /** @@ -47,7 +48,24 @@ public class TamayaPropertyResolver implements PropertiesFunction{ @Override public String apply(String remainder) { - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(getClassLoader()); return config.get(remainder); } + + @Override + public void init(ClassLoader classLoader) { + this.classLoader = classLoader; + } + + @Override + public ClassLoader getClassLoader() { + ClassLoader cl = classLoader; + if(cl==null){ + cl = Thread.currentThread().getContextClassLoader(); + } + if(cl==null){ + cl = getClass().getClassLoader(); + } + return cl; + } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/pom.xml ---------------------------------------------------------------------- diff --git a/collections/pom.xml b/collections/pom.xml index 2d10759..ecc922f 100644 --- a/collections/pom.xml +++ b/collections/pom.xml @@ -38,6 +38,11 @@ under the License. </dependency> <dependency> <groupId>org.apache.tamaya</groupId> + <artifactId>tamaya-spisupport</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.tamaya</groupId> <artifactId>tamaya-api</artifactId> <version>${project.version}</version> </dependency> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/AdaptiveCombinationPolicy.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/AdaptiveCombinationPolicy.java b/collections/src/main/java/org/apache/tamaya/collections/AdaptiveCombinationPolicy.java index a608a11..32d0949 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/AdaptiveCombinationPolicy.java +++ b/collections/src/main/java/org/apache/tamaya/collections/AdaptiveCombinationPolicy.java @@ -18,7 +18,8 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.ConfigurationProvider; +import org.apache.tamaya.Configuration; +import org.apache.tamaya.spi.ClassloaderAware; import org.apache.tamaya.spi.PropertySource; import org.apache.tamaya.spi.PropertyValue; import org.apache.tamaya.spi.PropertyValueCombinationPolicy; @@ -35,10 +36,22 @@ import java.util.logging.Logger; * {@code _key.combination-policy=collect|override|fqPolicyClassName}. */ @Priority(100) -public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy { +public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy, ClassloaderAware { /** Logger. */ private static final Logger LOG = Logger.getLogger(AdaptiveCombinationPolicy.class.getName()); + private ClassLoader classLoader; + + @Override + public void init(ClassLoader classLoader) { + this.classLoader = classLoader; + } + + @Override + public ClassLoader getClassLoader() { + return classLoader; + } + /** * Collecting combination policy using (optional) {@code item-separator} parameter for determining the separator * to combine multiple config entries found. @@ -47,18 +60,12 @@ public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy @Override public PropertyValue collect(PropertyValue currentValue, String key, PropertySource propertySource) { // check for default collection combination policies for lists, sets, maps etc. - final String separator = ConfigurationProvider.getConfiguration().getOrDefault('_' + key+".item-separator", ","); PropertyValue newValue = propertySource.get(key); if(newValue!=null){ if(currentValue==null){ return newValue; } - String oldVal = currentValue.getValue(); - newValue = newValue.toBuilder() - .setValue(oldVal + ',' + newValue.getValue()) - .addMetaEntry("sources", currentValue.getSource() + "\n" + newValue.getSource()) - .build(); - return newValue; + return PropertyValue.create().addChild(newValue).addChild(currentValue); }else{ if(currentValue!=null){ return currentValue; @@ -80,7 +87,7 @@ public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy } return currentValue; } - String adaptiveCombinationPolicyClass = ConfigurationProvider.getConfiguration().getOrDefault( + String adaptiveCombinationPolicyClass = Configuration.current().getOrDefault( '_' + key+".combination-policy", "override"); PropertyValueCombinationPolicy combinationPolicy = null; switch(adaptiveCombinationPolicyClass){ @@ -119,4 +126,6 @@ public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy } return combinationPolicy.collect(currentValue, key, propertySource); } + + } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/ArrayListConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/ArrayListConverter.java b/collections/src/main/java/org/apache/tamaya/collections/ArrayListConverter.java index 189c4a0..90e8cdb 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/ArrayListConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/ArrayListConverter.java @@ -22,6 +22,7 @@ import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,11 +46,11 @@ public class ArrayListConverter implements PropertyConverter<ArrayList> { } @Override - public ArrayList convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public ArrayList convert(String value) { + List<String> rawList = ItemTokenizer.split(value); ArrayList<Object> mlist = new ArrayList<>(); for(String raw:rawList){ - Object convValue = ItemTokenizer.convertValue(raw, context); + Object convValue = ItemTokenizer.convertValue(raw); if (convValue != null) { mlist.add(convValue); }else{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/CollectionConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/CollectionConverter.java b/collections/src/main/java/org/apache/tamaya/collections/CollectionConverter.java index 91443ea..55c3e56 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/CollectionConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/CollectionConverter.java @@ -18,11 +18,10 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; +import org.apache.tamaya.spi.ConversionContext; import java.util.Collection; -import java.util.Collections; /** * PropertyConverter for gnerating a LIST representation of values. @@ -30,34 +29,34 @@ import java.util.Collections; public class CollectionConverter implements PropertyConverter<Collection> { @Override - public Collection convert(String value, ConversionContext context) { - String collectionType = context.getConfiguration().getOrDefault('_' + context.getKey()+".collection-type", "List"); - if(collectionType.startsWith("java.util.")){ - collectionType = collectionType.substring("java.util.".length()); + public Collection convert(String value) { + ConversionContext context = ConversionContext.current(); + String collectionType = null; + if(context!=null) { + collectionType = context.getConfiguration().getOrDefault('_' + context.getKey() + ".collection-type", "List"); + if (collectionType.startsWith("java.util.")) { + collectionType = collectionType.substring("java.util.".length()); + } } Collection result = null; - switch(collectionType){ + switch (collectionType) { case "LinkedList": - result = LinkedListConverter.getInstance().convert(value, context); + result = LinkedListConverter.getInstance().convert(value); break; case "Set": case "HashSet": - result = HashSetConverter.getInstance().convert(value, context); + result = HashSetConverter.getInstance().convert(value); break; case "SortedSet": case "TreeSet": - result = TreeSetConverter.getInstance().convert(value, context); + result = TreeSetConverter.getInstance().convert(value); break; case "List": case "ArrayList": default: - result = ArrayListConverter.getInstance().convert(value, context); + result = ArrayListConverter.getInstance().convert(value); break; } - if(context.getConfiguration().getOrDefault('_' + context.getKey()+".read-only", - Boolean.class, Boolean.TRUE)){ - return Collections.unmodifiableCollection(result); - } return result; } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/ConcurrentHashMapConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/ConcurrentHashMapConverter.java b/collections/src/main/java/org/apache/tamaya/collections/ConcurrentHashMapConverter.java index b19fd0c..405766b 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/ConcurrentHashMapConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/ConcurrentHashMapConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.List; @@ -44,12 +43,12 @@ public class ConcurrentHashMapConverter implements PropertyConverter<ConcurrentH } @Override - public ConcurrentHashMap convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public ConcurrentHashMap convert(String value) { + List<String> rawList = ItemTokenizer.split(value); ConcurrentHashMap result = new ConcurrentHashMap(rawList.size()); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.put(items[0], convValue); }else{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/HashMapConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/HashMapConverter.java b/collections/src/main/java/org/apache/tamaya/collections/HashMapConverter.java index d223145..5196eb0 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/HashMapConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/HashMapConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.HashMap; @@ -44,12 +43,12 @@ public class HashMapConverter implements PropertyConverter<HashMap> { } @Override - public HashMap convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public HashMap convert(String value) { + List<String> rawList = ItemTokenizer.split(value); HashMap result = new HashMap(rawList.size()); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.put(items[0], convValue); }else{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/HashSetConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/HashSetConverter.java b/collections/src/main/java/org/apache/tamaya/collections/HashSetConverter.java index a8e70cf..c76fe39 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/HashSetConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/HashSetConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.HashSet; @@ -45,12 +44,12 @@ public class HashSetConverter implements PropertyConverter<HashSet> { } @Override - public HashSet convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public HashSet convert(String value) { + List<String> rawList = ItemTokenizer.split(value); HashSet<Object> result = new HashSet<>(); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.add(convValue); }else{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/ItemTokenizer.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/ItemTokenizer.java b/collections/src/main/java/org/apache/tamaya/collections/ItemTokenizer.java index 26410da..53864a8 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/ItemTokenizer.java +++ b/collections/src/main/java/org/apache/tamaya/collections/ItemTokenizer.java @@ -18,10 +18,9 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.ConfigurationProvider; import org.apache.tamaya.TypeLiteral; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; +import org.apache.tamaya.spi.ConversionContext; import java.util.ArrayList; import java.util.List; @@ -45,12 +44,15 @@ final class ItemTokenizer { * {@code indexOf} calls, one by one. The last unresolvable item (without any next separator token) * is added at the end of the list. * @param value the value, not null. - * @param context the conversion context. * @return the tokenized value as list, in order of occurrence. */ - public static List<String> split(String value, ConversionContext context){ - return split(value, ConfigurationProvider.getConfiguration().getOrDefault( - '_' + context.getKey() + ".item-separator", ",")); + public static List<String> split(String value){ + ConversionContext ctx = ConversionContext.current(); + if(ctx != null){ + return split(value, ctx.getConfiguration().getOrDefault( + '_' + ctx.getKey() + ".item-separator", ",")); + } + return split(value, ","); } /** @@ -82,16 +84,19 @@ final class ItemTokenizer { } /** - * plits the given String value as a map entry, splitting it into key and value part with the given separator. + * Splits the given String value as a map entry, splitting it into key and value part with the given separator. * If the value cannot be split then {@code key = value = mapEntry} is used for further processing. key or value - * parts are normally trimmed, unless they are enmcosed with brackets {@code []}. + * parts are normally trimmed, unless they are enclosed with brackets {@code []}. * @param mapEntry the entry, not null. - * @param context the conversion context. * @return an array of length 2, with the trimmed and parsed key/value pair. */ - public static String[] splitMapEntry(String mapEntry, ConversionContext context){ - return splitMapEntry(mapEntry, ConfigurationProvider.getConfiguration().getOrDefault( - '_' + context.getKey()+".map-entry-separator", "::")); + public static String[] splitMapEntry(String mapEntry){ + ConversionContext ctx = ConversionContext.current(); + if(ctx != null){ + return splitMapEntry(mapEntry, ctx.getConfiguration().getOrDefault( + '_' + ctx.getKey() + ".map-entry-separator", "=")); + } + return splitMapEntry(mapEntry, "="); } /** @@ -128,42 +133,48 @@ final class ItemTokenizer { /** * Parses the given value into the required collection target type, defined by the context. * @param value the raw String value. - * @param context the context * @return the parsed value, or null. */ - public static Object convertValue(String value, ConversionContext context) { - String converterClass = context.getConfiguration().get('_' + context.getKey() + ".item-converters"); - List<PropertyConverter<Object>> valueConverters = new ArrayList<>(1); - if (converterClass != null) { - try { - valueConverters.add((PropertyConverter<Object>) Class.forName(converterClass).newInstance()); - } catch (Exception e) { - LOG.log(Level.SEVERE, "Error convertion config to ArrayList type.", e); - } - } - if (TypeLiteral.getTypeParameters(context.getTargetType().getType()).length>0) { - valueConverters.addAll(context.getConfigurationContext().getPropertyConverters( - TypeLiteral.of(TypeLiteral.getTypeParameters(context.getTargetType().getType())[0]))); - } - ConversionContext ctx = new ConversionContext.Builder(context.getConfiguration(), - context.getConfigurationContext(), context.getKey(), - TypeLiteral.of(context.getTargetType().getType())).build(); - Object result = null; - if (valueConverters.isEmpty()) { - return value; - } else { - for (PropertyConverter<Object> conv : valueConverters) { + public static Object convertValue(String value) { + ConversionContext context = ConversionContext.current(); + if (context != null) { + String converterClass = context.getConfiguration().get('_' + context.getKey() + ".item-converters"); + List<PropertyConverter<Object>> valueConverters = new ArrayList<>(1); + if (converterClass != null) { try { - result = conv.convert(value, ctx); - if (result != null) { - return result; - } + valueConverters.add((PropertyConverter<Object>) Class.forName(converterClass).newInstance()); } catch (Exception e) { LOG.log(Level.SEVERE, "Error convertion config to ArrayList type.", e); } } + if (TypeLiteral.getTypeParameters(context.getTargetType().getType()).length > 0) { + valueConverters.addAll(context.getConfigurationContext().getPropertyConverters( + TypeLiteral.of(TypeLiteral.getTypeParameters(context.getTargetType().getType())[0]))); + } + + try{ + ConversionContext.set(new ConversionContext.Builder(context.getConfiguration(), context.getKey(), + TypeLiteral.of(context.getTargetType().getType())).build()); + Object result = null; + if (valueConverters.isEmpty()) { + return value; + } else { + for (PropertyConverter<Object> conv : valueConverters) { + try { + result = conv.convert(value); + if (result != null) { + return result; + } + } catch (Exception e) { + LOG.log(Level.SEVERE, "Error convertion config to ArrayList type.", e); + } + } + } + LOG.log(Level.SEVERE, "Failed to convert collection value type for '" + value + "'."); + }finally { + ConversionContext.set(context); + } } - LOG.log(Level.SEVERE, "Failed to convert collection value type for '" + value + "'."); return null; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/LinkedListConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/LinkedListConverter.java b/collections/src/main/java/org/apache/tamaya/collections/LinkedListConverter.java index 3846ac2..459ab77 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/LinkedListConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/LinkedListConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.LinkedList; @@ -44,12 +43,12 @@ public class LinkedListConverter implements PropertyConverter<LinkedList> { } @Override - public LinkedList convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public LinkedList convert(String value) { + List<String> rawList = ItemTokenizer.split(value); LinkedList<Object> result = new LinkedList<>(); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.add(convValue); continue; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/ListConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/ListConverter.java b/collections/src/main/java/org/apache/tamaya/collections/ListConverter.java index 54aae36..45ab932 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/ListConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/ListConverter.java @@ -18,8 +18,8 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; +import org.apache.tamaya.spi.ConversionContext; import java.util.Collections; import java.util.List; @@ -30,25 +30,32 @@ import java.util.List; public class ListConverter implements PropertyConverter<List> { @Override - public List convert(String value, ConversionContext context) { - String collectionType = context.getConfiguration().getOrDefault('_' + context.getKey()+".collection-type", "List"); - if(collectionType.startsWith("java.util.")){ - collectionType = collectionType.substring("java.util.".length()); + public List convert(String value) { + ConversionContext context = ConversionContext.current(); + String collectionType = null; + if(context!=null) { + collectionType = context.getConfiguration().getOrDefault('_' + context.getKey() + ".collection-type", "List"); + if (collectionType.startsWith("java.util.")) { + collectionType = collectionType.substring("java.util.".length()); + } } List result = null; switch(collectionType){ case "LinkedList": - result = LinkedListConverter.getInstance().convert(value, context); + result = LinkedListConverter.getInstance().convert(value); break; case "List": case "ArrayList": default: - result = ArrayListConverter.getInstance().convert(value, context); + result = ArrayListConverter.getInstance().convert(value); break; } - if(context.getConfiguration().getOrDefault('_' + context.getKey()+".read-only", - Boolean.class, Boolean.TRUE)){ - return Collections.unmodifiableList(result); + ConversionContext ctx = ConversionContext.current(); + if(ctx != null){ + if(ctx.getConfiguration().getOrDefault( + '_' + ctx.getKey() + ".read-only", Boolean.class, true)){ + return Collections.unmodifiableList(result); + } } return result; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/MapConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/MapConverter.java b/collections/src/main/java/org/apache/tamaya/collections/MapConverter.java index 559c9eb..70cc22e 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/MapConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/MapConverter.java @@ -18,8 +18,8 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; +import org.apache.tamaya.spi.ConversionContext; import java.util.Collections; import java.util.Map; @@ -30,28 +30,35 @@ import java.util.Map; public class MapConverter implements PropertyConverter<Map> { @Override - public Map convert(String value, ConversionContext context) { - String collectionType = context.getConfiguration().getOrDefault('_' + context.getKey()+".collection-type", "Map"); - if(collectionType.startsWith("java.util.")){ - collectionType = collectionType.substring("java.util.".length()); + public Map convert(String value) { + ConversionContext context = ConversionContext.current(); + String collectionType = null; + if(context!=null) { + collectionType = context.getConfiguration().getOrDefault('_' + context.getKey() + ".collection-type", "Map"); + if (collectionType.startsWith("java.util.")) { + collectionType = collectionType.substring("java.util.".length()); + } } Map result = null; switch(collectionType){ case "TreeMap": - result = TreeMapConverter.getInstance().convert(value, context); + result = TreeMapConverter.getInstance().convert(value); break; case "ConcurrentHashMap": - result = ConcurrentHashMapConverter.getInstance().convert(value, context); + result = ConcurrentHashMapConverter.getInstance().convert(value); break; case "Map": case "HashMap": default: - result = HashMapConverter.getInstance().convert(value, context); + result = HashMapConverter.getInstance().convert(value); break; } - if(context.getConfiguration().getOrDefault('_' + context.getKey()+".read-only", - Boolean.class, Boolean.TRUE)){ - return Collections.unmodifiableMap(result); + ConversionContext ctx = ConversionContext.current(); + if(ctx != null){ + if(ctx.getConfiguration().getOrDefault( + '_' + ctx.getKey() + ".read-only", Boolean.class, true)){ + return Collections.unmodifiableMap(result); + } } return result; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/SetConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/SetConverter.java b/collections/src/main/java/org/apache/tamaya/collections/SetConverter.java index b6e9ae6..aa7e6ba 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/SetConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/SetConverter.java @@ -18,8 +18,8 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; +import org.apache.tamaya.spi.ConversionContext; import java.util.Collections; import java.util.Set; @@ -30,25 +30,32 @@ import java.util.Set; public class SetConverter implements PropertyConverter<Set> { @Override - public Set convert(String value, ConversionContext context) { - String collectionType = context.getConfiguration().getOrDefault('_' + context.getKey()+".collection-type", "Set"); - if(collectionType.startsWith("java.util.")){ - collectionType = collectionType.substring("java.util.".length()); + public Set convert(String value) { + ConversionContext context = ConversionContext.current(); + String collectionType = null; + if(context!=null) { + collectionType = context.getConfiguration().getOrDefault('_' + context.getKey() + ".collection-type", "Set"); + if (collectionType.startsWith("java.util.")) { + collectionType = collectionType.substring("java.util.".length()); + } } Set result = null; switch(collectionType){ case "TreeSet": - result = TreeSetConverter.getInstance().convert(value, context); + result = TreeSetConverter.getInstance().convert(value); break; case "Set": case "HashSet": default: - result = HashSetConverter.getInstance().convert(value, context); + result = HashSetConverter.getInstance().convert(value); break; } - if(context.getConfiguration().getOrDefault('_' + context.getKey()+".read-only", - Boolean.class, Boolean.TRUE)){ - return Collections.unmodifiableSet(result); + ConversionContext ctx = ConversionContext.current(); + if(ctx != null){ + if(ctx.getConfiguration().getOrDefault( + '_' + ctx.getKey() + ".read-only", Boolean.class, true)){ + return Collections.unmodifiableSet(result); + } } return result; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/SortedMapConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/SortedMapConverter.java b/collections/src/main/java/org/apache/tamaya/collections/SortedMapConverter.java index 5416e28..972c72c 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/SortedMapConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/SortedMapConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.Collections; @@ -30,7 +29,7 @@ import java.util.SortedMap; public class SortedMapConverter implements PropertyConverter<SortedMap> { @Override - public SortedMap convert(String value, ConversionContext context) { - return Collections.unmodifiableSortedMap(TreeMapConverter.getInstance().convert(value, context)); + public SortedMap convert(String value) { + return Collections.unmodifiableSortedMap(TreeMapConverter.getInstance().convert(value)); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/SortedSetConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/SortedSetConverter.java b/collections/src/main/java/org/apache/tamaya/collections/SortedSetConverter.java index 5ea2a14..d71af91 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/SortedSetConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/SortedSetConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.Collections; @@ -30,7 +29,7 @@ import java.util.SortedSet; public class SortedSetConverter implements PropertyConverter<SortedSet> { @Override - public SortedSet convert(String value, ConversionContext context) { - return Collections.unmodifiableSortedSet(TreeSetConverter.getInstance().convert(value, context)); + public SortedSet convert(String value) { + return Collections.unmodifiableSortedSet(TreeSetConverter.getInstance().convert(value)); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/TreeMapConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/TreeMapConverter.java b/collections/src/main/java/org/apache/tamaya/collections/TreeMapConverter.java index 67391ab..26b35ca 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/TreeMapConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/TreeMapConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.List; @@ -45,12 +44,12 @@ public class TreeMapConverter implements PropertyConverter<TreeMap> { } @Override - public TreeMap convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public TreeMap convert(String value) { + List<String> rawList = ItemTokenizer.split(value); TreeMap result = new TreeMap(); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.put(items[0], convValue); }else{ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/main/java/org/apache/tamaya/collections/TreeSetConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/main/java/org/apache/tamaya/collections/TreeSetConverter.java b/collections/src/main/java/org/apache/tamaya/collections/TreeSetConverter.java index 1b049c2..94bd8d7 100644 --- a/collections/src/main/java/org/apache/tamaya/collections/TreeSetConverter.java +++ b/collections/src/main/java/org/apache/tamaya/collections/TreeSetConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; import java.util.List; @@ -45,12 +44,12 @@ public class TreeSetConverter implements PropertyConverter<TreeSet> { } @Override - public TreeSet convert(String value, ConversionContext context) { - List<String> rawList = ItemTokenizer.split(value, context); + public TreeSet convert(String value) { + List<String> rawList = ItemTokenizer.split(value); TreeSet<Object> result = new TreeSet<>(); for(String raw:rawList){ - String[] items = ItemTokenizer.splitMapEntry(raw, context); - Object convValue = ItemTokenizer.convertValue(items[1], context); + String[] items = ItemTokenizer.splitMapEntry(raw); + Object convValue = ItemTokenizer.convertValue(items[1]); if(convValue!=null){ result.add(convValue); continue; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/java/org/apache/tamaya/collections/CollectionAdvancedTests.java ---------------------------------------------------------------------- diff --git a/collections/src/test/java/org/apache/tamaya/collections/CollectionAdvancedTests.java b/collections/src/test/java/org/apache/tamaya/collections/CollectionAdvancedTests.java index 43f1f4f..1c6d4b2 100644 --- a/collections/src/test/java/org/apache/tamaya/collections/CollectionAdvancedTests.java +++ b/collections/src/test/java/org/apache/tamaya/collections/CollectionAdvancedTests.java @@ -19,7 +19,6 @@ package org.apache.tamaya.collections; import org.apache.tamaya.Configuration; -import org.apache.tamaya.ConfigurationProvider; import org.apache.tamaya.TypeLiteral; import org.junit.Test; @@ -46,7 +45,7 @@ public class CollectionAdvancedTests { */ @Test public void testCustomSeparator(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("sep-list", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -65,7 +64,7 @@ public class CollectionAdvancedTests { */ @Test public void testTypedContent(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<Currency> items = config.get("currency-list", new TypeLiteral<List<Currency>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -85,7 +84,7 @@ public class CollectionAdvancedTests { */ @Test public void testCustomParser(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("parser-list", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -105,7 +104,7 @@ public class CollectionAdvancedTests { */ @Test public void testCustomMapParser(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("redefined-map", Map.class); assertNotNull(items); assertFalse(items.isEmpty()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/java/org/apache/tamaya/collections/CollectionsBaseTests.java ---------------------------------------------------------------------- diff --git a/collections/src/test/java/org/apache/tamaya/collections/CollectionsBaseTests.java b/collections/src/test/java/org/apache/tamaya/collections/CollectionsBaseTests.java index 34c82cb..8a531e3 100644 --- a/collections/src/test/java/org/apache/tamaya/collections/CollectionsBaseTests.java +++ b/collections/src/test/java/org/apache/tamaya/collections/CollectionsBaseTests.java @@ -19,7 +19,6 @@ package org.apache.tamaya.collections; import org.apache.tamaya.Configuration; -import org.apache.tamaya.ConfigurationProvider; import org.apache.tamaya.TypeLiteral; import org.junit.Test; @@ -39,7 +38,7 @@ public class CollectionsBaseTests { @Test public void testList_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("base.items", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -52,7 +51,7 @@ public class CollectionsBaseTests { @Test public void testArrayList_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); ArrayList<String> items = config.get("base.items", new TypeLiteral<ArrayList<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -65,7 +64,7 @@ public class CollectionsBaseTests { @Test public void testLinkedList_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); LinkedList<String> items = config.get("base.items", new TypeLiteral<LinkedList<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -78,7 +77,7 @@ public class CollectionsBaseTests { @Test public void testSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("base.items", new TypeLiteral<Set<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -91,7 +90,7 @@ public class CollectionsBaseTests { @Test public void testSortedSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("base.items", new TypeLiteral<SortedSet<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -104,7 +103,7 @@ public class CollectionsBaseTests { @Test public void testHashSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("base.items", new TypeLiteral<HashSet<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -117,7 +116,7 @@ public class CollectionsBaseTests { @Test public void testTreeSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); TreeSet<String> items = config.get("base.items", new TypeLiteral<TreeSet<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -130,7 +129,7 @@ public class CollectionsBaseTests { @Test public void testMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("base.map", new TypeLiteral<Map<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -151,7 +150,7 @@ public class CollectionsBaseTests { @Test public void testHashMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("base.map", new TypeLiteral<HashMap<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -172,7 +171,7 @@ public class CollectionsBaseTests { @Test public void testSortedMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("base.map", new TypeLiteral<SortedMap<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -193,7 +192,7 @@ public class CollectionsBaseTests { @Test public void testTreeMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); TreeMap<String,String> items = config.get("base.map", new TypeLiteral<TreeMap<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -214,7 +213,7 @@ public class CollectionsBaseTests { @Test public void testCollection_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Collection<String> items = config.get("base.items", new TypeLiteral<Collection<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedReadOnlyTests.java ---------------------------------------------------------------------- diff --git a/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedReadOnlyTests.java b/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedReadOnlyTests.java index 7882512..e8a94db 100644 --- a/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedReadOnlyTests.java +++ b/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedReadOnlyTests.java @@ -19,8 +19,8 @@ package org.apache.tamaya.collections; import org.apache.tamaya.Configuration; -import org.apache.tamaya.ConfigurationProvider; import org.apache.tamaya.TypeLiteral; +import org.junit.Ignore; import org.junit.Test; import java.util.*; @@ -34,11 +34,12 @@ import static org.junit.Assert.*; * base.map=1::a, 2::b, 3::c, [4:: ] * </pre> */ +//@Ignore("Readonly support has been deactivated as of now.") public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testArrayListList_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("typed.arraylist", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -48,7 +49,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testArrayListList_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = (List<String>) config.get("typed.arraylist", List.class); assertNotNull(items); assertFalse(items.isEmpty()); @@ -58,7 +59,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testLinkedListList_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("typed.linkedlist", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -68,7 +69,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testLinkedListList_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = (List<String>) config.get("typed.linkedlist", List.class); assertNotNull(items); assertFalse(items.isEmpty()); @@ -79,7 +80,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testHashSet_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("typed.hashset", new TypeLiteral<Set<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -88,7 +89,7 @@ public class CollectionsTypedReadOnlyTests { } @Test(expected=UnsupportedOperationException.class) public void testHashSet_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = (Set<String>) config.get("typed.hashset", Set.class); assertNotNull(items); assertFalse(items.isEmpty()); @@ -98,7 +99,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testTreeSet_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("typed.treeset", new TypeLiteral<Set<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -107,7 +108,7 @@ public class CollectionsTypedReadOnlyTests { } @Test(expected=UnsupportedOperationException.class) public void testTreeSet_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = items = (Set<String>) config.get("typed.treeset", Set.class); assertNotNull(items); assertFalse(items.isEmpty()); @@ -117,7 +118,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testHashMap_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("typed.hashmap", new TypeLiteral<Map<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -130,7 +131,7 @@ public class CollectionsTypedReadOnlyTests { } @Test(expected=UnsupportedOperationException.class) public void testHashMap_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = (Map<String,String>) config.get("typed.hashmap", Map.class); assertNotNull(items); assertFalse(items.isEmpty()); @@ -145,7 +146,7 @@ public class CollectionsTypedReadOnlyTests { @Test(expected=UnsupportedOperationException.class) public void testTreeMap_1(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("typed.treemap", new TypeLiteral<Map<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -158,7 +159,7 @@ public class CollectionsTypedReadOnlyTests { } @Test(expected=UnsupportedOperationException.class) public void testTreeMap_2(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = (Map<String,String>) config.get("typed.treemap", Map.class); assertNotNull(items); assertFalse(items.isEmpty()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedTests.java ---------------------------------------------------------------------- diff --git a/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedTests.java b/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedTests.java index b4e4d52..92c592e 100644 --- a/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedTests.java +++ b/collections/src/test/java/org/apache/tamaya/collections/CollectionsTypedTests.java @@ -19,7 +19,6 @@ package org.apache.tamaya.collections; import org.apache.tamaya.Configuration; -import org.apache.tamaya.ConfigurationProvider; import org.apache.tamaya.TypeLiteral; import org.junit.Test; @@ -40,7 +39,7 @@ public class CollectionsTypedTests { @Test public void testArrayListList_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("typed2.arraylist", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -55,7 +54,7 @@ public class CollectionsTypedTests { @Test public void testLinkedListList_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); List<String> items = config.get("typed2.linkedlist", new TypeLiteral<List<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -71,7 +70,7 @@ public class CollectionsTypedTests { @Test public void testHashSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("typed2.hashset", new TypeLiteral<Set<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -86,7 +85,7 @@ public class CollectionsTypedTests { @Test public void testTreeSet_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Set<String> items = config.get("typed2.treeset", new TypeLiteral<Set<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -101,7 +100,7 @@ public class CollectionsTypedTests { @Test public void testHashMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("typed2.hashmap", new TypeLiteral<Map<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -124,7 +123,7 @@ public class CollectionsTypedTests { @Test public void testTreeMap_String(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Map<String,String> items = config.get("typed2.treemap", new TypeLiteral<Map<String,String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -147,7 +146,7 @@ public class CollectionsTypedTests { @Test public void testCollection_HashSet(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Collection<String> items = config.get("typed2.hashset", new TypeLiteral<Collection<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -162,7 +161,7 @@ public class CollectionsTypedTests { @Test public void testCollection_TreeSet(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Collection<String> items = config.get("typed2.treeset", new TypeLiteral<Collection<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -177,7 +176,7 @@ public class CollectionsTypedTests { @Test public void testCollection_ArrayList(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Collection<String> items = config.get("typed2.arraylist", new TypeLiteral<Collection<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); @@ -192,7 +191,7 @@ public class CollectionsTypedTests { @Test public void testCollection_LinkedList(){ - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Collection<String> items = config.get("typed2.linkedlist", new TypeLiteral<Collection<String>>(){}); assertNotNull(items); assertFalse(items.isEmpty()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/java/org/apache/tamaya/collections/MyUpperCaseConverter.java ---------------------------------------------------------------------- diff --git a/collections/src/test/java/org/apache/tamaya/collections/MyUpperCaseConverter.java b/collections/src/test/java/org/apache/tamaya/collections/MyUpperCaseConverter.java index 1c95261..221b9a1 100644 --- a/collections/src/test/java/org/apache/tamaya/collections/MyUpperCaseConverter.java +++ b/collections/src/test/java/org/apache/tamaya/collections/MyUpperCaseConverter.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.collections; -import org.apache.tamaya.spi.ConversionContext; import org.apache.tamaya.spi.PropertyConverter; /** @@ -27,7 +26,7 @@ import org.apache.tamaya.spi.PropertyConverter; */ public class MyUpperCaseConverter implements PropertyConverter<String>{ @Override - public String convert(String value, ConversionContext context) { + public String convert(String value) { return "("+value.toUpperCase()+")"; } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/collections/src/test/resources/META-INF/javaconfiguration.properties ---------------------------------------------------------------------- diff --git a/collections/src/test/resources/META-INF/javaconfiguration.properties b/collections/src/test/resources/META-INF/javaconfiguration.properties index 787d0d4..1521809 100644 --- a/collections/src/test/resources/META-INF/javaconfiguration.properties +++ b/collections/src/test/resources/META-INF/javaconfiguration.properties @@ -20,7 +20,7 @@ # Config for base tests (no combination policy) base.items=1,2,3,4,5,6,7,8,9,0 -base.map=1::a, 2::b, 3::c, [4:: ] +base.map=1=a, 2=b, 3=c, [4= ] # Config for tests with explcit implementation types typed2.arraylist=1,2,3,4,5,6,7,8,9,0 @@ -35,10 +35,10 @@ _typed2.hashset.read-only=false typed2.treeset=1,2,3,4,5,6,7,8,9,0 _typed2.treeset.collection-type=TreeSet _typed2.treeset.read-only=false -typed2.hashmap=1::a, 2::b, 3::c, [4:: ] +typed2.hashmap=1=a, 2=b, 3=c, [4= ] _typed2.hashmap.collection-type=java.util.HashMap _typed2.hashmap.read-only=false -typed2.treemap=1::a, 2::b, 3::c, [4:: ] +typed2.treemap=1=a, 2=b, 3=c, [4= ] _typed2.treemap.collection-type=TreeMap _typed2.treemap.read-only=false @@ -51,9 +51,9 @@ typed.hashset=1,2,3,4,5,6,7,8,9,0 _typed.hashset.collection-type=HashSet typed.treeset=1,2,3,4,5,6,7,8,9,0 _typed.treeset.collection-type=TreeSet -typed.hashmap=1::a, 2::b, 3::c, [4:: ] +typed.hashmap=1=a, 2=b, 3=c, [4= ] _typed.hashmap.collection-type=java.util.HashMap -typed.treemap=1::a, 2::b, 3::c, [4:: ] +typed.treemap=1=a, 2=b, 3=c, [4= ] _typed.treemap.collection-type=TreeMap # Config for advanced tests http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/configjsr/src/main/java/org/apache/tamaya/jsr382/cdi/JavaConfigConfigurationProducer.java ---------------------------------------------------------------------- diff --git a/configjsr/src/main/java/org/apache/tamaya/jsr382/cdi/JavaConfigConfigurationProducer.java b/configjsr/src/main/java/org/apache/tamaya/jsr382/cdi/JavaConfigConfigurationProducer.java index 5794c31..01893c8 100644 --- a/configjsr/src/main/java/org/apache/tamaya/jsr382/cdi/JavaConfigConfigurationProducer.java +++ b/configjsr/src/main/java/org/apache/tamaya/jsr382/cdi/JavaConfigConfigurationProducer.java @@ -81,14 +81,14 @@ public class JavaConfigConfigurationProducer { static ConversionContext createConversionContext(String key, InjectionPoint injectionPoint) { final Type targetType = injectionPoint.getAnnotated().getBaseType(); - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); ConversionContext.Builder builder = new ConversionContext.Builder(config, - ConfigurationProvider.getConfiguration().getContext(), key, TypeLiteral.of(targetType)); + Configuration.current().getContext(), key, TypeLiteral.of(targetType)); if(targetType instanceof ParameterizedType){ ParameterizedType pt = (ParameterizedType)targetType; if(pt.getRawType().equals(Provider.class)) { builder = new ConversionContext.Builder(config, - ConfigurationProvider.getConfiguration().getContext(), key, + Configuration.current().getContext(), key, TypeLiteral.of(pt.getActualTypeArguments()[0])); } } @@ -120,7 +120,7 @@ public class JavaConfigConfigurationProducer { Object value = null; if (textValue != null || Optional.class.equals(context.getTargetType().getRawType())) { LOGGER.log(Level.FINEST, () -> "Converting KEY: " + context.getKey() + "("+context.getTargetType()+"), textValue: " + textValue); - List<PropertyConverter> converters = ConfigurationProvider.getConfiguration().getContext() + List<PropertyConverter> converters = Configuration.current().getContext() .getPropertyConverters((TypeLiteral)context.getTargetType()); for (PropertyConverter<Object> converter : converters) { try { @@ -141,7 +141,7 @@ public class JavaConfigConfigurationProducer { @Produces public Config getConfiguration(){ - return ConfigProvider.getConfig(); + return Configuration.current(); } @Produces http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigAdapterTest.java ---------------------------------------------------------------------- diff --git a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigAdapterTest.java b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigAdapterTest.java index 019aac0..60533da 100644 --- a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigAdapterTest.java +++ b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigAdapterTest.java @@ -39,7 +39,7 @@ import static org.junit.Assert.*; public class JavaConfigAdapterTest { @Test public void toConfig() throws Exception { - Configuration config = ConfigurationProvider.getConfiguration(); + Configuration config = Configuration.current(); Config mpConfig = JavaConfigAdapter.toConfig(config); assertNotNull(mpConfig); assertEquals(config.getProperties().keySet(), mpConfig.getPropertyNames()); @@ -60,7 +60,7 @@ public class JavaConfigAdapterTest { @Test public void toConfiguration() throws Exception { - Config mpConfig = ConfigProvider.getConfig(); + Config mpConfig = Configuration.current(); Configuration config = JavaConfigAdapter.toConfiguration(mpConfig); assertNotNull(config); assertEquals(mpConfig.getPropertyNames(), config.getProperties().keySet()); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigProviderTest.java ---------------------------------------------------------------------- diff --git a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigProviderTest.java b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigProviderTest.java index 9c39821..bde67bf 100644 --- a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigProviderTest.java +++ b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigProviderTest.java @@ -34,7 +34,7 @@ public class JavaConfigConfigProviderTest { @Test public void testDefaultConfigAccess(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); assertNotNull(config); Iterable<String> names = config.getPropertyNames(); assertNotNull(names); @@ -43,12 +43,12 @@ public class JavaConfigConfigProviderTest { count++; System.out.println(count + ": " +name); } - assertTrue(ConfigurationProvider.getConfiguration().getProperties().size() <= count); + assertTrue(Configuration.current().getProperties().size() <= count); } @Test public void testClassloaderAccess(){ - Config config = ConfigProvider.getConfig(Thread.currentThread().getContextClassLoader()); + Config config = Configuration.current(Thread.currentThread().getContextClassLoader()); assertNotNull(config); Iterable<String> names = config.getPropertyNames(); assertNotNull(names); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/af319373/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigTest.java ---------------------------------------------------------------------- diff --git a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigTest.java b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigTest.java index 06685e1..69cba64 100644 --- a/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigTest.java +++ b/configjsr/src/test/java/org/apache/tamaya/jsr382/JavaConfigConfigTest.java @@ -35,7 +35,7 @@ public class JavaConfigConfigTest { @Test public void testDefaultConfigAccess() { - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); Iterable<ConfigSource> sources = config.getConfigSources(); int count = 0; for (ConfigSource cs : sources) { @@ -46,7 +46,7 @@ public class JavaConfigConfigTest { @Test public void testOptionalAccess(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); int count = 0; for(String key:config.getPropertyNames()){ Optional<String> val = config.getOptionalValue(key, String.class); @@ -59,7 +59,7 @@ public class JavaConfigConfigTest { @Test public void testGetValue(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); int count = 0; for(String key:config.getPropertyNames()){ String val = config.getValue(key, String.class); @@ -69,26 +69,26 @@ public class JavaConfigConfigTest { @Test(expected = NoSuchElementException.class) public void testGetValue_NoValue(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); config.getValue("fooBar", String.class); } @Test(expected = IllegalArgumentException.class) public void testGetValue_InvalidType(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); config.getValue("java.version", Integer.class); } @Test public void testEmptySystemProperty(){ System.setProperty("my.empty.property", ""); - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); assertEquals("", config.getValue("my.empty.property", String.class)); } @Test public void testEmptyConfigProperty(){ - Config config = ConfigProvider.getConfig(); + Config config = Configuration.current(); assertEquals("", config.getValue("my.empty.property.in.config.file", String.class)); }
