Repository: incubator-tamaya-extensions Updated Branches: refs/heads/master 78415bc9b -> 27a78e287
[TAMAYA-244] Added missing license headers. Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/27a78e28 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/27a78e28 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/27a78e28 Branch: refs/heads/master Commit: 27a78e287b4de4cf56ccda7d851603f3716208b9 Parents: fabf4a4 Author: Oliver B. Fischer <[email protected]> Authored: Fri Mar 17 19:29:18 2017 +0100 Committer: Oliver B. Fischer <[email protected]> Committed: Fri Mar 17 19:29:18 2017 +0100 ---------------------------------------------------------------------- .../tamaya/functions/CombinedConfiguration.java | 7 ++++- .../functions/CombinedConfigurationTest.java | 32 +++++++++++++++++++- .../tamaya/functions/InMemoryConfiguration.java | 18 +++++++++++ .../functions/MappedConfigurationTest.java | 18 +++++++++++ 4 files changed, 73 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27a78e28/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java index 234e03c..02d88a1 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/CombinedConfiguration.java @@ -73,10 +73,15 @@ class CombinedConfiguration implements Configuration{ @Override public String getOrDefault(String key, String defaultValue) { + Objects.requireNonNull(key, "Key must be given."); + Objects.requireNonNull(defaultValue, "Value must be given."); + String val = get(key); - if(val==null){ + + if (val == null) { return defaultValue; } + return val; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27a78e28/modules/functions/src/test/java/org/apache/tamaya/functions/CombinedConfigurationTest.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/test/java/org/apache/tamaya/functions/CombinedConfigurationTest.java b/modules/functions/src/test/java/org/apache/tamaya/functions/CombinedConfigurationTest.java index 497adf1..2275f7a 100644 --- a/modules/functions/src/test/java/org/apache/tamaya/functions/CombinedConfigurationTest.java +++ b/modules/functions/src/test/java/org/apache/tamaya/functions/CombinedConfigurationTest.java @@ -28,6 +28,7 @@ import org.apache.tamaya.spisupport.DefaultConfiguration; import org.apache.tamaya.spisupport.DefaultConfigurationContext; import org.apache.tamaya.spisupport.DefaultConfigurationContextBuilder; import org.apache.tamaya.spisupport.SimplePropertySource; +import org.assertj.core.api.ThrowableAssert; import org.junit.Test; import java.util.Collections; @@ -36,6 +37,9 @@ import java.util.TreeMap; import static java.util.Collections.singletonMap; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.Mockito.CALLS_REAL_METHODS; +import static org.mockito.Mockito.mock; public class CombinedConfigurationTest { @@ -110,7 +114,33 @@ public class CombinedConfigurationTest { * Tests for getOrDefault(String, String) */ - // null, null + @Test + public void getOrDefaultWithSignatureStringStringThrowsNPEIfKeyIsNull() { + final CombinedConfiguration cc = mock(CombinedConfiguration.class, CALLS_REAL_METHODS); + + assertThatThrownBy(new ThrowableAssert.ThrowingCallable() { + @Override + public void call() throws Throwable { + cc.getOrDefault(null, "d"); + } + }).isInstanceOf(NullPointerException.class) + .hasMessage("Key must be given."); + } + + @Test + public void getOrDefaultWithSignatureStringStringThrowsNPEIfValueIsNull() { + final CombinedConfiguration cc = mock(CombinedConfiguration.class, CALLS_REAL_METHODS); + + assertThatThrownBy(new ThrowableAssert.ThrowingCallable() { + @Override + public void call() throws Throwable { + cc.getOrDefault("key", (String)null); + } + }).isInstanceOf(NullPointerException.class) + .hasMessage("Value must be given."); + } + + // a, b // a, null // getOrDefault none one three http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27a78e28/modules/functions/src/test/java/org/apache/tamaya/functions/InMemoryConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/test/java/org/apache/tamaya/functions/InMemoryConfiguration.java b/modules/functions/src/test/java/org/apache/tamaya/functions/InMemoryConfiguration.java index 5884b27..deb544c 100644 --- a/modules/functions/src/test/java/org/apache/tamaya/functions/InMemoryConfiguration.java +++ b/modules/functions/src/test/java/org/apache/tamaya/functions/InMemoryConfiguration.java @@ -1,3 +1,21 @@ +/* + * 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.functions; import org.apache.tamaya.spi.ConfigurationContext; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/27a78e28/modules/functions/src/test/java/org/apache/tamaya/functions/MappedConfigurationTest.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/test/java/org/apache/tamaya/functions/MappedConfigurationTest.java b/modules/functions/src/test/java/org/apache/tamaya/functions/MappedConfigurationTest.java index 0dbba07..c31077a 100644 --- a/modules/functions/src/test/java/org/apache/tamaya/functions/MappedConfigurationTest.java +++ b/modules/functions/src/test/java/org/apache/tamaya/functions/MappedConfigurationTest.java @@ -1,3 +1,21 @@ +/* + * 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.functions; import org.apache.tamaya.Configuration;
