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() { /*
