You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/09/14 17:48:05 UTC

[2/3] incubator-brooklyn git commit: Changes propagator getDestinationSensor to lookup on sensor name, rather than sensor equality

Changes propagator getDestinationSensor to lookup on sensor name, rather than sensor equality


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

Branch: refs/heads/master
Commit: dab66540056e6b19932cd3eaa0214d2c932a37dc
Parents: f53d536
Author: Martin Harris <gi...@nakomis.com>
Authored: Thu Sep 10 15:33:32 2015 +0100
Committer: Martin Harris <gi...@nakomis.com>
Committed: Thu Sep 10 16:40:35 2015 +0100

----------------------------------------------------------------------
 .../apache/brooklyn/enricher/stock/Propagator.java   | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dab66540/core/src/main/java/org/apache/brooklyn/enricher/stock/Propagator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/Propagator.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/Propagator.java
index e6050fd..195fc9c 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/Propagator.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/Propagator.java
@@ -39,6 +39,7 @@ import org.apache.brooklyn.util.core.task.ValueResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
@@ -162,7 +163,7 @@ public class Propagator extends AbstractEnricher implements SensorEventListener<
         // propagate upwards
         Sensor<?> sourceSensor = event.getSensor();
         Sensor<?> destinationSensor = getDestinationSensor(sourceSensor);
-        
+
         if (!sensorFilter.apply(sourceSensor)) {
             return; // ignoring excluded sensor
         }
@@ -195,7 +196,15 @@ public class Propagator extends AbstractEnricher implements SensorEventListener<
         }
     }
 
-    private Sensor<?> getDestinationSensor(Sensor<?> sourceSensor) {
-        return sensorMapping.containsKey(sourceSensor) ? sensorMapping.get(sourceSensor): sourceSensor;
+    private Sensor<?> getDestinationSensor(final Sensor<?> sourceSensor) {
+        Optional<? extends Sensor<?>> mappingSensor = Iterables.tryFind(sensorMapping.keySet(), new Predicate<Sensor<?>>() {
+            @Override
+            public boolean apply(Sensor<?> sensor) {
+                return sourceSensor.getName().equals(sensor.getName());
+            }
+        });
+
+        return mappingSensor.isPresent() ? sensorMapping.get(mappingSensor.get()) : sourceSensor;
     }
+
 }