Avoid adding null port key in byon location config
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/84e495b1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/84e495b1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/84e495b1 Branch: refs/heads/master Commit: 84e495b1c2c05631917fcdc6a2b52794cdac6dfb Parents: ac77a31 Author: Ciprian Ciubotariu <[email protected]> Authored: Thu Jul 23 15:42:15 2015 +0300 Committer: Ciprian Ciubotariu <[email protected]> Committed: Thu Jul 23 15:52:25 2015 +0300 ---------------------------------------------------------------------- .../brooklyn/location/basic/ByonLocationResolver.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/84e495b1/core/src/main/java/brooklyn/location/basic/ByonLocationResolver.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/brooklyn/location/basic/ByonLocationResolver.java b/core/src/main/java/brooklyn/location/basic/ByonLocationResolver.java index 067af47..3695e3e 100644 --- a/core/src/main/java/brooklyn/location/basic/ByonLocationResolver.java +++ b/core/src/main/java/brooklyn/location/basic/ByonLocationResolver.java @@ -96,7 +96,11 @@ public class ByonLocationResolver extends AbstractLocationResolver { String user = (String) config.getStringKey("user"); Integer port = (Integer) TypeCoercions.coerce(config.getStringKey("port"), Integer.class); Class<? extends MachineLocation> locationClass = OS_TO_MACHINE_LOCATION_TYPE.get(config.get(OS_FAMILY)); - + + MutableMap<String, Object> defaultProps = MutableMap.of(); + defaultProps.addIfNotNull("user", user); + defaultProps.addIfNotNull("port", port); + List<String> hostAddresses; if (hosts instanceof String) { @@ -119,9 +123,9 @@ public class ByonLocationResolver extends AbstractLocationResolver { for (Object host : hostAddresses) { LocationSpec<? extends MachineLocation> machineSpec; if (host instanceof String) { - machineSpec = parseMachine((String)host, locationClass, MutableMap.of("user", user, "port", port), spec); + machineSpec = parseMachine((String)host, locationClass, defaultProps, spec); } else if (host instanceof Map) { - machineSpec = parseMachine((Map<String, ?>)host, locationClass, MutableMap.of("user", user, "port", port), spec); + machineSpec = parseMachine((Map<String, ?>)host, locationClass, defaultProps, spec); } else { throw new IllegalArgumentException("Expected machine to be String or Map, but was "+host.getClass().getName()+" ("+host+")"); }
