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+")");
             }

Reply via email to