Repository: incubator-brooklyn Updated Branches: refs/heads/master 8b0bacd2b -> a1efa470d
Fix SshMachineLocation unable to connect without explicit port setting The settings map obtained from location ssh settings leaves the port value mapped to null. ShellAbstractTool.getOptionalVal is unable to coerce this null to integer type, which manifests as SshMachineLocation being mysteriously unable to connect. Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ac77a31d Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ac77a31d Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ac77a31d Branch: refs/heads/master Commit: ac77a31ddd5596bd01cb6033c595518b909eb2f8 Parents: d7ac3ac Author: Ciprian Ciubotariu <[email protected]> Authored: Fri Jul 17 18:41:32 2015 +0300 Committer: Ciprian Ciubotariu <[email protected]> Committed: Thu Jul 23 15:42:50 2015 +0300 ---------------------------------------------------------------------- .../main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ac77a31d/core/src/main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java b/core/src/main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java index 10e9699..5c839a9 100644 --- a/core/src/main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java +++ b/core/src/main/java/brooklyn/util/internal/ssh/ShellAbstractTool.java @@ -105,7 +105,7 @@ public abstract class ShellAbstractTool implements ShellTool { public static <T> T getOptionalVal(Map<String,?> map, ConfigKey<T> keyC) { if (keyC==null) return null; String key = keyC.getName(); - if (map!=null && map.containsKey(key)) { + if (map!=null && map.containsKey(key) && map.get(key) != null) { return TypeCoercions.coerce(map.get(key), keyC.getTypeToken()); } else { return keyC.getDefaultValue(); @@ -115,7 +115,7 @@ public abstract class ShellAbstractTool implements ShellTool { /** returns the value of the key if specified, otherwise defaultValue */ protected static <T> T getOptionalVal(Map<String,?> map, ConfigKey<T> keyC, T defaultValue) { String key = keyC.getName(); - if (map.containsKey(key)) { + if (map!=null && map.containsKey(key) && map.get(key) != null) { return TypeCoercions.coerce(map.get(key), keyC.getTypeToken()); } else { return defaultValue;
