Repository: brooklyn-server Updated Branches: refs/heads/master 1599d7aaa -> 022be3687
Sanitizer: avoid NPE on `sanitize(null)` Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/12323b58 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/12323b58 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/12323b58 Branch: refs/heads/master Commit: 12323b58df2dbc5e25874e4f2d516fd3cbe2887a Parents: 1599d7a Author: Aled Sage <[email protected]> Authored: Wed Apr 5 07:10:23 2017 +0100 Committer: Aled Sage <[email protected]> Committed: Wed Apr 5 07:10:23 2017 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/brooklyn/core/config/Sanitizer.java | 8 ++++---- .../java/org/apache/brooklyn/core/config/SanitizerTest.java | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/12323b58/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java index 99cba90..35eb26e 100644 --- a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java +++ b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java @@ -89,15 +89,15 @@ public final class Sanitizer { } public static Map<String, Object> sanitize(ConfigBag input) { - return sanitize(input.getAllConfig()); + return (input == null) ? null : sanitize(input.getAllConfig()); } public static <K> Map<K, Object> sanitize(Map<K, ?> input) { - return sanitize(input, Sets.newHashSet()); + return (input == null) ? null : sanitize(input, Sets.newHashSet()); } static <K> Map<K, Object> sanitize(Map<K, ?> input, Set<Object> visited) { - return newInstance().apply(input, visited); + return (input == null) ? null : newInstance().apply(input, visited); } private Predicate<Object> predicate; @@ -107,7 +107,7 @@ public final class Sanitizer { } public <K> Map<K, Object> apply(Map<K, ?> input) { - return apply(input, Sets.newHashSet()); + return (input == null) ? null : apply(input, Sets.newHashSet()); } private <K> Map<K, Object> apply(Map<K, ?> input, Set<Object> visited) { http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/12323b58/core/src/test/java/org/apache/brooklyn/core/config/SanitizerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/config/SanitizerTest.java b/core/src/test/java/org/apache/brooklyn/core/config/SanitizerTest.java index 085b43d..2ca4883 100644 --- a/core/src/test/java/org/apache/brooklyn/core/config/SanitizerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/config/SanitizerTest.java @@ -22,7 +22,6 @@ import static org.testng.Assert.assertEquals; import java.util.Map; -import org.apache.brooklyn.core.config.Sanitizer; import org.apache.brooklyn.util.collections.MutableMap; import org.apache.brooklyn.util.core.config.ConfigBag; import org.testng.annotations.Test; @@ -64,4 +63,11 @@ public class SanitizerTest { Map<?, ?> sanitized = Sanitizer.sanitize(map); assertEquals(sanitized, map); } + + @Test + public void testSanitizeWithNull() throws Exception { + assertEquals(Sanitizer.sanitize((ConfigBag)null), null); + assertEquals(Sanitizer.sanitize((Map<?,?>)null), null); + assertEquals(Sanitizer.newInstance().apply((Map<?,?>)null), null); + } }
