You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2017/11/26 22:51:37 UTC
[2/6] incubator-tamaya git commit: TAMAYA-321 Add
ConfigurationBuilder to core API.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/ConfigurationBuilderTest.java b/code/core/src/test/java/org/apache/tamaya/core/ConfigurationBuilderTest.java
new file mode 100644
index 0000000..1f702bb
--- /dev/null
+++ b/code/core/src/test/java/org/apache/tamaya/core/ConfigurationBuilderTest.java
@@ -0,0 +1,440 @@
+/*
+ * 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.core;
+
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.ConfigurationProvider;
+import org.apache.tamaya.TypeLiteral;
+import org.apache.tamaya.core.internal.CoreConfigurationBuilder;
+import org.apache.tamaya.spi.*;
+import org.apache.tamaya.spisupport.DefaultConfigurationContextBuilder;
+import org.junit.Test;
+import sun.security.krb5.Config;
+
+import java.util.Arrays;
+import java.util.Comparator;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for {@link ConfigurationBuilder} by atsticks on 06.09.16.
+ */
+public class ConfigurationBuilderTest {
+
+ private TestPropertySource testPropertySource = new TestPropertySource(){};
+
+ @Test
+ public void setContext() throws Exception {
+ Configuration cfg = ConfigurationProvider.getConfiguration();
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .setConfiguration(cfg);
+ assertEquals(cfg, b.build());
+ }
+
+ @Test
+ public void addPropertySources_Array() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("addPropertySources_Array", 1);
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ Configuration cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ // Ensure no sorting happens during add, so switch ordinals!
+ testPS2 = new TestPropertySource("addPropertySources_Array", 1);
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(testPS2, testPropertySource);
+ cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ assertEquals(cfg.getContext().getPropertySources().get(1).getName(), "TestPropertySource");
+ assertEquals(cfg.getContext().getPropertySources().get(0).getName(), "addPropertySources_Array");
+ }
+
+ @Test
+ public void addPropertySources_Collection() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("addPropertySources_Collection", 1);
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertySources(Arrays.asList(new PropertySource[]{testPropertySource, testPS2}));
+ Configuration cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ assertEquals(cfg.getContext().getPropertySources().get(0).getName(), "TestPropertySource");
+ assertEquals(cfg.getContext().getPropertySources().get(1).getName(), "addPropertySources_Collection");
+ // Ensure no sorting happens during add, so switch ordinals!
+ testPS2 = new TestPropertySource("addPropertySources_Collection", 1);
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(Arrays.asList(new PropertySource[]{testPS2, testPropertySource}));
+ cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ assertEquals(cfg.getContext().getPropertySources().get(1).getName(), "TestPropertySource");
+ assertEquals(cfg.getContext().getPropertySources().get(0).getName(), "addPropertySources_Collection");
+ }
+
+ @Test
+ public void removePropertySources_Array() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("removePropertySources_Array", 1);
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ Configuration cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ b.removePropertySources(testPropertySource);
+ cfg = b.build();
+ assertFalse(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ assertEquals(1, cfg.getContext().getPropertySources().size());
+ }
+
+ @Test
+ public void removePropertySources_Collection() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("removePropertySources_Array", 1);
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ Configuration cfg = b.build();
+ assertEquals(2, cfg.getContext().getPropertySources().size());
+ assertTrue(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ b.removePropertySources(testPropertySource);
+ cfg = b.build();
+ assertEquals(1, cfg.getContext().getPropertySources().size());
+ assertFalse(cfg.getContext().getPropertySources().contains(testPropertySource));
+ assertTrue(cfg.getContext().getPropertySources().contains(testPS2));
+ }
+
+ @Test
+ public void addPropertyFilters_Array() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertyFilters(filter1, filter2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertyFilters(filter1, filter2);
+ b.addPropertyFilters(filter1, filter2);
+ assertEquals(2, ctx.getPropertyFilters().size());
+ }
+
+ @Test
+ public void addPropertyFilters_Collection() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2}));
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertyFilters(filter1, filter2);
+ b.addPropertyFilters(filter1, filter2);
+ assertEquals(2, ctx.getPropertyFilters().size());
+ }
+
+ @Test
+ public void removePropertyFilters_Array() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyFilters(filter1, filter2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyFilters(filter1, filter2);
+ b.removePropertyFilters(filter1);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertEquals(1, ctx.getPropertyFilters().size());
+ assertFalse(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ }
+
+ @Test
+ public void removePropertyFilters_Collection() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2}));
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyFilters(Arrays.asList(new PropertyFilter[]{filter1, filter2}));
+ b.removePropertyFilters(filter1);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertEquals(1, ctx.getPropertyFilters().size());
+ assertFalse(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ }
+
+ @Test
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void addPropertyConverters_Array() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(1, ctx.getPropertyConverters().size());
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ b.addPropertyConverters(TypeLiteral.of(String.class), converter);
+ assertEquals(1, ctx.getPropertyConverters().size());
+ }
+
+ @Test
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void addPropertyConverters_Collection() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class),
+ Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter}));
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(ctx.getPropertyConverters().size(), 1);
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class),
+ Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter}));
+ b.addPropertyConverters(TypeLiteral.of(String.class), converter);
+ assertEquals(ctx.getPropertyConverters().size(), 1);
+ }
+
+ @Test
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void removePropertyConverters_Array() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(1, ctx.getPropertyConverters(TypeLiteral.of(String.class)).size());
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ b.removePropertyConverters(TypeLiteral.of(String.class), converter);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertFalse(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty());
+ }
+
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Test
+ public void removePropertyConverters_Collection() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter}));
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(1, ctx.getPropertyConverters(TypeLiteral.of(String.class)).size());
+ b = ConfigurationProvider.getConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter}));
+ b.removePropertyConverters(TypeLiteral.of(String.class), Arrays.<PropertyConverter<Object>>asList(new PropertyConverter[]{converter}));
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertFalse(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty());
+ }
+
+ @Test
+ public void setPropertyValueCombinationPolicy() throws Exception {
+ PropertyValueCombinationPolicy combPol = (currentValue, key, propertySource) -> currentValue;
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder()
+ .setPropertyValueCombinationPolicy(combPol);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertEquals(ctx.getPropertyValueCombinationPolicy(), combPol);
+ }
+
+ @Test
+ public void increasePriority(){
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ TestPropertySource[] propertySources = new TestPropertySource[10];
+ for(int i=0;i<propertySources.length;i++){
+ propertySources[i] = new TestPropertySource("ps"+i,i);
+ }
+ b.addPropertySources(propertySources);
+ b.increasePriority(propertySources[propertySources.length-1]);
+ for(int i=0;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ b.increasePriority(propertySources[propertySources.length-2]);
+ for(int i=0;i<propertySources.length-2;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ assertEquals(propertySources[propertySources.length-1], b.getPropertySources().get(propertySources.length-2));
+ assertEquals(propertySources[propertySources.length-2], b.getPropertySources().get(propertySources.length-1));
+ }
+
+ @Test
+ public void decreasePriority(){
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ TestPropertySource[] propertySources = new TestPropertySource[10];
+ for(int i=0;i<propertySources.length;i++){
+ propertySources[i] = new TestPropertySource("ps"+i,i);
+ }
+ b.addPropertySources(propertySources);
+ b.decreasePriority(propertySources[0]);
+ for(int i=0;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ b.decreasePriority(propertySources[1]);
+ for(int i=2;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ assertEquals(propertySources[0], b.getPropertySources().get(1));
+ assertEquals(propertySources[1], b.getPropertySources().get(0));
+ }
+
+ @Test
+ public void lowestPriority(){
+ // setup
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ TestPropertySource[] propertySources = new TestPropertySource[10];
+ for(int i=0;i<propertySources.length;i++){
+ propertySources[i] = new TestPropertySource("ps"+i,i);
+ }
+ b.addPropertySources(propertySources);
+ // test
+ b.lowestPriority(propertySources[0]);
+ for(int i=0;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ b.lowestPriority(propertySources[1]);
+ for(int i=2;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ assertEquals(propertySources[0], b.getPropertySources().get(1));
+ assertEquals(propertySources[1], b.getPropertySources().get(0));
+ b.lowestPriority(propertySources[5]);
+ assertEquals(propertySources[5], b.getPropertySources().get(0));
+ }
+
+ @Test
+ public void highestPriority(){
+ // setup
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ TestPropertySource[] propertySources = new TestPropertySource[10];
+ for(int i=0;i<propertySources.length;i++){
+ propertySources[i] = new TestPropertySource("ps"+i,i);
+ }
+ b.addPropertySources(propertySources);
+ // test
+ b.highestPriority(propertySources[propertySources.length-1]);
+ for(int i=0;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ b.highestPriority(propertySources[propertySources.length-2]);
+ for(int i=0;i<propertySources.length-2;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ assertEquals(propertySources[propertySources.length-2], b.getPropertySources().get(propertySources.length-1));
+ assertEquals(propertySources[propertySources.length-1], b.getPropertySources().get(propertySources.length-2));
+ b.highestPriority(propertySources[5]);
+ assertEquals(propertySources[5], b.getPropertySources().get(propertySources.length-1));
+ }
+
+ @Test
+ public void sortPropertySources(){
+ // setup
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ TestPropertySource[] propertySources = new TestPropertySource[10];
+ for(int i=0;i<propertySources.length;i++){
+ propertySources[i] = new TestPropertySource("ps"+i,i);
+ }
+ b.addPropertySources(propertySources);
+ Comparator<PropertySource> psComp = (o1, o2) -> o1.toString().compareTo(o2.toString());
+ // test
+ b.sortPropertySources(psComp);
+ Arrays.sort(propertySources, psComp);
+ for(int i=0;i<propertySources.length;i++){
+ assertEquals(propertySources[i], b.getPropertySources().get(i));
+ }
+ }
+
+ @Test
+ public void sortPropertyFilter(){
+ // setup
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ PropertyFilter[] propertyFilters = new PropertyFilter[10];
+ for(int i=0;i<propertyFilters.length;i++){
+ propertyFilters[i] = (value, context) -> value.toBuilder().setValue(toString() + " - ").build();
+ }
+ b.addPropertyFilters(propertyFilters);
+ Comparator<PropertyFilter> pfComp = (o1, o2) -> o1.toString().compareTo(o2.toString());
+ // test
+ b.sortPropertyFilter(pfComp);
+ Arrays.sort(propertyFilters, pfComp);
+ for(int i=0;i<propertyFilters.length;i++){
+ assertEquals(propertyFilters[i], b.getPropertyFilters().get(i));
+ }
+ }
+
+ @Test
+ public void build() throws Exception {
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertNotNull(ctx);
+ assertTrue(ctx.getPropertySources().isEmpty());
+ assertTrue(ctx.getPropertyFilters().isEmpty());
+ }
+
+ @Test
+ public void testRemoveAllFilters() throws Exception {
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertyFilters((value, context) -> value.toBuilder().setValue(toString() + " - ").build());
+ assertFalse(b.getPropertyFilters().isEmpty());
+ b.removePropertyFilters(b.getPropertyFilters());
+ assertTrue(b.getPropertyFilters().isEmpty());
+ }
+
+ @Test
+ public void testRemoveAllSources() throws Exception {
+ ConfigurationBuilder b = ConfigurationProvider.getConfigurationBuilder();
+ b.addPropertySources(new TestPropertySource());
+ assertFalse(b.getPropertySources().isEmpty());
+ b.removePropertySources(b.getPropertySources());
+ assertTrue(b.getPropertyFilters().isEmpty());
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/ConfigurationContextBuilderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/ConfigurationContextBuilderTest.java b/code/core/src/test/java/org/apache/tamaya/core/ConfigurationContextBuilderTest.java
index 5fb65ff..ac353eb 100644
--- a/code/core/src/test/java/org/apache/tamaya/core/ConfigurationContextBuilderTest.java
+++ b/code/core/src/test/java/org/apache/tamaya/core/ConfigurationContextBuilderTest.java
@@ -21,7 +21,7 @@ package org.apache.tamaya.core;
import org.apache.tamaya.ConfigurationProvider;
import org.apache.tamaya.TypeLiteral;
import org.apache.tamaya.spi.*;
-import org.apache.tamaya.core.internal.CoreConfigurationContextBuilder;
+import org.apache.tamaya.spisupport.DefaultConfigurationContextBuilder;
import org.junit.Test;
import java.util.Arrays;
@@ -30,7 +30,7 @@ import java.util.Comparator;
import static org.junit.Assert.*;
/**
- * Tests for {@link CoreConfigurationContextBuilder} by atsticks on 06.09.16.
+ * Tests for {@link ConfigurationContextBuilder} by atsticks on 06.09.16.
*/
public class ConfigurationContextBuilderTest {
@@ -47,7 +47,7 @@ public class ConfigurationContextBuilderTest {
@Test
public void addPropertySources_Array() throws Exception {
PropertySource testPS2 = new TestPropertySource("addPropertySources_Array", 1);
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
+ ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder()
.addPropertySources(testPropertySource, testPS2);
ConfigurationContext ctx = b.build();
assertEquals(2, ctx.getPropertySources().size());
@@ -68,7 +68,7 @@ public class ConfigurationContextBuilderTest {
@Test
public void addPropertySources_Collection() throws Exception {
PropertySource testPS2 = new TestPropertySource("addPropertySources_Collection", 1);
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
+ ConfigurationContextBuilder b = new DefaultConfigurationContextBuilder()
.addPropertySources(Arrays.asList(new PropertySource[]{testPropertySource, testPS2}));
ConfigurationContext ctx = b.build();
assertEquals(2, ctx.getPropertySources().size());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationBuilderTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationBuilderTest.java
new file mode 100644
index 0000000..37dc2cb
--- /dev/null
+++ b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationBuilderTest.java
@@ -0,0 +1,219 @@
+/*
+ * 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.core.internal;
+
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.ConfigurationProvider;
+import org.apache.tamaya.TypeLiteral;
+import org.apache.tamaya.spi.*;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for {@link CoreConfigurationBuilder} by atsticks on 06.09.16.
+ */
+public class CoreConfigurationBuilderTest {
+
+ private TestPropertySource testPropertySource = new TestPropertySource(){};
+
+ @Test
+ public void setContext() throws Exception {
+ ConfigurationContext context = ConfigurationProvider.getConfiguration().getContext();
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .setContext(context);
+ assertEquals(context, b.build().getContext());
+ }
+
+ @Test
+ public void setConfiguration() throws Exception {
+ Configuration cfg = ConfigurationProvider.getConfiguration();
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .setConfiguration(cfg);
+ assertEquals(cfg, b.build());
+ }
+
+ @Test
+ public void addPropertySources_Array() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("addPropertySources_Array_2");
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertEquals(2, ctx.getPropertySources().size());
+ assertTrue(ctx.getPropertySources().contains(testPropertySource));
+ assertTrue(ctx.getPropertySources().contains(testPS2));
+ }
+
+ @Test
+ public void removePropertySources_Array() throws Exception {
+ PropertySource testPS2 = new TestPropertySource("addPropertySources_Array_2");
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertEquals(2, ctx.getPropertySources().size());
+ assertTrue(ctx.getPropertySources().contains(testPropertySource));
+ assertTrue(ctx.getPropertySources().contains(testPS2));
+ b = new CoreConfigurationBuilder()
+ .addPropertySources(testPropertySource, testPS2);
+ b.removePropertySources(testPropertySource);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertEquals(1, ctx.getPropertySources().size());
+ assertFalse(ctx.getPropertySources().contains(testPropertySource));
+ assertTrue(ctx.getPropertySources().contains(testPS2));
+ }
+
+ @Test
+ public void addPropertyFilters_Array() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ CoreConfigurationBuilder b = new CoreConfigurationBuilder();
+ b.addPropertyFilters(filter1, filter2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = new CoreConfigurationBuilder();
+ b.addPropertyFilters(filter1, filter2);
+ b.addPropertyFilters(filter1, filter2);
+ assertEquals(2, ctx.getPropertyFilters().size());
+ }
+
+ @Test
+ public void removePropertyFilters_Array() throws Exception {
+ PropertyFilter filter1 = (value, context) -> value;
+ PropertyFilter filter2 = (value, context) -> value;
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertyFilters(filter1, filter2);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ assertEquals(2, ctx.getPropertyFilters().size());
+ b = new CoreConfigurationBuilder()
+ .addPropertyFilters(filter1, filter2);
+ b.removePropertyFilters(filter1);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertEquals(1, ctx.getPropertyFilters().size());
+ assertFalse(ctx.getPropertyFilters().contains(filter1));
+ assertTrue(ctx.getPropertyFilters().contains(filter2));
+ }
+
+ @Test
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void addPropertyConverter() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(1, ctx.getPropertyConverters().size());
+ b = new CoreConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ b.addPropertyConverters(TypeLiteral.of(String.class), converter);
+ assertEquals(1, ctx.getPropertyConverters().size());
+ }
+
+ @Test
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void removePropertyConverters_Array() throws Exception {
+ PropertyConverter converter = (value, context) -> value.toLowerCase();
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertEquals(1, ctx.getPropertyConverters(TypeLiteral.of(String.class)).size());
+ b = new CoreConfigurationBuilder()
+ .addPropertyConverters(TypeLiteral.of(String.class), converter);
+ b.removePropertyConverters(TypeLiteral.of(String.class), converter);
+ cfg = b.build();
+ ctx = cfg.getContext();
+ assertFalse(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
+ assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty());
+ }
+
+ @Test
+ public void setPropertyValueCombinationPolicy() throws Exception {
+ PropertyValueCombinationPolicy combPol = (currentValue, key, propertySource) -> currentValue;
+ ConfigurationBuilder b = new CoreConfigurationBuilder()
+ .setPropertyValueCombinationPolicy(combPol);
+ Configuration cfg = b.build();
+ ConfigurationContext ctx = cfg.getContext();
+ assertEquals(ctx.getPropertyValueCombinationPolicy(), combPol);
+ }
+
+ @Test
+ public void build() throws Exception {
+ assertNotNull(new CoreConfigurationBuilder().build());
+ }
+
+ @Test
+ public void bla() throws Exception {
+ ConfigurationBuilder builder = ConfigurationProvider.getConfigurationBuilder();
+ builder.addDefaultPropertyConverters();
+ }
+
+ private static class TestPropertySource implements PropertySource{
+
+ private String id;
+
+ public TestPropertySource(){
+ this(null);
+ }
+
+ public TestPropertySource(String id){
+ this.id = id;
+ }
+
+ @Override
+ public int getOrdinal() {
+ return 200;
+ }
+
+ @Override
+ public String getName() {
+ return id!=null?id:"TestPropertySource";
+ }
+
+ @Override
+ public PropertyValue get(String key) {
+ return PropertyValue.of(key, key + "Value", getName());
+ }
+
+ @Override
+ public Map<String, PropertyValue> getProperties() {
+ return Collections.emptyMap();
+ }
+
+ @Override
+ public boolean isScannable() {
+ return false;
+ }
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextBuilderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextBuilderTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextBuilderTest.java
deleted file mode 100644
index 8458366..0000000
--- a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextBuilderTest.java
+++ /dev/null
@@ -1,200 +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.core.internal;
-
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.TypeLiteral;
-import org.apache.tamaya.spi.*;
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.Map;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for {@link CoreConfigurationContextBuilder} by atsticks on 06.09.16.
- */
-public class CoreConfigurationContextBuilderTest {
-
- private TestPropertySource testPropertySource = new TestPropertySource(){};
-
- @Test
- public void setContext() throws Exception {
- ConfigurationContext context = ConfigurationProvider.getConfiguration().getContext();
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .setContext(context);
- assertEquals(context, b.build());
- }
-
- @Test
- public void addPropertySources_Array() throws Exception {
- PropertySource testPS2 = new TestPropertySource("addPropertySources_Array_2");
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .addPropertySources(testPropertySource, testPS2);
- ConfigurationContext ctx = b.build();
- assertEquals(2, ctx.getPropertySources().size());
- assertTrue(ctx.getPropertySources().contains(testPropertySource));
- assertTrue(ctx.getPropertySources().contains(testPS2));
- }
-
- @Test
- public void removePropertySources_Array() throws Exception {
- PropertySource testPS2 = new TestPropertySource("addPropertySources_Array_2");
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .addPropertySources(testPropertySource, testPS2);
- ConfigurationContext ctx = b.build();
- assertEquals(2, ctx.getPropertySources().size());
- assertTrue(ctx.getPropertySources().contains(testPropertySource));
- assertTrue(ctx.getPropertySources().contains(testPS2));
- b = new CoreConfigurationContextBuilder()
- .addPropertySources(testPropertySource, testPS2);
- b.removePropertySources(testPropertySource);
- ctx = b.build();
- assertEquals(1, ctx.getPropertySources().size());
- assertFalse(ctx.getPropertySources().contains(testPropertySource));
- assertTrue(ctx.getPropertySources().contains(testPS2));
- }
-
- @Test
- public void addPropertyFilters_Array() throws Exception {
- PropertyFilter filter1 = (value, context) -> value;
- PropertyFilter filter2 = (value, context) -> value;
- CoreConfigurationContextBuilder b = new CoreConfigurationContextBuilder();
- b.addPropertyFilters(filter1, filter2);
- ConfigurationContext ctx = b.build();
- assertTrue(ctx.getPropertyFilters().contains(filter1));
- assertTrue(ctx.getPropertyFilters().contains(filter2));
- assertEquals(2, ctx.getPropertyFilters().size());
- b = new CoreConfigurationContextBuilder();
- b.addPropertyFilters(filter1, filter2);
- b.addPropertyFilters(filter1, filter2);
- assertEquals(2, ctx.getPropertyFilters().size());
- }
-
- @Test
- public void removePropertyFilters_Array() throws Exception {
- PropertyFilter filter1 = (value, context) -> value;
- PropertyFilter filter2 = (value, context) -> value;
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .addPropertyFilters(filter1, filter2);
- ConfigurationContext ctx = b.build();
- assertTrue(ctx.getPropertyFilters().contains(filter1));
- assertTrue(ctx.getPropertyFilters().contains(filter2));
- assertEquals(2, ctx.getPropertyFilters().size());
- b = new CoreConfigurationContextBuilder()
- .addPropertyFilters(filter1, filter2);
- b.removePropertyFilters(filter1);
- ctx = b.build();
- assertEquals(1, ctx.getPropertyFilters().size());
- assertFalse(ctx.getPropertyFilters().contains(filter1));
- assertTrue(ctx.getPropertyFilters().contains(filter2));
- }
-
- @Test
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void addPropertyConverter() throws Exception {
- PropertyConverter converter = (value, context) -> value.toLowerCase();
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .addPropertyConverters(TypeLiteral.of(String.class), converter);
- ConfigurationContext ctx = b.build();
- assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
- assertEquals(1, ctx.getPropertyConverters().size());
- b = new CoreConfigurationContextBuilder()
- .addPropertyConverters(TypeLiteral.of(String.class), converter);
- b.addPropertyConverters(TypeLiteral.of(String.class), converter);
- assertEquals(1, ctx.getPropertyConverters().size());
- }
-
- @Test
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void removePropertyConverters_Array() throws Exception {
- PropertyConverter converter = (value, context) -> value.toLowerCase();
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .addPropertyConverters(TypeLiteral.of(String.class), converter);
- ConfigurationContext ctx = b.build();
- assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
- assertEquals(1, ctx.getPropertyConverters(TypeLiteral.of(String.class)).size());
- b = new CoreConfigurationContextBuilder()
- .addPropertyConverters(TypeLiteral.of(String.class), converter);
- b.removePropertyConverters(TypeLiteral.of(String.class), converter);
- ctx = b.build();
- assertFalse(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(converter));
- assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).isEmpty());
- }
-
- @Test
- public void setPropertyValueCombinationPolicy() throws Exception {
- PropertyValueCombinationPolicy combPol = (currentValue, key, propertySource) -> currentValue;
- ConfigurationContextBuilder b = new CoreConfigurationContextBuilder()
- .setPropertyValueCombinationPolicy(combPol);
- ConfigurationContext ctx = b.build();
- assertEquals(ctx.getPropertyValueCombinationPolicy(), combPol);
- }
-
- @Test
- public void build() throws Exception {
- assertNotNull(new CoreConfigurationContextBuilder().build());
- }
-
- @Test
- public void bla() throws Exception {
- ConfigurationContextBuilder builder = ConfigurationProvider.getConfigurationContextBuilder();
- builder.addDefaultPropertyConverters();
- }
-
- private static class TestPropertySource implements PropertySource{
-
- private String id;
-
- public TestPropertySource(){
- this(null);
- }
-
- public TestPropertySource(String id){
- this.id = id;
- }
-
- @Override
- public int getOrdinal() {
- return 200;
- }
-
- @Override
- public String getName() {
- return id!=null?id:"TestPropertySource";
- }
-
- @Override
- public PropertyValue get(String key) {
- return PropertyValue.of(key, key + "Value", getName());
- }
-
- @Override
- public Map<String, PropertyValue> getProperties() {
- return Collections.emptyMap();
- }
-
- @Override
- public boolean isScannable() {
- return false;
- }
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextTest.java
deleted file mode 100644
index 1c10124..0000000
--- a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationContextTest.java
+++ /dev/null
@@ -1,176 +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.core.internal;
-
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.TypeLiteral;
-import org.apache.tamaya.core.testdata.TestPropertyDefaultSource;
-import org.apache.tamaya.spi.*;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Simple tests for {@link CoreConfigurationContext} by atsticks on 16.08.16.
- */
-public class CoreConfigurationContextTest {
-
- @Test
- public void addPropertySources() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- TestPropertyDefaultSource def = new TestPropertyDefaultSource();
- assertFalse(ctx.getPropertySources().contains(def));
- ctx.addPropertySources(def);
- assertTrue(ctx.getPropertySources().contains(def));
- }
-
- @Test
- public void testToString() throws Exception {
- String toString = ConfigurationProvider.getConfiguration().getContext().toString();
- }
-
- @Test
- public void getPropertySources() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- assertNotNull(ctx.getPropertySources());
- assertEquals(ctx.getPropertySources().size(), 0);
- ctx = new CoreConfigurationContextBuilder().addDefaultPropertySources().build();
- assertNotNull(ctx.getPropertySources());
- assertEquals(7, ctx.getPropertySources().size());
- }
-
- @Test
- public void getPropertySource() throws Exception {
- TestPropertyDefaultSource ps = new TestPropertyDefaultSource();
- ConfigurationContext ctx = new CoreConfigurationContextBuilder()
- .addPropertySources(ps).build();
- assertNotNull(ctx.getPropertySources());
- assertEquals(ctx.getPropertySources().size(), 1);
- assertNotNull(((CoreConfigurationContext)ctx).getPropertySource(ps.getName()));
- assertEquals(ps.getName(), ((CoreConfigurationContext)ctx).getPropertySource(ps.getName()).getName());
- assertNull(((CoreConfigurationContext)ctx).getPropertySource("huhu"));
-
- }
-
- @Test
- public void testHashCode() throws Exception {
- TestPropertyDefaultSource ps = new TestPropertyDefaultSource();
- ConfigurationContext ctx1 = new CoreConfigurationContextBuilder()
- .addPropertySources(ps).build();
- ConfigurationContext ctx2 = new CoreConfigurationContextBuilder()
- .addPropertySources(ps).build();
- assertEquals(ctx1.hashCode(), ctx2.hashCode());
- ctx2 = new CoreConfigurationContextBuilder()
- .build();
- assertNotEquals(ctx1.hashCode(), ctx2.hashCode());
-
- }
-
- @Test
- public void addPropertyConverter() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- PropertyConverter testConverter = new PropertyConverter() {
- @Override
- public Object convert(String value, ConversionContext context) {
- return "";
- }
- };
- assertFalse(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
- ctx.addPropertyConverter(TypeLiteral.of(String.class), testConverter);
- assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
- }
-
- @Test
- public void getPropertyConverters() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- PropertyConverter testConverter = new PropertyConverter() {
- @Override
- public Object convert(String value, ConversionContext context) {
- return "";
- }
- };
- ctx.addPropertyConverter(TypeLiteral.of(String.class), testConverter);
- assertNotNull(ctx.getPropertyConverters());
- assertTrue(ctx.getPropertyConverters().containsKey(TypeLiteral.of(String.class)));
- assertTrue(ctx.getPropertyConverters().get(TypeLiteral.of(String.class)).contains(testConverter));
- testConverter = new PropertyConverter() {
- @Override
- public Object convert(String value, ConversionContext context) {
- return Integer.valueOf(5);
- }
- };
- ctx.addPropertyConverter(TypeLiteral.of(Integer.class), testConverter);
- assertTrue(ctx.getPropertyConverters().containsKey(TypeLiteral.of(Integer.class)));
- assertTrue(ctx.getPropertyConverters().get(TypeLiteral.of(Integer.class)).contains(testConverter));
- }
-
- @Test
- public void getPropertyConverters1() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- PropertyConverter testConverter = new PropertyConverter() {
- @Override
- public Object convert(String value, ConversionContext context) {
- return "";
- }
- };
- assertNotNull(ctx.getPropertyConverters(TypeLiteral.of(String.class)));
- assertEquals(ctx.getPropertyConverters(TypeLiteral.of(String.class)).size(),0);
- ctx.addPropertyConverter(TypeLiteral.of(String.class), testConverter);
- assertNotNull(ctx.getPropertyConverters(TypeLiteral.of(String.class)));
- assertEquals(ctx.getPropertyConverters(TypeLiteral.of(String.class)).size(),1);
- assertTrue(ctx.getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
-
- }
-
- @Test
- public void getPropertyFilters() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- PropertyFilter testFilter = new PropertyFilter() {
-
- @Override
- public PropertyValue filterProperty(PropertyValue value, FilterContext context) {
- return value;
- }
- };
- assertNotNull(ctx.getPropertyFilters());
- assertFalse(ctx.getPropertyFilters().contains(testFilter));
- ctx = ctx.toBuilder().addPropertyFilters(testFilter).build();
- assertTrue(ctx.getPropertyFilters().contains(testFilter));
- }
-
- @Test
- public void getPropertyValueCombinationPolicy() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- assertNotNull(ctx.getPropertyValueCombinationPolicy());
- assertEquals(ctx.getPropertyValueCombinationPolicy(),
- PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY);
- }
-
- @Test
- public void toBuilder() throws Exception {
- assertNotNull(new CoreConfigurationContextBuilder().build().toBuilder());
- }
-
- @Test
- public void testRoundTrip() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- assertEquals(ctx.toBuilder().build(), ctx);
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationProviderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationProviderTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationProviderTest.java
new file mode 100644
index 0000000..e4dab56
--- /dev/null
+++ b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationProviderTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.core.internal;
+
+import org.apache.tamaya.Configuration;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by atsticks on 11.09.16.
+ */
+public class CoreConfigurationProviderTest {
+
+ @Test
+ public void testInstantiation() throws Exception {
+ new CoreConfigurationProvider();
+ }
+
+ @Test
+ public void getConfiguration() throws Exception {
+ assertNotNull(new CoreConfigurationProvider().getConfiguration());
+ }
+
+ @Test
+ public void createConfiguration() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ assertNotNull(new CoreConfigurationProvider().createConfiguration(cfg.getContext()));
+ assertEquals(cfg,
+ new CoreConfigurationProvider().createConfiguration(cfg.getContext()));
+ }
+
+ @Test
+ public void getConfigurationContext() throws Exception {
+ assertNotNull(new CoreConfigurationProvider().getConfigurationContext());
+ assertEquals(new CoreConfigurationProvider().getConfigurationContext(),
+ new CoreConfigurationProvider().getConfiguration().getContext());
+ }
+
+ @Test
+ public void getConfigurationContextBuilder() throws Exception {
+ assertNotNull(new CoreConfigurationProvider().getConfigurationContextBuilder());
+ }
+
+ @Test
+ public void getConfigurationBuilder() throws Exception {
+ assertNotNull(new CoreConfigurationProvider().getConfigurationBuilder());
+ }
+
+ @SuppressWarnings("deprecation")
+ @Test
+ public void setConfigurationContext() throws Exception {
+ new CoreConfigurationProvider()
+ .setConfigurationContext(new CoreConfigurationProvider().getConfiguration().getContext());
+ }
+
+ @SuppressWarnings("deprecation")
+ @Test
+ public void setConfiguration() throws Exception {
+ new CoreConfigurationProvider()
+ .setConfiguration(new CoreConfigurationProvider().getConfiguration());
+ }
+
+ @SuppressWarnings("deprecation")
+ @Test
+ public void isConfigurationContextSettable() throws Exception {
+ assertTrue(new CoreConfigurationProvider().isConfigurationContextSettable());
+ }
+
+ @SuppressWarnings("deprecation")
+ @Test
+ public void isConfigurationSettable() throws Exception {
+ assertTrue(new CoreConfigurationProvider().isConfigurationSettable());
+ }
+
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationTest.java
new file mode 100644
index 0000000..6b8d1dc
--- /dev/null
+++ b/code/core/src/test/java/org/apache/tamaya/core/internal/CoreConfigurationTest.java
@@ -0,0 +1,177 @@
+/*
+ * 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.core.internal;
+
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.ConfigurationProvider;
+import org.apache.tamaya.TypeLiteral;
+import org.apache.tamaya.core.testdata.TestPropertyDefaultSource;
+import org.apache.tamaya.spi.*;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Simple tests for {@link CoreConfiguration} by atsticks on 16.08.16.
+ */
+public class CoreConfigurationTest {
+
+ @Test
+ public void addPropertySources() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ TestPropertyDefaultSource def = new TestPropertyDefaultSource();
+ assertFalse(cfg.getContext().getPropertySources().contains(def));
+ cfg.getContext().addPropertySources(def);
+ assertTrue(cfg.getContext().getPropertySources().contains(def));
+ }
+
+ @Test
+ public void testToString() throws Exception {
+ String toString = ConfigurationProvider.getConfiguration().getContext().toString();
+ }
+
+ @Test
+ public void getPropertySources() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ assertNotNull(cfg.getContext().getPropertySources());
+ assertEquals(cfg.getContext().getPropertySources().size(), 0);
+ cfg = new CoreConfigurationBuilder().addDefaultPropertySources().build();
+ assertNotNull(cfg.getContext().getPropertySources());
+ assertEquals(7, cfg.getContext().getPropertySources().size());
+ }
+
+ @Test
+ public void getPropertySource() throws Exception {
+ TestPropertyDefaultSource ps = new TestPropertyDefaultSource();
+ Configuration cfg = new CoreConfigurationBuilder()
+ .addPropertySources(ps).build();
+ assertNotNull(cfg.getContext().getPropertySources());
+ assertEquals(cfg.getContext().getPropertySources().size(), 1);
+ assertNotNull((cfg.getContext()).getPropertySource(ps.getName()));
+ assertEquals(ps.getName(), cfg.getContext().getPropertySource(ps.getName()).getName());
+ assertNull(cfg.getContext().getPropertySource("huhu"));
+
+ }
+
+ @Test
+ public void testHashCode() throws Exception {
+ TestPropertyDefaultSource ps = new TestPropertyDefaultSource();
+ Configuration cfg1 = new CoreConfigurationBuilder()
+ .addPropertySources(ps).build();
+ Configuration cfg2 = new CoreConfigurationBuilder()
+ .addPropertySources(ps).build();
+ assertEquals(cfg1.hashCode(), cfg2.hashCode());
+ cfg2 = new CoreConfigurationBuilder()
+ .build();
+ assertNotEquals(cfg1.hashCode(), cfg2.hashCode());
+
+ }
+
+ @Test
+ public void addPropertyConverter() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ PropertyConverter testConverter = new PropertyConverter() {
+ @Override
+ public Object convert(String value, ConversionContext context) {
+ return "";
+ }
+ };
+ assertFalse(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
+ cfg.getContext().addPropertyConverter(TypeLiteral.of(String.class), testConverter);
+ assertTrue(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
+ }
+
+ @Test
+ public void getPropertyConverters() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ PropertyConverter testConverter = new PropertyConverter() {
+ @Override
+ public Object convert(String value, ConversionContext context) {
+ return "";
+ }
+ };
+ cfg.getContext().addPropertyConverter(TypeLiteral.of(String.class), testConverter);
+ assertNotNull(cfg.getContext().getPropertyConverters());
+ assertTrue(cfg.getContext().getPropertyConverters().containsKey(TypeLiteral.of(String.class)));
+ assertTrue(cfg.getContext().getPropertyConverters().get(TypeLiteral.of(String.class)).contains(testConverter));
+ testConverter = new PropertyConverter() {
+ @Override
+ public Object convert(String value, ConversionContext context) {
+ return Integer.valueOf(5);
+ }
+ };
+ cfg.getContext().addPropertyConverter(TypeLiteral.of(Integer.class), testConverter);
+ assertTrue(cfg.getContext().getPropertyConverters().containsKey(TypeLiteral.of(Integer.class)));
+ assertTrue(cfg.getContext().getPropertyConverters().get(TypeLiteral.of(Integer.class)).contains(testConverter));
+ }
+
+ @Test
+ public void getPropertyConverters1() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ PropertyConverter testConverter = new PropertyConverter() {
+ @Override
+ public Object convert(String value, ConversionContext context) {
+ return "";
+ }
+ };
+ assertNotNull(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)));
+ assertEquals(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)).size(),0);
+ cfg.getContext().addPropertyConverter(TypeLiteral.of(String.class), testConverter);
+ assertNotNull(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)));
+ assertEquals(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)).size(),1);
+ assertTrue(cfg.getContext().getPropertyConverters(TypeLiteral.of(String.class)).contains(testConverter));
+
+ }
+
+ @Test
+ public void getPropertyFilters() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ PropertyFilter testFilter = new PropertyFilter() {
+
+ @Override
+ public PropertyValue filterProperty(PropertyValue value, FilterContext context) {
+ return value;
+ }
+ };
+ assertNotNull(cfg.getContext().getPropertyFilters());
+ assertFalse(cfg.getContext().getPropertyFilters().contains(testFilter));
+ cfg = cfg.toBuilder().addPropertyFilters(testFilter).build();
+ assertTrue(cfg.getContext().getPropertyFilters().contains(testFilter));
+ }
+
+ @Test
+ public void getPropertyValueCombinationPolicy() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ assertNotNull(cfg.getContext().getPropertyValueCombinationPolicy());
+ assertEquals(cfg.getContext().getPropertyValueCombinationPolicy(),
+ PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY);
+ }
+
+ @Test
+ public void toBuilder() throws Exception {
+ assertNotNull(new CoreConfigurationBuilder().build().toBuilder());
+ }
+
+ @Test
+ public void testRoundTrip() throws Exception {
+ Configuration cfg = new CoreConfigurationBuilder().build();
+ assertEquals(cfg.toBuilder().build(), cfg);
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultConfigurationProviderTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultConfigurationProviderTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultConfigurationProviderTest.java
deleted file mode 100644
index 9ba3c80..0000000
--- a/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultConfigurationProviderTest.java
+++ /dev/null
@@ -1,72 +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.core.internal;
-
-import org.apache.tamaya.spi.ConfigurationContext;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsticks on 11.09.16.
- */
-public class DefaultConfigurationProviderTest {
-
- @Test
- public void testInstantiation() throws Exception {
- new DefaultConfigurationProvider();
- }
-
- @Test
- public void getConfiguration() throws Exception {
- assertNotNull(new DefaultConfigurationProvider().getConfiguration());
- }
-
- @Test
- public void createConfiguration() throws Exception {
- ConfigurationContext ctx = new CoreConfigurationContextBuilder().build();
- assertNotNull(new DefaultConfigurationProvider().createConfiguration(ctx));
- assertEquals(ctx,
- new DefaultConfigurationProvider().createConfiguration(ctx).getContext());
- }
-
- @Test
- public void getConfigurationContext() throws Exception {
- assertNotNull(new DefaultConfigurationProvider().getConfiguration().getContext());
- }
-
- @Test
- public void getConfigurationContextBuilder() throws Exception {
- assertNotNull(new DefaultConfigurationProvider().getConfigurationContextBuilder());
- }
-
- @SuppressWarnings("deprecation")
- @Test
- public void setConfigurationContext() throws Exception {
- new DefaultConfigurationProvider()
- .setConfigurationContext(new DefaultConfigurationProvider().getConfiguration().getContext());
- }
-
- @SuppressWarnings("deprecation")
- @Test
- public void isConfigurationContextSettable() throws Exception {
- assertTrue(new DefaultConfigurationProvider().isConfigurationContextSettable());
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultServiceContextTest.java
----------------------------------------------------------------------
diff --git a/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultServiceContextTest.java b/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultServiceContextTest.java
deleted file mode 100644
index 13b2eb6..0000000
--- a/code/core/src/test/java/org/apache/tamaya/core/internal/DefaultServiceContextTest.java
+++ /dev/null
@@ -1,138 +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.core.internal;
-
-import org.apache.tamaya.ConfigException;
-import org.apache.tamaya.spi.ConfigurationProviderSpi;
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.annotation.Priority;
-import java.util.Collection;
-import java.util.List;
-
-public class DefaultServiceContextTest {
-
- /**
- * context to test
- */
- private final DefaultServiceContext context = new DefaultServiceContext();
-
-
- @Test
- public void testGetService() {
- ConfigurationProviderSpi providerSpi = context.getService(ConfigurationProviderSpi.class);
- Assert.assertNotNull(providerSpi);
- Assert.assertTrue(providerSpi instanceof DefaultConfigurationProvider);
- }
-
- @Test(expected = ConfigException.class)
- public void testGetService_multipleServicesWithoutPriority_shouldThrowConfigException() {
- context.getService(InvalidPriorityInterface.class);
- }
-
- @Test
- public void testGetService_multipleService_shouldReturnServiceWithHighestPriority() {
- MultiImplsInterface service = context.getService(MultiImplsInterface.class);
-
- Assert.assertNotNull(service);
- Assert.assertTrue(service instanceof MultiImpl2);
- }
-
- @Test
- public void testGetService_noImpl_shouldReturnEmptyOpional() {
- NoImplInterface service = context.getService(NoImplInterface.class);
- Assert.assertNull(service);
- }
-
-
- @Test
- public void testGetServices_shouldReturnServices() {
- {
- Collection<InvalidPriorityInterface> services = context.getServices(InvalidPriorityInterface.class);
- Assert.assertNotNull(services);
- Assert.assertEquals(2, services.size());
-
- for (InvalidPriorityInterface service : services) {
- Assert.assertTrue(service instanceof InvalidPriorityImpl1 || service instanceof InvalidPriorityImpl2);
- }
- }
-
- {
- List<MultiImplsInterface> services = context.getServices(MultiImplsInterface.class);
- Assert.assertNotNull(services);
- Assert.assertEquals(3, services.size());
-
- Assert.assertTrue(services.get(0) instanceof MultiImpl2);
- Assert.assertTrue(services.get(1) instanceof MultiImpl1);
- Assert.assertTrue(services.get(2) instanceof MultiImpl3);
- }
- }
-
- @Test
- public void testGetServices_redundantAccessToServices() {
- for(int i=0;i<10;i++){
- Collection<InvalidPriorityInterface> services = context.getServices(InvalidPriorityInterface.class);
- Assert.assertNotNull(services);
- Assert.assertEquals(2, services.size());
- for (InvalidPriorityInterface service : services) {
- Assert.assertTrue(service instanceof InvalidPriorityImpl1 || service instanceof InvalidPriorityImpl2);
- }
- }
- }
-
- @Test
- public void testGetServices_noImpl_shouldReturnEmptyList() {
- Collection<NoImplInterface> services = context.getServices(NoImplInterface.class);
- Assert.assertNotNull(services);
- Assert.assertTrue(services.isEmpty());
- }
-
-
- // some test interfaces and classes
-
- public interface InvalidPriorityInterface {
- }
-
- @Priority(value = 50)
- public static class InvalidPriorityImpl1 implements InvalidPriorityInterface {
- }
-
- @Priority(value = 50)
- public static class InvalidPriorityImpl2 implements InvalidPriorityInterface {
- }
-
-
- public interface MultiImplsInterface {
- }
-
- public static class MultiImpl1 implements MultiImplsInterface {
- }
-
- @Priority(value = 500)
- public static class MultiImpl2 implements MultiImplsInterface {
- }
-
- @Priority(value = -10)
- public static class MultiImpl3 implements MultiImplsInterface {
- }
-
- private interface NoImplInterface {
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityInterface
----------------------------------------------------------------------
diff --git a/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityInterface b/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityInterface
deleted file mode 100644
index f203fa6..0000000
--- a/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityInterface
+++ /dev/null
@@ -1,18 +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.
-org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityImpl1
-org.apache.tamaya.core.internal.DefaultServiceContextTest$InvalidPriorityImpl2
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImplsInterface
----------------------------------------------------------------------
diff --git a/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImplsInterface b/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImplsInterface
deleted file mode 100644
index b144790..0000000
--- a/code/core/src/test/resources/META-INF/services/org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImplsInterface
+++ /dev/null
@@ -1,20 +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.
-
-org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImpl1
-org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImpl2
-org.apache.tamaya.core.internal.DefaultServiceContextTest$MultiImpl3
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/core/src/test/resources/META-INF/services/org.apache.tamaya.spi.ConfigurationProviderSpi
----------------------------------------------------------------------
diff --git a/code/core/src/test/resources/META-INF/services/org.apache.tamaya.spi.ConfigurationProviderSpi b/code/core/src/test/resources/META-INF/services/org.apache.tamaya.spi.ConfigurationProviderSpi
new file mode 100644
index 0000000..968be8f
--- /dev/null
+++ b/code/core/src/test/resources/META-INF/services/org.apache.tamaya.spi.ConfigurationProviderSpi
@@ -0,0 +1,18 @@
+# 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.
+
+org.apache.tamaya.core.internal.CoreConfigurationProvider
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java
index 4376a9a..fbcf35f 100644
--- a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java
+++ b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfiguration.java
@@ -124,7 +124,6 @@ public class DefaultConfiguration implements Configuration {
@Override
public String getOrDefault(String key, String defaultValue) {
Objects.requireNonNull(key, "Key must not be null.");
- Objects.requireNonNull(defaultValue, "Default value must not be null");
String val = get(key);
if(val==null){
@@ -258,6 +257,24 @@ public class DefaultConfiguration implements Configuration {
}
@Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ DefaultConfiguration that = (DefaultConfiguration) o;
+
+ if (!configurationContext.equals(that.configurationContext)) return false;
+ return configEvaluator.getClass().equals(that.configEvaluator.getClass());
+ }
+
+ @Override
+ public int hashCode() {
+ int result = configurationContext.hashCode();
+ result = 31 * result + configEvaluator.getClass().hashCode();
+ return result;
+ }
+
+ @Override
public String toString() {
return "Configuration{\n " +
configurationContext +
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/15f7cbbb/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilder.java b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilder.java
index f1c0f46..ec26ba6 100644
--- a/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilder.java
+++ b/code/spi-support/src/main/java/org/apache/tamaya/spisupport/DefaultConfigurationBuilder.java
@@ -21,21 +21,29 @@ package org.apache.tamaya.spisupport;
import org.apache.tamaya.Configuration;
import org.apache.tamaya.TypeLiteral;
import org.apache.tamaya.spi.*;
+import org.apache.tamaya.spi.ConfigurationBuilder;
import java.util.*;
/**
- * Default implementation of {@link ConfigurationContextBuilder}.
+ * Default implementation of {@link ConfigurationBuilder}.
*/
public class DefaultConfigurationBuilder implements ConfigurationBuilder {
- private final ConfigurationContextBuilder contextBuilder;
+ protected final DefaultConfigurationContextBuilder contextBuilder;
/**
* Creates a new builder instance.
*/
- public DefaultConfigurationBuilder(ConfigurationContextBuilder contextBuilder) {
- this.contextBuilder = Objects.requireNonNull(contextBuilder);
+ public DefaultConfigurationBuilder() {
+ this.contextBuilder = new DefaultConfigurationContextBuilder();
+ }
+
+ /**
+ * Creates a new builder instance.
+ */
+ public DefaultConfigurationBuilder(ConfigurationContext context) {
+ this.contextBuilder = new DefaultConfigurationContextBuilder(context);
}
/**
@@ -43,13 +51,13 @@ public class DefaultConfigurationBuilder implements ConfigurationBuilder {
* @param configuration the configuration to be used, not null.
*/
public DefaultConfigurationBuilder(Configuration configuration) {
- this.contextBuilder = configuration.getContext().toBuilder();
+ this.contextBuilder = new DefaultConfigurationContextBuilder(configuration.getContext());
}
/**
* Allows to set configuration context during unit tests.
*/
- ConfigurationBuilder setConfiguration(Configuration configuration) {
+ public ConfigurationBuilder setConfiguration(Configuration configuration) {
this.contextBuilder.setContext(configuration.getContext());
return this;
}
@@ -181,7 +189,6 @@ public class DefaultConfigurationBuilder implements ConfigurationBuilder {
return this;
}
-
@Override
public <T> ConfigurationBuilder addPropertyConverters(TypeLiteral<T> type, PropertyConverter<T>... propertyConverters){
this.contextBuilder.addPropertyConverters(type, propertyConverters);