http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilder.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilder.java b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilder.java index f7b4fb1..368a2c4 100644 --- a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilder.java +++ b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilder.java @@ -1,478 +1,478 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tamaya.spisupport; - -import org.apache.tamaya.TypeLiteral; -import org.apache.tamaya.spi.*; -import org.apache.tamaya.spisupport.propertysource.CLIPropertySource; -import org.apache.tamaya.spisupport.propertysource.EnvironmentPropertySource; -import org.apache.tamaya.spisupport.propertysource.JavaConfigurationPropertySource; -import org.apache.tamaya.spisupport.propertysource.SystemPropertySource; - -import java.io.File; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.net.URI; -import java.net.URL; -import java.nio.file.Path; -import java.util.*; -import java.util.logging.Logger; - -/** - * Default implementation of {@link ConfigurationContextBuilder}. - */ -@Deprecated -public class DefaultConfigurationContextBuilder implements ConfigurationContextBuilder { - - private static final Logger LOG = Logger.getLogger(DefaultConfigurationContextBuilder.class.getName()); - - protected ServiceContext serviceContext = ServiceContextManager.getServiceContext(); - protected List<PropertyFilter> propertyFilters = new ArrayList<>(); - protected List<PropertySource> propertySources = new ArrayList<>(); - protected MetadataProvider metaDataProvider = serviceContext.create(MetadataProvider.class, () -> new DefaultMetaDataProvider()); - protected PropertyValueCombinationPolicy combinationPolicy = PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY; - protected Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> propertyConverters = new HashMap<>(); - - /** - * Flag if the config has already been built. - * Configuration can be built only once - */ - private boolean built; - - - - /** - * Creates a new builder instance. - */ - public DefaultConfigurationContextBuilder() { - } - - /** - * Creates a new builder instance initializing it with the given context. - * @param context the context to be used, not null. - */ - public DefaultConfigurationContextBuilder(ConfigurationContext context) { - this.propertyConverters.putAll(context.getPropertyConverters()); - this.propertyFilters.addAll(context.getPropertyFilters()); - for(PropertySource ps:context.getPropertySources()) { - addPropertySources(ps); - } - this.combinationPolicy = context.getPropertyValueCombinationPolicy(); - } - - /** - * Allows to reset configuration context during unit tests. - * @param configurationContext the context to be used, not null. - * @return the builder for chaining - */ - public final ConfigurationContextBuilder resetWithConfigurationContext(ConfigurationContext configurationContext) { - checkBuilderState(); - //noinspection deprecation - this.propertyFilters.clear(); - this.propertyFilters.addAll(configurationContext.getPropertyFilters()); - this.propertySources.clear(); - for(PropertySource ps:configurationContext.getPropertySources()) { - addPropertySources(ps); - } - this.propertyConverters.clear(); - this.propertyConverters.putAll(configurationContext.getPropertyConverters()); - this.combinationPolicy = configurationContext.getPropertyValueCombinationPolicy(); - return this; - } - - @Override - public ConfigurationContextBuilder setServiceContext(ServiceContext serviceContext) { - checkBuilderState(); - this.serviceContext = Objects.requireNonNull(serviceContext); - return this; - } - - @Override - public ConfigurationContextBuilder setClassLoader(ClassLoader classLoader) { - checkBuilderState(); - this.serviceContext = Objects.requireNonNull(serviceContext); - return this; - } - - @Override - public ConfigurationContextBuilder setContext(ConfigurationContext context) { - checkBuilderState(); - this.propertyConverters.putAll(context.getPropertyConverters()); - for(PropertySource ps:context.getPropertySources()){ - this.propertySources.add(ps); - } - this.propertyFilters.addAll(context.getPropertyFilters()); - this.combinationPolicy = context.getPropertyValueCombinationPolicy(); - return this; - } - - @Override - public ConfigurationContextBuilder addMetaData(Map<String, String> metaData) { - this.metaDataProvider.setMeta(metaData); - return this; - } - - @Override - public ConfigurationContextBuilder addMetaData(String key, String value) { - this.metaDataProvider.setMeta(key, value); - return this; - } - - @Override - public final ConfigurationContextBuilder addPropertySources(PropertySource... sources){ - return addPropertySources(Arrays.asList(sources)); - } - - @Override - public ConfigurationContextBuilder addPropertySources(Collection<PropertySource> sources){ - checkBuilderState(); - for(PropertySource source:sources) { - if (!this.propertySources.contains(source)) { - this.propertySources.add(source); - } - } - return this; - } - - @Override - public ConfigurationContextBuilder addDefaultPropertySources() { - checkBuilderState(); - List<PropertySource> propertySources = new ArrayList<>(); - addCorePropertyResources(propertySources); - for(PropertySource ps: serviceContext.getServices(PropertySource.class)) { - if(!propertySources.contains(ps)){ - propertySources.add(ps); - } - } - for(PropertySourceProvider provider: - serviceContext.getServices(PropertySourceProvider.class)){ - propertySources.addAll(provider.getPropertySources()); - } - Collections.sort(propertySources, PropertySourceComparator.getInstance()); - return addPropertySources(propertySources); - } - - protected void addCorePropertyResources(List<PropertySource> propertySources) { - JavaConfigurationPropertySource jps = new JavaConfigurationPropertySource(); - jps.init(getServiceContext().getClassLoader()); - for(PropertySource ps: new PropertySource[]{ - new EnvironmentPropertySource(), - jps, - new CLIPropertySource(), - new SystemPropertySource() - }){ - if(!propertySources.contains(ps)){ - propertySources.add(ps); - } - } - } - - @Override - public ConfigurationContextBuilder addDefaultPropertyFilters() { - checkBuilderState(); - for(PropertyFilter pf:serviceContext.getServices(PropertyFilter.class)){ - addPropertyFilters(pf); - } - return this; - } - - @Override - public DefaultConfigurationContextBuilder addDefaultPropertyConverters() { - checkBuilderState(); - addCorePropertyConverters(); - for(Map.Entry<TypeLiteral, Collection<PropertyConverter>> en:getDefaultPropertyConverters().entrySet()){ - for(PropertyConverter pc: en.getValue()) { - addPropertyConverters(en.getKey(), pc); - } - } - return this; - } - - @SuppressWarnings("unchecked") - protected void addCorePropertyConverters() { - // should be overridden by subclasses. - } - - @Override - public final ConfigurationContextBuilder removePropertySources(PropertySource... propertySources) { - return removePropertySources(Arrays.asList(propertySources)); - } - - @Override - public ConfigurationContextBuilder removePropertySources(Collection<PropertySource> propertySources) { - checkBuilderState(); - this.propertySources.removeAll(propertySources); - return this; - } - - protected PropertySource getPropertySource(String name) { - for(PropertySource ps:propertySources){ - if(ps.getName().equals(name)){ - return ps; - } - } - throw new IllegalArgumentException("No such PropertySource: "+name); - } - - @Override - public List<PropertySource> getPropertySources() { - return Collections.unmodifiableList(this.propertySources); - } - - @Override - public ConfigurationContextBuilder increasePriority(PropertySource propertySource) { - checkBuilderState(); - int index = propertySources.indexOf(propertySource); - if(index<0){ - throw new IllegalArgumentException("No such PropertySource: " + propertySource); - } - if(index<(propertySources.size()-1)){ - propertySources.remove(propertySource); - propertySources.add(index+1, propertySource); - } - return this; - } - - @Override - public ConfigurationContextBuilder decreasePriority(PropertySource propertySource) { - checkBuilderState(); - int index = propertySources.indexOf(propertySource); - if(index<0){ - throw new IllegalArgumentException("No such PropertySource: " + propertySource); - } - if(index>0){ - propertySources.remove(propertySource); - propertySources.add(index-1, propertySource); - } - return this; - } - - @Override - public ConfigurationContextBuilder highestPriority(PropertySource propertySource) { - checkBuilderState(); - int index = propertySources.indexOf(propertySource); - if(index<0){ - throw new IllegalArgumentException("No such PropertySource: " + propertySource); - } - if(index<(propertySources.size()-1)){ - propertySources.remove(propertySource); - propertySources.add(propertySource); - } - return this; - } - - @Override - public ConfigurationContextBuilder lowestPriority(PropertySource propertySource) { - checkBuilderState(); - int index = propertySources.indexOf(propertySource); - if(index<0){ - throw new IllegalArgumentException("No such PropertySource: " + propertySource); - } - if(index>0){ - propertySources.remove(propertySource); - propertySources.add(0, propertySource); - } - return this; - } - - @Override - public final ConfigurationContextBuilder addPropertyFilters(PropertyFilter... filters){ - return addPropertyFilters(Arrays.asList(filters)); - } - - @Override - public final ConfigurationContextBuilder addPropertyFilters(Collection<PropertyFilter> filters){ - checkBuilderState(); - for(PropertyFilter f:filters) { - if (!this.propertyFilters.contains(f)) { - this.propertyFilters.add(f); - } - } - return this; - } - - @Override - public final ConfigurationContextBuilder removePropertyFilters(PropertyFilter... filters) { - return removePropertyFilters(Arrays.asList(filters)); - } - - @Override - public final ConfigurationContextBuilder removePropertyFilters(Collection<PropertyFilter> filters) { - checkBuilderState(); - this.propertyFilters.removeAll(filters); - return this; - } - - - @Override - public final <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, - @SuppressWarnings("unchecked") PropertyConverter<T>... converters) { - return removePropertyConverters(typeToConvert, Arrays.asList(converters)); - } - - @Override - public final <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, - Collection<PropertyConverter<T>> converters) { - Collection<PropertyConverter<?>> subConverters = this.propertyConverters.get(typeToConvert); - if(subConverters!=null) { - subConverters.removeAll(converters); - } - return this; - } - - @Override - public final ConfigurationContextBuilder removePropertyConverters(TypeLiteral<?> typeToConvert) { - this.propertyConverters.remove(typeToConvert); - return this; - } - - - @Override - public final ConfigurationContextBuilder setPropertyValueCombinationPolicy(PropertyValueCombinationPolicy combinationPolicy){ - checkBuilderState(); - this.combinationPolicy = Objects.requireNonNull(combinationPolicy); - return this; - } - - - @Override - public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, PropertyConverter<T>... propertyConverters){ - checkBuilderState(); - Objects.requireNonNull(type); - Objects.requireNonNull(propertyConverters); - Collection<PropertyConverter<?>> converters = this.propertyConverters.get(type); - if(converters==null){ - converters = new ArrayList<>(); - this.propertyConverters.put(type, converters); - } - for(PropertyConverter<T> propertyConverter:propertyConverters) { - if (!converters.contains(propertyConverter)) { - converters.add(propertyConverter); - } else { - LOG.warning("Converter ignored, already registered: " + propertyConverter); - } - } - return this; - } - - @Override - public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, Collection<PropertyConverter<T>> propertyConverters){ - checkBuilderState(); - Objects.requireNonNull(type); - Objects.requireNonNull(propertyConverters); - Collection<PropertyConverter<?>> converters = this.propertyConverters.get(type); - if(converters==null){ - converters = new ArrayList<>(); - this.propertyConverters.put(type, converters); - } - for(PropertyConverter<T> propertyConverter:propertyConverters) { - if (!converters.contains(propertyConverter)) { - converters.add(propertyConverter); - } else { - LOG.warning("Converter ignored, already registered: " + propertyConverter); - } - } - return this; - } - - protected ConfigurationContextBuilder loadDefaults() { - checkBuilderState(); - this.combinationPolicy = PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_COLLECTOR; - addDefaultPropertySources(); - addDefaultPropertyFilters(); - addDefaultPropertyConverters(); - return this; - } - - - protected Map<TypeLiteral, Collection<PropertyConverter>> getDefaultPropertyConverters() { - Map<TypeLiteral, Collection<PropertyConverter>> result = new HashMap<>(); - for (PropertyConverter conv : serviceContext.getServices( - PropertyConverter.class)) { - for(Type type:conv.getClass().getGenericInterfaces()){ - if(type instanceof ParameterizedType){ - ParameterizedType pt = (ParameterizedType)type; - if(PropertyConverter.class.equals(((ParameterizedType) type).getRawType())){ - TypeLiteral target = TypeLiteral.of(pt.getActualTypeArguments()[0]); - Collection<PropertyConverter> convList = result.get(target); - if (convList == null) { - convList = new ArrayList<>(); - result.put(target, convList); - } - convList.add(conv); - } - } - } - } - return result; - } - - @Override - public ServiceContext getServiceContext() { - return serviceContext; - } - - - /** - * Builds a new configuration based on the configuration of this builder instance. - * - * @return a new {@link org.apache.tamaya.Configuration} configuration instance, - * never {@code null}. - */ - @Override - public ConfigurationContext build() { - checkBuilderState(); - built = true; - return new DefaultConfigurationContext(this); - } - - @Override - public ConfigurationContextBuilder sortPropertyFilter(Comparator<PropertyFilter> comparator) { - Collections.sort(propertyFilters, comparator); - return this; - } - - @Override - public ConfigurationContextBuilder sortPropertySources(Comparator<PropertySource> comparator) { - Collections.sort(propertySources, comparator); - return this; - } - - private void checkBuilderState() { - if (built) { - throw new IllegalStateException("Configuration has already been build."); - } - } - - @Override - public List<PropertyFilter> getPropertyFilters() { - return propertyFilters; - } - - @Override - public Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> getPropertyConverter() { - return Collections.unmodifiableMap(this.propertyConverters); - } - - public MetadataProvider getMetaDataProvider() { - return metaDataProvider; - } -} +///* +// * Licensed to the Apache Software Foundation (ASF) under one +// * or more contributor license agreements. See the NOTICE file +// * distributed with this work for additional information +// * regarding copyright ownership. The ASF licenses this file +// * to you under the Apache License, Version 2.0 (the +// * "License"); you may not use this file except in compliance +// * with the License. You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, +// * software distributed under the License is distributed on an +// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// * KIND, either express or implied. See the License for the +// * specific language governing permissions and limitations +// * under the License. +// */ +//package org.apache.tamaya.spisupport; +// +//import org.apache.tamaya.TypeLiteral; +//import org.apache.tamaya.spi.*; +//import org.apache.tamaya.spisupport.propertysource.CLIPropertySource; +//import org.apache.tamaya.spisupport.propertysource.EnvironmentPropertySource; +//import org.apache.tamaya.spisupport.propertysource.JavaConfigurationPropertySource; +//import org.apache.tamaya.spisupport.propertysource.SystemPropertySource; +// +//import java.io.File; +//import java.lang.reflect.ParameterizedType; +//import java.lang.reflect.Type; +//import java.math.BigDecimal; +//import java.math.BigInteger; +//import java.net.URI; +//import java.net.URL; +//import java.nio.file.Path; +//import java.util.*; +//import java.util.logging.Logger; +// +///** +// * Default implementation of {@link ConfigurationContextBuilder}. +// */ +//@Deprecated +//public class DefaultConfigurationContextBuilder implements ConfigurationContextBuilder { +// +// private static final Logger LOG = Logger.getLogger(DefaultConfigurationContextBuilder.class.getName()); +// +// protected ServiceContext serviceContext = ServiceContextManager.getServiceContext(); +// protected List<PropertyFilter> propertyFilters = new ArrayList<>(); +// protected List<PropertySource> propertySources = new ArrayList<>(); +// protected MetadataProvider metaDataProvider = serviceContext.create(MetadataProvider.class, () -> new DefaultMetaDataProvider()); +// protected PropertyValueCombinationPolicy combinationPolicy = PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY; +// protected Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> propertyConverters = new HashMap<>(); +// +// /** +// * Flag if the config has already been built. +// * Configuration can be built only once +// */ +// private boolean built; +// +// +// +// /** +// * Creates a new builder instance. +// */ +// public DefaultConfigurationContextBuilder() { +// } +// +// /** +// * Creates a new builder instance initializing it with the given context. +// * @param context the context to be used, not null. +// */ +// public DefaultConfigurationContextBuilder(ConfigurationContext context) { +// this.propertyConverters.putAll(context.getPropertyConverters()); +// this.propertyFilters.addAll(context.getPropertyFilters()); +// for(PropertySource ps:context.getPropertySources()) { +// addPropertySources(ps); +// } +// this.combinationPolicy = context.getPropertyValueCombinationPolicy(); +// } +// +// /** +// * Allows to reset configuration context during unit tests. +// * @param configurationContext the context to be used, not null. +// * @return the builder for chaining +// */ +// public final ConfigurationContextBuilder resetWithConfigurationContext(ConfigurationContext configurationContext) { +// checkBuilderState(); +// //noinspection deprecation +// this.propertyFilters.clear(); +// this.propertyFilters.addAll(configurationContext.getPropertyFilters()); +// this.propertySources.clear(); +// for(PropertySource ps:configurationContext.getPropertySources()) { +// addPropertySources(ps); +// } +// this.propertyConverters.clear(); +// this.propertyConverters.putAll(configurationContext.getPropertyConverters()); +// this.combinationPolicy = configurationContext.getPropertyValueCombinationPolicy(); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder setServiceContext(ServiceContext serviceContext) { +// checkBuilderState(); +// this.serviceContext = Objects.requireNonNull(serviceContext); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder setClassLoader(ClassLoader classLoader) { +// checkBuilderState(); +// this.serviceContext = Objects.requireNonNull(serviceContext); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder setContext(ConfigurationContext context) { +// checkBuilderState(); +// this.propertyConverters.putAll(context.getPropertyConverters()); +// for(PropertySource ps:context.getPropertySources()){ +// this.propertySources.add(ps); +// } +// this.propertyFilters.addAll(context.getPropertyFilters()); +// this.combinationPolicy = context.getPropertyValueCombinationPolicy(); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder addMetaData(Map<String, String> metaData) { +// this.metaDataProvider.setMeta(metaData); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder addMetaData(String key, String value) { +// this.metaDataProvider.setMeta(key, value); +// return this; +// } +// +// @Override +// public final ConfigurationContextBuilder addPropertySources(PropertySource... sources){ +// return addPropertySources(Arrays.asList(sources)); +// } +// +// @Override +// public ConfigurationContextBuilder addPropertySources(Collection<PropertySource> sources){ +// checkBuilderState(); +// for(PropertySource source:sources) { +// if (!this.propertySources.contains(source)) { +// this.propertySources.add(source); +// } +// } +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder addDefaultPropertySources() { +// checkBuilderState(); +// List<PropertySource> propertySources = new ArrayList<>(); +// addCorePropertyResources(propertySources); +// for(PropertySource ps: serviceContext.getServices(PropertySource.class)) { +// if(!propertySources.contains(ps)){ +// propertySources.add(ps); +// } +// } +// for(PropertySourceProvider provider: +// serviceContext.getServices(PropertySourceProvider.class)){ +// propertySources.addAll(provider.getPropertySources()); +// } +// Collections.sort(propertySources, PropertySourceComparator.getInstance()); +// return addPropertySources(propertySources); +// } +// +// protected void addCorePropertyResources(List<PropertySource> propertySources) { +// JavaConfigurationPropertySource jps = new JavaConfigurationPropertySource(); +// jps.init(getServiceContext().getClassLoader()); +// for(PropertySource ps: new PropertySource[]{ +// new EnvironmentPropertySource(), +// jps, +// new CLIPropertySource(), +// new SystemPropertySource() +// }){ +// if(!propertySources.contains(ps)){ +// propertySources.add(ps); +// } +// } +// } +// +// @Override +// public ConfigurationContextBuilder addDefaultPropertyFilters() { +// checkBuilderState(); +// for(PropertyFilter pf:serviceContext.getServices(PropertyFilter.class)){ +// addPropertyFilters(pf); +// } +// return this; +// } +// +// @Override +// public DefaultConfigurationContextBuilder addDefaultPropertyConverters() { +// checkBuilderState(); +// addCorePropertyConverters(); +// for(Map.Entry<TypeLiteral, Collection<PropertyConverter>> en:getDefaultPropertyConverters().entrySet()){ +// for(PropertyConverter pc: en.getValue()) { +// addPropertyConverters(en.getKey(), pc); +// } +// } +// return this; +// } +// +// @SuppressWarnings("unchecked") +// protected void addCorePropertyConverters() { +// // should be overridden by subclasses. +// } +// +// @Override +// public final ConfigurationContextBuilder removePropertySources(PropertySource... propertySources) { +// return removePropertySources(Arrays.asList(propertySources)); +// } +// +// @Override +// public ConfigurationContextBuilder removePropertySources(Collection<PropertySource> propertySources) { +// checkBuilderState(); +// this.propertySources.removeAll(propertySources); +// return this; +// } +// +// protected PropertySource getPropertySource(String name) { +// for(PropertySource ps:propertySources){ +// if(ps.getName().equals(name)){ +// return ps; +// } +// } +// throw new IllegalArgumentException("No such PropertySource: "+name); +// } +// +// @Override +// public List<PropertySource> getPropertySources() { +// return Collections.unmodifiableList(this.propertySources); +// } +// +// @Override +// public ConfigurationContextBuilder increasePriority(PropertySource propertySource) { +// checkBuilderState(); +// int index = propertySources.indexOf(propertySource); +// if(index<0){ +// throw new IllegalArgumentException("No such PropertySource: " + propertySource); +// } +// if(index<(propertySources.size()-1)){ +// propertySources.remove(propertySource); +// propertySources.add(index+1, propertySource); +// } +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder decreasePriority(PropertySource propertySource) { +// checkBuilderState(); +// int index = propertySources.indexOf(propertySource); +// if(index<0){ +// throw new IllegalArgumentException("No such PropertySource: " + propertySource); +// } +// if(index>0){ +// propertySources.remove(propertySource); +// propertySources.add(index-1, propertySource); +// } +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder highestPriority(PropertySource propertySource) { +// checkBuilderState(); +// int index = propertySources.indexOf(propertySource); +// if(index<0){ +// throw new IllegalArgumentException("No such PropertySource: " + propertySource); +// } +// if(index<(propertySources.size()-1)){ +// propertySources.remove(propertySource); +// propertySources.add(propertySource); +// } +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder lowestPriority(PropertySource propertySource) { +// checkBuilderState(); +// int index = propertySources.indexOf(propertySource); +// if(index<0){ +// throw new IllegalArgumentException("No such PropertySource: " + propertySource); +// } +// if(index>0){ +// propertySources.remove(propertySource); +// propertySources.add(0, propertySource); +// } +// return this; +// } +// +// @Override +// public final ConfigurationContextBuilder addPropertyFilters(PropertyFilter... filters){ +// return addPropertyFilters(Arrays.asList(filters)); +// } +// +// @Override +// public final ConfigurationContextBuilder addPropertyFilters(Collection<PropertyFilter> filters){ +// checkBuilderState(); +// for(PropertyFilter f:filters) { +// if (!this.propertyFilters.contains(f)) { +// this.propertyFilters.add(f); +// } +// } +// return this; +// } +// +// @Override +// public final ConfigurationContextBuilder removePropertyFilters(PropertyFilter... filters) { +// return removePropertyFilters(Arrays.asList(filters)); +// } +// +// @Override +// public final ConfigurationContextBuilder removePropertyFilters(Collection<PropertyFilter> filters) { +// checkBuilderState(); +// this.propertyFilters.removeAll(filters); +// return this; +// } +// +// +// @Override +// public final <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, +// @SuppressWarnings("unchecked") PropertyConverter<T>... converters) { +// return removePropertyConverters(typeToConvert, Arrays.asList(converters)); +// } +// +// @Override +// public final <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, +// Collection<PropertyConverter<T>> converters) { +// Collection<PropertyConverter<?>> subConverters = this.propertyConverters.get(typeToConvert); +// if(subConverters!=null) { +// subConverters.removeAll(converters); +// } +// return this; +// } +// +// @Override +// public final ConfigurationContextBuilder removePropertyConverters(TypeLiteral<?> typeToConvert) { +// this.propertyConverters.remove(typeToConvert); +// return this; +// } +// +// +// @Override +// public final ConfigurationContextBuilder setPropertyValueCombinationPolicy(PropertyValueCombinationPolicy combinationPolicy){ +// checkBuilderState(); +// this.combinationPolicy = Objects.requireNonNull(combinationPolicy); +// return this; +// } +// +// +// @Override +// public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, PropertyConverter<T>... propertyConverters){ +// checkBuilderState(); +// Objects.requireNonNull(type); +// Objects.requireNonNull(propertyConverters); +// Collection<PropertyConverter<?>> converters = this.propertyConverters.get(type); +// if(converters==null){ +// converters = new ArrayList<>(); +// this.propertyConverters.put(type, converters); +// } +// for(PropertyConverter<T> propertyConverter:propertyConverters) { +// if (!converters.contains(propertyConverter)) { +// converters.add(propertyConverter); +// } else { +// LOG.warning("Converter ignored, already registered: " + propertyConverter); +// } +// } +// return this; +// } +// +// @Override +// public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, Collection<PropertyConverter<T>> propertyConverters){ +// checkBuilderState(); +// Objects.requireNonNull(type); +// Objects.requireNonNull(propertyConverters); +// Collection<PropertyConverter<?>> converters = this.propertyConverters.get(type); +// if(converters==null){ +// converters = new ArrayList<>(); +// this.propertyConverters.put(type, converters); +// } +// for(PropertyConverter<T> propertyConverter:propertyConverters) { +// if (!converters.contains(propertyConverter)) { +// converters.add(propertyConverter); +// } else { +// LOG.warning("Converter ignored, already registered: " + propertyConverter); +// } +// } +// return this; +// } +// +// protected ConfigurationContextBuilder loadDefaults() { +// checkBuilderState(); +// this.combinationPolicy = PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_COLLECTOR; +// addDefaultPropertySources(); +// addDefaultPropertyFilters(); +// addDefaultPropertyConverters(); +// return this; +// } +// +// +// protected Map<TypeLiteral, Collection<PropertyConverter>> getDefaultPropertyConverters() { +// Map<TypeLiteral, Collection<PropertyConverter>> result = new HashMap<>(); +// for (PropertyConverter conv : serviceContext.getServices( +// PropertyConverter.class)) { +// for(Type type:conv.getClass().getGenericInterfaces()){ +// if(type instanceof ParameterizedType){ +// ParameterizedType pt = (ParameterizedType)type; +// if(PropertyConverter.class.equals(((ParameterizedType) type).getRawType())){ +// TypeLiteral target = TypeLiteral.of(pt.getActualTypeArguments()[0]); +// Collection<PropertyConverter> convList = result.get(target); +// if (convList == null) { +// convList = new ArrayList<>(); +// result.put(target, convList); +// } +// convList.add(conv); +// } +// } +// } +// } +// return result; +// } +// +// @Override +// public ServiceContext getServiceContext() { +// return serviceContext; +// } +// +// +// /** +// * Builds a new configuration based on the configuration of this builder instance. +// * +// * @return a new {@link org.apache.tamaya.Configuration} configuration instance, +// * never {@code null}. +// */ +// @Override +// public ConfigurationContext build() { +// checkBuilderState(); +// built = true; +// return new DefaultConfigurationContext(this); +// } +// +// @Override +// public ConfigurationContextBuilder sortPropertyFilter(Comparator<PropertyFilter> comparator) { +// Collections.sort(propertyFilters, comparator); +// return this; +// } +// +// @Override +// public ConfigurationContextBuilder sortPropertySources(Comparator<PropertySource> comparator) { +// Collections.sort(propertySources, comparator); +// return this; +// } +// +// private void checkBuilderState() { +// if (built) { +// throw new IllegalStateException("Configuration has already been build."); +// } +// } +// +// @Override +// public List<PropertyFilter> getPropertyFilters() { +// return propertyFilters; +// } +// +// @Override +// public Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> getPropertyConverter() { +// return Collections.unmodifiableMap(this.propertyConverters); +// } +// +// public MetadataProvider getMetaDataProvider() { +// return metaDataProvider; +// } +//}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/main/java/org/apache/tamaya/spisupport/MetadataProvider.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/MetadataProvider.java b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/MetadataProvider.java index 24e28ef..b5040fa 100644 --- a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/MetadataProvider.java +++ b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/MetadataProvider.java @@ -40,7 +40,7 @@ public interface MetadataProvider { /** * Access the current metadata for the given configuration context. The MetaData will be - * accessible from {@link ConfigurationContext#getMetadata()}. Note that the metadata must not + * accessible from {@link ConfigurationContext#getMetaData()}. Note that the metadata must not * to be cached by it's consumers, so caching/optimazitation is delegated to this implementation. * @return the (immutable) metadata of this configuration context. */ http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilderTest.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilderTest.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilderTest.java index 9c553bb..a4487e7 100644 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilderTest.java +++ b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilderTest.java @@ -373,16 +373,6 @@ public class DefaultConfigurationBuilderTest { } @Test - public void setPropertyValueCombinationPolicy() throws Exception { - PropertyValueCombinationPolicy combPol = (currentValue, key, propertySource) -> currentValue; - ConfigurationBuilder b = new DefaultConfigurationBuilder() - .setPropertyValueCombinationPolicy(combPol); - Configuration cfg = b.build(); - ConfigurationContext ctx = cfg.getContext(); - assertThat(combPol).isEqualTo(ctx.getPropertyValueCombinationPolicy()); - } - - @Test public void build() throws Exception { assertThat(new DefaultConfigurationBuilder().build()).isNotNull(); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilderTest.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilderTest.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilderTest.java deleted file mode 100644 index 9d04350..0000000 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextBuilderTest.java +++ /dev/null @@ -1,671 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tamaya.spisupport; - -import org.apache.tamaya.spi.*; - -import static org.assertj.core.api.Assertions.*; - -import org.apache.tamaya.ConfigurationProvider; -import org.apache.tamaya.TypeLiteral; -import org.junit.Test; - -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.ArrayList; - -/** - * - * @author William.Lieurance 2018.02.17 - * - * This class is an almost exact copy of - * com.tamaya.core.internal.CoreConfigurationBuilderTest, which itself uses - * DefaultConfigurationContextBuilder under the covers. - * - */ -public class DefaultConfigurationContextBuilderTest { - - private MockedPropertySource testPropertySource = new MockedPropertySource() { - }; - - @Test - public void setContext() throws Exception { - ConfigurationContext context = ConfigurationProvider.getConfiguration().getContext(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .setContext(context); - assertThat(b.build()).isEqualTo(context); - boolean caughtAlreadyBuilt = false; - try { - b.setContext(context); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - b = new DefaultConfigurationContextBuilder(context); - assertThat(b.build()).isEqualTo(context); - } - - @Test - public void addPropertySources_Array() throws Exception { - PropertySource testPS2 = new MockedPropertySource("addPropertySources_Array", 1); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - // Ensure no sorting happens during add, so switch ordinals! - testPS2 = new MockedPropertySource("addPropertySources_Array", 1); - b = new DefaultConfigurationContextBuilder(); - ctx = b.addPropertySources(testPS2, testPropertySource).build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - assertThat("MockedPropertySource").isEqualTo(ctx.getPropertySources().get(1).getName()); - assertThat("addPropertySources_Array").isEqualTo(ctx.getPropertySources().get(0).getName()); - } - - @Test - public void addPropertySources_Collection() throws Exception { - PropertySource testPS2 = new MockedPropertySource("addPropertySources_Collection", 1); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertySources(Arrays.asList(new PropertySource[]{testPropertySource, testPS2})); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - assertThat("MockedPropertySource").isEqualTo(ctx.getPropertySources().get(0).getName()); - assertThat("addPropertySources_Collection").isEqualTo(ctx.getPropertySources().get(1).getName()); - // Ensure no sorting happens during add, so switch ordinals! - testPS2 = new MockedPropertySource("addPropertySources_Collection", 1); - ctx = new DefaultConfigurationContextBuilder() - .addPropertySources(Arrays.asList(new PropertySource[]{testPS2, testPropertySource})).build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - assertThat("MockedPropertySource").isEqualTo(ctx.getPropertySources().get(1).getName()); - assertThat("addPropertySources_Collection").isEqualTo(ctx.getPropertySources().get(0).getName()); - } - - @Test - public void removePropertySources_Array() throws Exception { - PropertySource testPS2 = new MockedPropertySource("removePropertySources_Array", 1); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - ctx = b.removePropertySources(testPropertySource).build(); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isFalse(); - //Throws an exception - //assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPS2.getName())).isNotNull(); - assertThat(ctx.getPropertySources()).hasSize(1); - } - - @Test - public void removePropertySources_Collection() throws Exception { - PropertySource testPS2 = new MockedPropertySource("removePropertySources_Array", 1); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertySources()).hasSize(2); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isTrue(); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource(testPropertySource.getName())).isNotNull(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(ctx.getPropertySource(testPS2.getName())).isNotNull(); - b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - ctx = b.removePropertySources(testPropertySource).build(); - assertThat(ctx.getPropertySources()).hasSize(1); - assertThat(ctx.getPropertySources().contains(testPropertySource)).isFalse(); - assertThat(ctx.getPropertySources().contains(testPS2)).isTrue(); - assertThat(ctx.getPropertySource(testPS2.getName())).isNotNull(); - } - - @Test(expected = IllegalArgumentException.class) - public void missingPropertySource() throws Exception { - PropertySource testPS2 = new MockedPropertySource("removePropertySources_Array", 1); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertySources(testPropertySource, testPS2); - assertThat(((DefaultConfigurationContextBuilder)b).getPropertySource("missing")).isNull(); - } - - @Test - public void addPropertyFilters_Array() throws Exception { - PropertyFilter filter1 = (value, ctx) -> value; - PropertyFilter filter2 = (value, ctx) -> value; - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters(filter1, filter2); - ConfigurationContext ctx = b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addPropertyFilters(filter1, filter2); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter1)).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - assertThat(ctx.getPropertyFilters()).hasSize(2); - b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters(filter1, filter2); - b.addPropertyFilters(filter1, filter2); - assertThat(ctx.getPropertyFilters()).hasSize(2); - } - - @Test - public void addPropertyFilters_Collection() throws Exception { - PropertyFilter filter1 = (value, ctx) -> value; - PropertyFilter filter2 = (value, ctx) -> value; - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2})); - ConfigurationContext ctx = b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2})); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter1)).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - assertThat(ctx.getPropertyFilters()).hasSize(2); - b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters(filter1, filter2); - b.addPropertyFilters(filter1, filter2); - assertThat(ctx.getPropertyFilters()).hasSize(2); - } - - @Test - public void removePropertyFilters_Array() throws Exception { - PropertyFilter filter1 = (value, ctx) -> value; - PropertyFilter filter2 = (value, ctx) -> value; - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyFilters(filter1, filter2); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertyFilters().contains(filter1)).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - assertThat(ctx.getPropertyFilters()).hasSize(2); - b = new DefaultConfigurationContextBuilder() - .addPropertyFilters(filter1, filter2); - ctx = b.removePropertyFilters(filter1).build(); - assertThat(ctx.getPropertyFilters()).hasSize(1); - assertThat(ctx.getPropertyFilters().contains(filter1)).isFalse(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - boolean caughtAlreadyBuilt = false; - try { - b.removePropertyFilters(filter1); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void removePropertyFilters_Collection() throws Exception { - PropertyFilter filter1 = (value, ctx) -> value; - PropertyFilter filter2 = (value, ctx) -> value; - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2})); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertyFilters().contains(filter1)).isTrue(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - assertThat(ctx.getPropertyFilters()).hasSize(2); - b = new DefaultConfigurationContextBuilder() - .addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2})); - ctx = b.removePropertyFilters(Arrays.asList(filter1)).build(); - assertThat(ctx.getPropertyFilters()).hasSize(1); - assertThat(ctx.getPropertyFilters().contains(filter1)).isFalse(); - assertThat(ctx.getPropertyFilters().contains(filter2)).isTrue(); - boolean caughtAlreadyBuilt = false; - try { - b.removePropertyFilters(filter1); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - @SuppressWarnings({"rawtypes", "unchecked"}) - public void addPropertyConverters_Array() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - ConfigurationContext ctx = b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addPropertyConverters(TypeLiteral.of(String.class), converter); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isTrue(); - assertThat(ctx.getPropertyConverters()).hasSize(1); - b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - b.addPropertyConverters(TypeLiteral.of(String.class), converter); - assertThat(ctx.getPropertyConverters()).hasSize(1); - } - - @Test - @SuppressWarnings({"rawtypes", "unchecked"}) - public void addPropertyConverters_Collection() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), - Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})); - ConfigurationContext ctx = b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addPropertyConverters(TypeLiteral.of(String.class), - Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isTrue(); - assertThat(1).isEqualTo(ctx.getPropertyConverters().size()); - b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), - Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})); - b.addPropertyConverters(TypeLiteral.of(String.class), converter); - assertThat(1).isEqualTo(ctx.getPropertyConverters().size()); - } - - @Test - @SuppressWarnings({"rawtypes", "unchecked"}) - public void removePropertyConverters_Type() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isTrue(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class))).hasSize(1); - b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - ctx = b.removePropertyConverters(TypeLiteral.of(String.class)).build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isFalse(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty()).isTrue(); - } - - @Test - @SuppressWarnings({"rawtypes", "unchecked"}) - public void removePropertyConverters_Array() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isTrue(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class))).hasSize(1); - b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), converter); - ctx = b.removePropertyConverters(TypeLiteral.of(String.class), converter).build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isFalse(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty()).isTrue(); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Test - public void removePropertyConverters_Collection() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})); - ConfigurationContext ctx = b.build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isTrue(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class))).hasSize(1); - b = new DefaultConfigurationContextBuilder() - .addPropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})); - ctx = b.removePropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter})).build(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter)).isFalse(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty()).isTrue(); - } - - @Test - public void setPropertyValueCombinationPolicy() throws Exception { - PropertyValueCombinationPolicy combPol = (currentValue, key, propertySource) -> currentValue; - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder() - .setPropertyValueCombinationPolicy(combPol); - ConfigurationContext ctx = b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.setPropertyValueCombinationPolicy(combPol); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - assertThat(combPol).isEqualTo(ctx.getPropertyValueCombinationPolicy()); - } - - @Test - public void increasePriority() { - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - MockedPropertySource[] propertySources = new MockedPropertySource[10]; - for (int i = 0; i < propertySources.length; i++) { - propertySources[i] = new MockedPropertySource("ps" + i, i); - } - b.addPropertySources(propertySources); - b.increasePriority(propertySources[propertySources.length - 1]); - for (int i = 0; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - b.increasePriority(propertySources[propertySources.length - 2]).build(); - for (int i = 0; i < propertySources.length - 2; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - assertThat(b.getPropertySources().get(propertySources.length - 2)).isEqualTo(propertySources[propertySources.length - 1]); - assertThat(b.getPropertySources().get(propertySources.length - 1)).isEqualTo(propertySources[propertySources.length - 2]); - boolean caughtAlreadyBuilt = false; - try { - b.increasePriority(propertySources[propertySources.length - 2]); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void decreasePriority() { - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - MockedPropertySource[] propertySources = new MockedPropertySource[10]; - for (int i = 0; i < propertySources.length; i++) { - propertySources[i] = new MockedPropertySource("ps" + i, i); - } - b.addPropertySources(propertySources); - b.decreasePriority(propertySources[0]); - for (int i = 0; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - b.decreasePriority(propertySources[1]).build(); - for (int i = 2; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - assertThat(b.getPropertySources().get(1)).isEqualTo(propertySources[0]); - assertThat(b.getPropertySources().get(0)).isEqualTo(propertySources[1]); - boolean caughtAlreadyBuilt = false; - try { - b.decreasePriority(propertySources[1]); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void lowestPriority() { - // setup - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - MockedPropertySource[] propertySources = new MockedPropertySource[10]; - for (int i = 0; i < propertySources.length; i++) { - propertySources[i] = new MockedPropertySource("ps" + i, i); - } - b.addPropertySources(propertySources); - // test - b.lowestPriority(propertySources[0]); - for (int i = 0; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - b.lowestPriority(propertySources[1]); - for (int i = 2; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - assertThat(b.getPropertySources().get(1)).isEqualTo(propertySources[0]); - assertThat(b.getPropertySources().get(0)).isEqualTo(propertySources[1]); - b.lowestPriority(propertySources[5]).build(); - assertThat(b.getPropertySources().get(0)).isEqualTo(propertySources[5]); - boolean caughtAlreadyBuilt = false; - try { - b.lowestPriority(propertySources[5]); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void highestPriority() { - // setup - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - MockedPropertySource[] propertySources = new MockedPropertySource[10]; - for (int i = 0; i < propertySources.length; i++) { - propertySources[i] = new MockedPropertySource("ps" + i, i); - } - b.addPropertySources(propertySources); - // test - b.highestPriority(propertySources[propertySources.length - 1]); - for (int i = 0; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - b.highestPriority(propertySources[propertySources.length - 2]); - for (int i = 0; i < propertySources.length - 2; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - assertThat(b.getPropertySources().get(propertySources.length - 1)).isEqualTo(propertySources[propertySources.length - 2]); - assertThat(b.getPropertySources().get(propertySources.length - 2)).isEqualTo(propertySources[propertySources.length - 1]); - b.highestPriority(propertySources[5]).build(); - assertThat(b.getPropertySources().get(propertySources.length - 1)).isEqualTo(propertySources[5]); - boolean caughtAlreadyBuilt = false; - try { - b.highestPriority(propertySources[5]); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void sortPropertySources() { - // setup - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - MockedPropertySource[] propertySources = new MockedPropertySource[10]; - for (int i = 0; i < propertySources.length; i++) { - propertySources[i] = new MockedPropertySource("ps" + i, i); - } - b.addPropertySources(propertySources); - Comparator<PropertySource> psComp = (o1, o2) -> o1.toString().compareTo(o2.toString()); - // test - assertThat(b.sortPropertySources(psComp).getClass()).isEqualTo(DefaultConfigurationContextBuilder.class); - Arrays.sort(propertySources, psComp); - for (int i = 0; i < propertySources.length; i++) { - assertThat(b.getPropertySources().get(i)).isEqualTo(propertySources[i]); - } - } - - @Test - public void sortPropertyFilter() { - // setup - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - PropertyFilter[] propertyFilters = new PropertyFilter[10]; - for (int i = 0; i < propertyFilters.length; i++) { - propertyFilters[i] = (value, ctx) -> value.setValue(toString() + " - "); - } - - b.addPropertyFilters(propertyFilters); - Comparator<PropertyFilter> pfComp = (o1, o2) -> o1.toString().compareTo(o2.toString()); - //test - assertThat(b.sortPropertyFilter(pfComp).getClass()).isEqualTo(DefaultConfigurationContextBuilder.class); - Arrays.sort(propertyFilters, pfComp); - for (int i = 0; i < propertyFilters.length; i++) { - assertThat(b.getPropertyFilters().get(i)).isEqualTo(propertyFilters[i]); - } - } - - @Test - public void build() throws Exception { - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - ConfigurationContext ctx = b.build(); - assertThat(ctx).isNotNull(); - assertThat(ctx.getPropertySources().isEmpty()).isTrue(); - assertThat(ctx.getPropertyFilters().isEmpty()).isTrue(); - boolean caughtAlreadyBuilt = false; - try { - b.build(); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - } - - @Test - public void testRemoveAllFilters() throws Exception { - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters((value, ctx) -> value.setValue(toString() + " - ")); - assertThat(b.getPropertyFilters().isEmpty()).isFalse(); - b.removePropertyFilters(b.getPropertyFilters()); - assertThat(b.getPropertyFilters().isEmpty()).isTrue(); - } - - @Test - public void testRemoveAllSources() throws Exception { - ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.addPropertySources(new MockedPropertySource()); - assertThat(b.getPropertySources().isEmpty()).isFalse(); - b.removePropertySources(b.getPropertySources()); - assertThat(b.getPropertyFilters().isEmpty()).isTrue(); - } - - @Test - public void testResetContext() throws Exception { - PropertyConverter converter = (value, ctx) -> value.toLowerCase(); - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - ConfigurationContext empty = b.build(); - - b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters((value, ctx) -> value.setValue(toString() + " - ")); - b.addPropertySources(new MockedPropertySource()); - b.addPropertyConverters(TypeLiteral.of(String.class), converter); - ConfigurationContext full = b.build(); - - boolean caughtAlreadyBuilt = false; - try { - b.resetWithConfigurationContext(empty); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - - b = new DefaultConfigurationContextBuilder(); - b.addPropertyFilters((value, ctx) -> value.setValue(toString() + " - ")); - b.addPropertySources(new MockedPropertySource()); - b.addPropertyConverters(TypeLiteral.of(String.class), converter); - b.resetWithConfigurationContext(empty); - assertThat(b.getPropertyConverter().isEmpty()).isTrue(); - assertThat(b.getPropertySources().isEmpty()).isTrue(); - assertThat(b.getPropertyFilters().isEmpty()).isTrue(); - b.resetWithConfigurationContext(full).build(); - assertThat(b.getPropertyConverter().isEmpty()).isFalse(); - assertThat(b.getPropertySources().isEmpty()).isFalse(); - assertThat(b.getPropertyFilters().isEmpty()).isFalse(); - - } - - @Test - public void testLoadDefaults() throws Exception { - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.loadDefaults(); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - - ConfigurationContext ctx = new DefaultConfigurationContextBuilder().loadDefaults().build(); - assertThat(ctx.getPropertyConverters().isEmpty()).isFalse(); - assertThat(ctx.getPropertyFilters().isEmpty()).isFalse(); - assertThat(ctx.getPropertySources().isEmpty()).isFalse(); - } - - - @Test - public void testAddDefaultPropertyConverters() throws Exception { - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addDefaultPropertyConverters(); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - - ConfigurationContext ctx = new DefaultConfigurationContextBuilder().addDefaultPropertyConverters().build(); - assertThat(ctx.getPropertyConverters().isEmpty()).isFalse(); - assertThat(ctx.getPropertyConverters(TypeLiteral.of(Integer.class))).isNotNull(); - } - - @Test - public void testAddDefaultPropertyFilters() throws Exception { - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addDefaultPropertyFilters(); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - - ConfigurationContext ctx = new DefaultConfigurationContextBuilder().addDefaultPropertyFilters().build(); - assertThat(ctx.getPropertyFilters().isEmpty()).isFalse(); - } - - @Test - public void testAddDefaultPropertySources() throws Exception { - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - b.build(); - boolean caughtAlreadyBuilt = false; - try { - b.addDefaultPropertySources(); - } catch (IllegalStateException e) { - caughtAlreadyBuilt = true; - } - assertThat(caughtAlreadyBuilt).isTrue(); - - ConfigurationContext ctx = new DefaultConfigurationContextBuilder().addDefaultPropertySources().build(); - assertThat(ctx.getPropertySources().isEmpty()).isFalse(); - assertThat(ctx.getPropertySource("environment-properties")).isNotNull(); - } - - @Test - public void testAddCorePropertyReources() throws Exception { - DefaultConfigurationContextBuilder b = new DefaultConfigurationContextBuilder(); - List<PropertySource> ps = new ArrayList<>(); - b.addCorePropertyResources(ps); - assertThat(ps.isEmpty()).isFalse(); - - } -} http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextTest.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextTest.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextTest.java index 6c8bb53..e3260da 100644 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextTest.java +++ b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/DefaultConfigurationContextTest.java @@ -19,7 +19,13 @@ package org.apache.tamaya.spisupport; import org.apache.tamaya.spi.PropertySource; +import org.apache.tamaya.spi.ServiceContext; +import org.apache.tamaya.spi.ServiceContextManager; import org.junit.Test; +import org.mockito.Mockito; + +import java.util.Collections; + import static org.assertj.core.api.Assertions.*; /** @@ -31,12 +37,17 @@ public class DefaultConfigurationContextTest { @Test public void testEqualsAndHashAndToStringValues() { PropertySource sharedSource = new MockedPropertySource(); - DefaultConfigurationContext ctx1 = (DefaultConfigurationContext) new DefaultConfigurationContextBuilder().build(); - ctx1.addPropertySources(sharedSource); - DefaultConfigurationContext ctx2 = (DefaultConfigurationContext) new DefaultConfigurationContextBuilder().build(); - ctx2.addPropertySources(sharedSource); - DefaultConfigurationContext ctx3 = (DefaultConfigurationContext) new DefaultConfigurationContextBuilder().build(); - ctx3.addPropertySources(new MockedPropertySource()); + ServiceContext serviceContext = Mockito.mock(ServiceContext.class); + MetadataProvider metaDataProvider = Mockito.mock(MetadataProvider.class); + DefaultConfigurationContext ctx1 = new DefaultConfigurationContext( + serviceContext, Collections.emptyList(), Collections.emptyList(), Collections.emptyMap(), + metaDataProvider); + DefaultConfigurationContext ctx2 = new DefaultConfigurationContext( + serviceContext, Collections.emptyList(), Collections.emptyList(), Collections.emptyMap(), + metaDataProvider); + DefaultConfigurationContext ctx3 = new DefaultConfigurationContext( + serviceContext, Collections.emptyList(), Collections.singletonList(sharedSource), Collections.emptyMap(), + metaDataProvider); assertThat(ctx1).isEqualTo(ctx1); assertThat(ctx1).isNotEqualTo(null); @@ -47,6 +58,6 @@ public class DefaultConfigurationContextTest { assertThat(ctx1.hashCode()).isNotEqualTo(ctx3.hashCode()); String spaces = new String(new char[70 - sharedSource.getName().length()]).replace("\0", " "); System.out.println(ctx1.toString()); - assertThat(ctx1.toString().contains(sharedSource.getName() + spaces)).isTrue(); + assertThat(ctx3.toString().contains(sharedSource.getName() + spaces)).isTrue(); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/EmptyConfigurationContextBuilder.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/EmptyConfigurationContextBuilder.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/EmptyConfigurationContextBuilder.java deleted file mode 100644 index 837445d..0000000 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/EmptyConfigurationContextBuilder.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tamaya.spisupport; - -import org.apache.tamaya.TypeLiteral; -import org.apache.tamaya.spi.*; - -import java.util.*; - -public class EmptyConfigurationContextBuilder implements ConfigurationContextBuilder{ - - private static final ConfigurationContextBuilder INSTANCE = new EmptyConfigurationContextBuilder(); - - @Override - public ConfigurationContextBuilder setClassLoader(ClassLoader classLoader) { - return this; - } - - @Override - public ConfigurationContextBuilder setServiceContext(ServiceContext serviceContext) { - return this; - } - - @Override - public ConfigurationContextBuilder setContext(ConfigurationContext context) { - return this; - } - - @Override - public ConfigurationContextBuilder addMetaData(Map<String, String> metaData) { - return this; - } - - @Override - public ConfigurationContextBuilder addMetaData(String key, String value) { - return this; - } - - @Override - public ConfigurationContextBuilder addPropertySources(PropertySource... propertySources) { - return this; - } - - @Override - public ConfigurationContextBuilder addPropertySources(Collection<PropertySource> propertySources) { - return this; - } - - @Override - public ConfigurationContextBuilder addDefaultPropertySources() { - return this; - } - - @Override - public ConfigurationContextBuilder removePropertySources(PropertySource... propertySources) { - return this; - } - - @Override - public ConfigurationContextBuilder removePropertySources(Collection<PropertySource> propertySources) { - return this; - } - - @Override - public List<PropertySource> getPropertySources() { - return Collections.emptyList(); - } - - @Override - public List<PropertyFilter> getPropertyFilters() { - return Collections.emptyList(); - } - - @Override - public Map<TypeLiteral<?>, Collection<PropertyConverter<?>>> getPropertyConverter() { - return Collections.emptyMap(); - } - - @Override - public ConfigurationContextBuilder increasePriority(PropertySource propertySource) { - return this; - } - - @Override - public ConfigurationContextBuilder decreasePriority(PropertySource propertySource) { - return this; - } - - @Override - public ConfigurationContextBuilder highestPriority(PropertySource propertySource) { - return this; - } - - @Override - public ConfigurationContextBuilder lowestPriority(PropertySource propertySource) { - return null; - } - - @Override - public ConfigurationContextBuilder addPropertyFilters(PropertyFilter... filters) { - return this; - } - - @Override - public ConfigurationContextBuilder addPropertyFilters(Collection<PropertyFilter> filters) { - return this; - } - - @Override - public ConfigurationContextBuilder addDefaultPropertyFilters() { - return null; - } - - @Override - public ConfigurationContextBuilder removePropertyFilters(PropertyFilter... filters) { - return this; - } - - @Override - public ConfigurationContextBuilder removePropertyFilters(Collection<PropertyFilter> filters) { - return this; - } - - @Override - public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> typeToConvert, PropertyConverter<T>... propertyConverters) { - return null; - } - - @Override - public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> typeToConvert, Collection<PropertyConverter<T>> propertyConverters) { - return this; - } - - @Override - public ConfigurationContextBuilder addDefaultPropertyConverters() { - return this; - } - - @Override - public <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, PropertyConverter<T>... propertyConverters) { - return this; - } - - @Override - public <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert, Collection<PropertyConverter<T>> propertyConverters) { - return this; - } - - @Override - public ConfigurationContextBuilder removePropertyConverters(TypeLiteral<?> typeToConvert) { - return this; - } - - @Override - public ConfigurationContextBuilder sortPropertySources(Comparator<PropertySource> comparator) { - return this; - } - - @Override - public ConfigurationContextBuilder sortPropertyFilter(Comparator<PropertyFilter> comparator) { - return this; - } - - @Override - public ConfigurationContextBuilder setPropertyValueCombinationPolicy(PropertyValueCombinationPolicy policy) { - return this; - } - - @Override - public ServiceContext getServiceContext() { - return ServiceContextManager.getServiceContext(getClass().getClassLoader()); - } - - @Override - public ConfigurationContext build() { - return ConfigurationContext.EMPTY; - } - - public static ConfigurationContextBuilder instance() { - return INSTANCE; - } -} http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedConfigurationContext.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedConfigurationContext.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedConfigurationContext.java index 5c09039..02f1ede 100644 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedConfigurationContext.java +++ b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedConfigurationContext.java @@ -40,7 +40,7 @@ public class MockedConfigurationContext implements ConfigurationContext { } @Override - public Map<String, String> getMetadata() { + public Map<String, String> getMetaData() { return metaData; } @@ -50,11 +50,6 @@ public class MockedConfigurationContext implements ConfigurationContext { } @Override - public void addPropertySources(PropertySource... propertySources) { - throw new RuntimeException("addPropertySources should be never called in this test"); - } - - @Override public List<PropertySource> getPropertySources() { return pss; } @@ -70,11 +65,6 @@ public class MockedConfigurationContext implements ConfigurationContext { } @Override - public <T> void addPropertyConverter(TypeLiteral<T> type, PropertyConverter<T> propertyConverter) { - pcm.register(type, propertyConverter); - } - - @Override public Map<TypeLiteral<?>, List<PropertyConverter<?>>> getPropertyConverters() { return pcm.getPropertyConverters(); } @@ -89,13 +79,4 @@ public class MockedConfigurationContext implements ConfigurationContext { return Arrays.asList(new MockedPropertyFilter()); } - @Override - public PropertyValueCombinationPolicy getPropertyValueCombinationPolicy() { - return PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY; - } - - @Override - public ConfigurationContextBuilder toBuilder() { - throw new RuntimeException("toBuilder should be never called in this test"); - } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/606f8ec6/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedPropertySource.java ---------------------------------------------------------------------- diff --git a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedPropertySource.java b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedPropertySource.java index b91c8f7..7b61103 100644 --- a/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedPropertySource.java +++ b/code/spi-support/src/test/java/org/apache/tamaya/spisupport/MockedPropertySource.java @@ -75,9 +75,4 @@ public class MockedPropertySource implements PropertySource { return returnable; } - @Override - public boolean isScannable() { - return true; - } - }
