You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/04/28 11:55:43 UTC

[3/9] incubator-brooklyn git commit: add open ports for config keys that end in .port

add open ports for config keys that end in .port


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b671fb59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b671fb59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b671fb59

Branch: refs/heads/master
Commit: b671fb5949034489746955c067cf04938f2dc7f7
Parents: 74232df
Author: Robert Moss <ro...@gmail.com>
Authored: Tue Apr 14 11:20:55 2015 +0100
Committer: Robert Moss <ro...@gmail.com>
Committed: Tue Apr 14 11:20:55 2015 +0100

----------------------------------------------------------------------
 .../brooklyn/entity/basic/SoftwareProcessImpl.java   | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b671fb59/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
index a6c165d..7fec000 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
@@ -21,6 +21,7 @@ package brooklyn.entity.basic;
 import groovy.time.TimeDuration;
 
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.Timer;
@@ -38,6 +39,7 @@ import brooklyn.entity.basic.ServiceStateLogic.ServiceNotUpLogic;
 import brooklyn.entity.drivers.DriverDependentEntity;
 import brooklyn.entity.drivers.EntityDriverManager;
 import brooklyn.entity.effector.EffectorBody;
+import brooklyn.event.Sensor;
 import brooklyn.event.SensorEvent;
 import brooklyn.event.SensorEventListener;
 import brooklyn.event.feed.function.FunctionFeed;
@@ -429,7 +431,8 @@ public abstract class SoftwareProcessImpl extends AbstractEntity implements Soft
     }
 
     /** returns the ports that this entity wants to use;
-     * default implementation returns 22 plus first value for each PortAttributeSensorAndConfigKey config key PortRange.
+     * default implementation returns 22 plus first value for each PortAttributeSensorAndConfigKey config key PortRange
+     * plus any ports defined with a config keys ending in .port 
      */
     protected Collection<Integer> getRequiredOpenPorts() {
         Set<Integer> ports = MutableSet.of(22);
@@ -440,6 +443,16 @@ public abstract class SoftwareProcessImpl extends AbstractEntity implements Soft
             }   
         }
         
+        Map<String, Object> allConfig = config().getBag().getAllConfig();
+        for (String key : allConfig.keySet()) {
+            if(key.matches(".*\\.port")){
+                Object value = allConfig.get(key);
+                if (value instanceof Integer){
+                    ports.add((Integer)value);
+                }
+            }
+        }         
+        
         log.debug("getRequiredOpenPorts detected default {} for {}", ports, this);
         return ports;
     }