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/17 16:35:03 UTC
[7/8] incubator-brooklyn git commit: comments and more test for yaml
enrichers
comments and more test for yaml enrichers
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b887c190
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b887c190
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b887c190
Branch: refs/heads/master
Commit: b887c19011027d874138e7f6391bb8c3f0c81e02
Parents: 7ba6df7
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Apr 17 09:32:33 2015 -0500
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Apr 17 09:33:04 2015 -0500
----------------------------------------------------------------------
.../java/brooklyn/enricher/basic/Joiner.java | 1 -
.../brooklyn/enricher/basic/Propagator.java | 1 +
.../brooklyn/enricher/basic/Transformer.java | 3 ++-
.../java/brooklyn/enricher/EnrichersTest.java | 24 +++++++++++++++++++-
4 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b887c190/core/src/main/java/brooklyn/enricher/basic/Joiner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/Joiner.java b/core/src/main/java/brooklyn/enricher/basic/Joiner.java
index 5189273..96509e1 100644
--- a/core/src/main/java/brooklyn/enricher/basic/Joiner.java
+++ b/core/src/main/java/brooklyn/enricher/basic/Joiner.java
@@ -57,7 +57,6 @@ public class Joiner<T> extends AbstractEnricher implements SensorEventListener<T
@SetFromFlag("maximum")
public static ConfigKey<Integer> MAXIMUM = ConfigKeys.newIntegerConfigKey("enricher.joiner.maximum", "Maximum number of elements to join; default null means all elements always taken");
-// protected Function<? super SensorEvent<T>, ? extends U> transformation;
protected Entity producer;
protected AttributeSensor<T> sourceSensor;
protected Sensor<String> targetSensor;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b887c190/core/src/main/java/brooklyn/enricher/basic/Propagator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/Propagator.java b/core/src/main/java/brooklyn/enricher/basic/Propagator.java
index fd012a3..7d6e383 100644
--- a/core/src/main/java/brooklyn/enricher/basic/Propagator.java
+++ b/core/src/main/java/brooklyn/enricher/basic/Propagator.java
@@ -122,6 +122,7 @@ public class Propagator extends AbstractEnricher implements SensorEventListener<
// user specified nothing, so *set* the all_but to the default set
// if desired, we could allow this to be dynamically reconfigurable, remove this field and always look up;
// slight performance hit (always looking up), and might need to recompute subscriptions, so not supported currently
+ // TODO this default is @Beta behaviour! -- maybe better to throw?
propagatingAllBut = SENSORS_NOT_USUALLY_PROPAGATED;
} else {
propagatingAllBut = getConfig(PROPAGATING_ALL_BUT);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b887c190/core/src/main/java/brooklyn/enricher/basic/Transformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/Transformer.java b/core/src/main/java/brooklyn/enricher/basic/Transformer.java
index 0811fcc..224f201 100644
--- a/core/src/main/java/brooklyn/enricher/basic/Transformer.java
+++ b/core/src/main/java/brooklyn/enricher/basic/Transformer.java
@@ -57,7 +57,6 @@ public class Transformer<T,U> extends AbstractEnricher implements SensorEventLis
public static ConfigKey<Sensor<?>> TARGET_SENSOR = ConfigKeys.newConfigKey(new TypeToken<Sensor<?>>() {}, "enricher.targetSensor");
-// protected Function<? super SensorEvent<T>, ? extends U> transformation;
protected Entity producer;
protected Sensor<T> sourceSensor;
protected Sensor<U> targetSensor;
@@ -153,6 +152,8 @@ public class Transformer<T,U> extends AbstractEnricher implements SensorEventLis
}
protected Object compute(SensorEvent<T> event) {
+ // transformation is not going to change, but this design makes it easier to support changing config in future.
+ // if it's an efficiency hole we can switch to populate the transformation at start.
U result = getTransformation().apply(event);
if (LOG.isTraceEnabled())
LOG.trace("Enricher "+this+" computed "+result+" from "+event);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b887c190/core/src/test/java/brooklyn/enricher/EnrichersTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/EnrichersTest.java b/core/src/test/java/brooklyn/enricher/EnrichersTest.java
index 43d55c3..20ffab0 100644
--- a/core/src/test/java/brooklyn/enricher/EnrichersTest.java
+++ b/core/src/test/java/brooklyn/enricher/EnrichersTest.java
@@ -456,7 +456,6 @@ public class EnrichersTest extends BrooklynAppUnitTestSupport {
EntityTestUtils.assertAttributeEqualsEventually(entity, TestEntity.NAME, null);
}
-
@Test
public void testJoinerUnquoted() {
entity.setAttribute(LIST_SENSOR, MutableList.<String>of("a", "\"b", "ccc").append(null));
@@ -476,4 +475,27 @@ public class EnrichersTest extends BrooklynAppUnitTestSupport {
EntityTestUtils.assertAttributeEqualsEventually(entity, TestEntity.NAME, null);
}
+ @Test
+ public void testJoinerMinMax() {
+ entity.addEnricher(Enrichers.builder()
+ .joining(LIST_SENSOR)
+ .publishing(TestEntity.NAME)
+ .minimum(2)
+ .maximum(4)
+ .quote(false)
+ .build());
+ // null values ignored, and it quotes
+ entity.setAttribute(LIST_SENSOR, MutableList.<String>of("a", "b"));
+ EntityTestUtils.assertAttributeEqualsEventually(entity, TestEntity.NAME, "a,b");
+
+ // empty list causes ""
+ entity.setAttribute(LIST_SENSOR, MutableList.<String>of("x"));
+ EntityTestUtils.assertAttributeEqualsEventually(entity, TestEntity.NAME, null);
+
+ // null causes null
+ entity.setAttribute(LIST_SENSOR, MutableList.<String>of("a", "b", "c", "d", "e"));
+ EntityTestUtils.assertAttributeEqualsEventually(entity, TestEntity.NAME, "a,b,c,d");
+ }
+
+
}