Add testSensorPropagatedWhenMappingUsedSameNameButDifferentType

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

Branch: refs/heads/master
Commit: 4b6188f559dabeffc08d493b5d1fb26cac609f2f
Parents: 92c45ea
Author: Aled Sage <[email protected]>
Authored: Mon Sep 14 16:51:41 2015 +0100
Committer: Aled Sage <[email protected]>
Committed: Mon Sep 14 16:51:41 2015 +0100

----------------------------------------------------------------------
 .../org/apache/brooklyn/enricher/stock/Propagator.java |  1 +
 .../enricher/stock/SensorPropagatingEnricherTest.java  | 13 +++++++++++++
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4b6188f5/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 195fc9c..0cf601c 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
@@ -197,6 +197,7 @@ public class Propagator extends AbstractEnricher implements 
SensorEventListener<
     }
 
     private Sensor<?> getDestinationSensor(final Sensor<?> sourceSensor) {
+        // sensor equality includes the type; we want just name-equality so 
will use predicate.
         Optional<? extends Sensor<?>> mappingSensor = 
Iterables.tryFind(sensorMapping.keySet(), new Predicate<Sensor<?>>() {
             @Override
             public boolean apply(Sensor<?> sensor) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4b6188f5/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java
 
b/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java
index c938bc2..090b0a4 100644
--- 
a/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java
+++ 
b/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java
@@ -215,6 +215,19 @@ public class SensorPropagatingEnricherTest extends 
BrooklynAppUnitTestSupport {
     }
 
     @Test
+    public void testSensorPropagatedWhenMappingUsedSameNameButDifferentType() 
throws Exception {
+        AttributeSensor<String> origSensor = Sensors.newSensor(String.class, 
"origSensor");
+        AttributeSensor<Object> sourceSensorFromYaml = 
Sensors.newSensor(Object.class, "origSensor");
+        AttributeSensor<Object> targetSensor = Sensors.newSensor(Object.class, 
"newSensor");
+        app.addEnricher(Enrichers.builder()
+                .propagating(ImmutableMap.of(sourceSensorFromYaml, 
targetSensor))
+                .from(entity)
+                .build());
+        entity.sensors().set(origSensor, "myval");
+        EntityTestUtils.assertAttributeEqualsEventually(app, targetSensor, 
"myval");
+    }
+    
+    @Test
     public void testPropagateToDynamicSensor() {
         /*
 

Reply via email to