You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by pl...@apache.org on 2017/03/11 23:41:35 UTC
incubator-tamaya-extensions git commit: [TAMAYA-244] Removed possible
causes for NullPointerExceptions.
Repository: incubator-tamaya-extensions
Updated Branches:
refs/heads/master feaa76538 -> 78415bc9b
[TAMAYA-244] Removed possible causes for NullPointerExceptions.
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/78415bc9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/78415bc9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/78415bc9
Branch: refs/heads/master
Commit: 78415bc9bcd1aa3574282e6570a6fa1f0e130988
Parents: feaa765
Author: Oliver B. Fischer <pl...@apache.org>
Authored: Sun Mar 12 00:41:31 2017 +0100
Committer: Oliver B. Fischer <pl...@apache.org>
Committed: Sun Mar 12 00:41:31 2017 +0100
----------------------------------------------------------------------
.../tamaya/functions/CombinedConfiguration.java | 27 ++++++++++++++------
.../functions/CombinedConfigurationTest.java | 7 +++++
2 files changed, 26 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/78415bc9/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 a268736..234e03c 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
@@ -24,9 +24,7 @@ import org.apache.tamaya.Configuration;
import org.apache.tamaya.TypeLiteral;
import org.apache.tamaya.spi.ConfigurationContext;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
/**
* Combines a set of child configurations to a new one, by overriding the first entries with result from
@@ -35,8 +33,12 @@ import java.util.Map;
class CombinedConfiguration implements Configuration{
/** The name of the new configuration. */
private final String name;
- /** The configuration's in evaluation order. Instances with higher indices override results with lower ones. */
- private final Configuration[] configurations;
+
+ /**
+ * The configuration's in evaluation order. Instances with higher indices
+ * override results with lower ones.
+ */
+ private final ArrayList<Configuration> configurations = new ArrayList<>();
/**
* Creates a combined configuration instance.
@@ -45,7 +47,16 @@ class CombinedConfiguration implements Configuration{
*/
public CombinedConfiguration(String configName, Configuration... configs) {
this.name = configName;
- this.configurations = configs == null ? new Configuration[0] : configs.clone();
+
+ if (null != configs) {
+ for (Configuration config : configs) {
+ if (config == null) {
+ continue;
+ }
+
+ configurations.add(config);
+ }
+ }
}
@Override
@@ -133,14 +144,14 @@ class CombinedConfiguration implements Configuration{
@Override
public ConfigurationContext getContext() {
// TODO thjink on combining the participating contexts...
- return configurations[0].getContext();
+ return configurations.get(0).getContext();
}
@Override
public String toString() {
return "CombinedConfiguration{" +
"name='" + name + '\'' +
- ", configurations=" + Arrays.toString(configurations) +
+ ", configurations=" + configurations +
'}';
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/78415bc9/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 585e1f7..e56c0cc 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
@@ -78,6 +78,13 @@ public class CombinedConfigurationTest {
}
@Test
+ public void createCombinedConfigurationWithNullNullAsSingleConfiguration() {
+ CombinedConfiguration cc = new CombinedConfiguration("abc", null, null);
+
+ assertThat(cc.get("nil")).isNull();
+ }
+
+ @Test
public void requestedEntryIsntInAnyConfigration() throws Exception {
CombinedConfiguration cc = new CombinedConfiguration("abc", configWithA1, configWithB, configWithC);