http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/entity/group/MembershipTrackingPolicyTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/entity/group/MembershipTrackingPolicyTest.java b/core/src/test/java/org/apache/brooklyn/entity/group/MembershipTrackingPolicyTest.java index 0741170..2f17540 100644 --- a/core/src/test/java/org/apache/brooklyn/entity/group/MembershipTrackingPolicyTest.java +++ b/core/src/test/java/org/apache/brooklyn/entity/group/MembershipTrackingPolicyTest.java @@ -66,7 +66,7 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { group = app.createAndManageChild(EntitySpec.create(BasicGroup.class) .configure("childrenAsMembers", true)); - policy = app.addPolicy(PolicySpec.create(RecordingMembershipTrackingPolicy.class) + policy = app.policies().add(PolicySpec.create(RecordingMembershipTrackingPolicy.class) .configure("group", group)); app.start(ImmutableList.of(loc)); @@ -93,7 +93,7 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { public void testNotifiedOfMemberChanged() throws Exception { TestEntity e1 = createAndManageChildOf(group); - e1.setAttribute(Startable.SERVICE_UP, true); + e1.sensors().set(Startable.SERVICE_UP, true); assertRecordsEventually(Record.newAdded(e1), Record.newChanged(e1)); } @@ -138,13 +138,13 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { public void testNotifiedOfExtraTrackedSensors() throws Exception { TestEntity e1 = createAndManageChildOf(group); - app.removeAllPolicies(); - RecordingMembershipTrackingPolicy policy2 = app.addPolicy(PolicySpec.create(RecordingMembershipTrackingPolicy.class) + app.policies().removeAllPolicies(); + RecordingMembershipTrackingPolicy policy2 = app.policies().add(PolicySpec.create(RecordingMembershipTrackingPolicy.class) .configure("group", group) .configure("sensorsToTrack", ImmutableSet.of(TestEntity.NAME))); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(policy2, Record.newAdded(e1), Record.newChanged(e1)); } @@ -152,11 +152,11 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { @Test public void testDeprecatedSetGroupWorks() throws Exception { RecordingMembershipTrackingPolicy policy2 = new RecordingMembershipTrackingPolicy(MutableMap.of("sensorsToTrack", ImmutableSet.of(TestEntity.NAME))); - group.addPolicy(policy2); + group.policies().add(policy2); policy2.setGroup(group); TestEntity e1 = createAndManageChildOf(group); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(policy2, Record.newAdded(e1), Record.newChanged(e1)); } @@ -165,19 +165,19 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { public void testNotNotifiedOfExtraTrackedSensorsIfNonDuplicate() throws Exception { TestEntity e1 = createAndManageChildOf(group); - app.removeAllPolicies(); - RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.addPolicy(PolicySpec.create(RecordingMembershipTrackingPolicy.class) + app.policies().removeAllPolicies(); + RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.policies().add(PolicySpec.create(RecordingMembershipTrackingPolicy.class) .configure(AbstractMembershipTrackingPolicy.SENSORS_TO_TRACK, ImmutableSet.<Sensor<?>>of(TestEntity.NAME)) .configure(AbstractMembershipTrackingPolicy.NOTIFY_ON_DUPLICATES, false) .configure(AbstractMembershipTrackingPolicy.GROUP, group)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsContinually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "mynewname"); + e1.sensors().set(TestEntity.NAME, "mynewname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1), Record.newChanged(e1)); } @@ -186,18 +186,18 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { public void testDefaultNotNotifiedOfExtraTrackedSensorsIfDuplicate() throws Exception { TestEntity e1 = createAndManageChildOf(group); - app.removeAllPolicies(); - RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.addPolicy(PolicySpec.create(RecordingMembershipTrackingPolicy.class) + app.policies().removeAllPolicies(); + RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.policies().add(PolicySpec.create(RecordingMembershipTrackingPolicy.class) .configure(AbstractMembershipTrackingPolicy.SENSORS_TO_TRACK, ImmutableSet.<Sensor<?>>of(TestEntity.NAME)) .configure(AbstractMembershipTrackingPolicy.GROUP, group)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsContinually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "mynewname"); + e1.sensors().set(TestEntity.NAME, "mynewname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1), Record.newChanged(e1)); } @@ -205,19 +205,19 @@ public class MembershipTrackingPolicyTest extends BrooklynAppUnitTestSupport { public void testNotifiedOfExtraTrackedSensorsIfDuplicate() throws Exception { TestEntity e1 = createAndManageChildOf(group); - app.removeAllPolicies(); - RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.addPolicy(PolicySpec.create(RecordingMembershipTrackingPolicy.class) + app.policies().removeAllPolicies(); + RecordingMembershipTrackingPolicy nonDuplicateTrackingPolicy = app.policies().add(PolicySpec.create(RecordingMembershipTrackingPolicy.class) .configure(AbstractMembershipTrackingPolicy.SENSORS_TO_TRACK, ImmutableSet.<Sensor<?>>of(TestEntity.NAME)) .configure(AbstractMembershipTrackingPolicy.NOTIFY_ON_DUPLICATES, true) .configure(AbstractMembershipTrackingPolicy.GROUP, group)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "myname"); + e1.sensors().set(TestEntity.NAME, "myname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1), Record.newChanged(e1)); - e1.setAttribute(TestEntity.NAME, "mynewname"); + e1.sensors().set(TestEntity.NAME, "mynewname"); assertRecordsEventually(nonDuplicateTrackingPolicy, Record.newAdded(e1), Record.newChanged(e1), Record.newChanged(e1), Record.newChanged(e1)); }
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/feed/function/FunctionFeedTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/feed/function/FunctionFeedTest.java b/core/src/test/java/org/apache/brooklyn/feed/function/FunctionFeedTest.java index c362e4e6..d2e82aa 100644 --- a/core/src/test/java/org/apache/brooklyn/feed/function/FunctionFeedTest.java +++ b/core/src/test/java/org/apache/brooklyn/feed/function/FunctionFeedTest.java @@ -210,11 +210,11 @@ public class FunctionFeedTest extends BrooklynAppUnitTestSupport { final List<Integer> ints = new CopyOnWriteArrayList<Integer>(); final List<String> strings = new CopyOnWriteArrayList<String>(); - entity.subscribe(entity, SENSOR_INT, new SensorEventListener<Integer>() { + entity.subscriptions().subscribe(entity, SENSOR_INT, new SensorEventListener<Integer>() { @Override public void onEvent(SensorEvent<Integer> event) { ints.add(event.getValue()); }}); - entity.subscribe(entity, SENSOR_STRING, new SensorEventListener<String>() { + entity.subscriptions().subscribe(entity, SENSOR_STRING, new SensorEventListener<String>() { @Override public void onEvent(SensorEvent<String> event) { strings.add(event.getValue()); }}); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java b/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java index d8ac492..3ba426e 100644 --- a/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java +++ b/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java @@ -367,9 +367,9 @@ public class HttpFeedTest extends BrooklynAppUnitTestSupport { .poll(HttpPollConfig.forMultiple() .onSuccess(new Function<HttpToolResponse,Void>() { public Void apply(HttpToolResponse response) { - entity.setAttribute(SENSOR_INT, response.getResponseCode()); + entity.sensors().set(SENSOR_INT, response.getResponseCode()); if (response.getResponseCode()==200) - entity.setAttribute(SENSOR_STRING, response.getContentAsString()); + entity.sensors().set(SENSOR_STRING, response.getContentAsString()); return null; } }) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/feed/ssh/SshFeedIntegrationTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/feed/ssh/SshFeedIntegrationTest.java b/core/src/test/java/org/apache/brooklyn/feed/ssh/SshFeedIntegrationTest.java index fa8e2df..d926903 100644 --- a/core/src/test/java/org/apache/brooklyn/feed/ssh/SshFeedIntegrationTest.java +++ b/core/src/test/java/org/apache/brooklyn/feed/ssh/SshFeedIntegrationTest.java @@ -206,7 +206,7 @@ public class SshFeedIntegrationTest extends BrooklynAppUnitTestSupport { Entities.manage(entity2); Time.sleep(Duration.seconds(2)); Assert.assertEquals(entity2.getAttribute(SENSOR_STRING), null); - entity2.setAttribute(Attributes.SERVICE_UP, true); + entity2.sensors().set(Attributes.SERVICE_UP, true); EntityTestUtils.assertAttributeEventually(entity2, SENSOR_STRING, StringPredicates.containsLiteral("hello")); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/feed/windows/WindowsPerformanceCounterFeedLiveTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/feed/windows/WindowsPerformanceCounterFeedLiveTest.java b/core/src/test/java/org/apache/brooklyn/feed/windows/WindowsPerformanceCounterFeedLiveTest.java index 421fff4..9ef9ade 100644 --- a/core/src/test/java/org/apache/brooklyn/feed/windows/WindowsPerformanceCounterFeedLiveTest.java +++ b/core/src/test/java/org/apache/brooklyn/feed/windows/WindowsPerformanceCounterFeedLiveTest.java @@ -88,7 +88,7 @@ public class WindowsPerformanceCounterFeedLiveTest extends BrooklynAppLiveTestSu @Test(groups={"Live","Disabled"}, enabled=false) public void testRetrievesPerformanceCounters() throws Exception { // We can be pretty sure that a Windows instance in the cloud will have zero telephone lines... - entity.setAttribute(TELEPHONE_LINES, 42); + entity.sensors().set(TELEPHONE_LINES, 42); WindowsPerformanceCounterFeed feed = WindowsPerformanceCounterFeed.builder() .entity(entity) .addSensor("\\Processor(_total)\\% Idle Time", CPU_IDLE_TIME) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/location/byon/FixedListMachineProvisioningLocationRebindTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/location/byon/FixedListMachineProvisioningLocationRebindTest.java b/core/src/test/java/org/apache/brooklyn/location/byon/FixedListMachineProvisioningLocationRebindTest.java index b6a78bd..3a66266 100644 --- a/core/src/test/java/org/apache/brooklyn/location/byon/FixedListMachineProvisioningLocationRebindTest.java +++ b/core/src/test/java/org/apache/brooklyn/location/byon/FixedListMachineProvisioningLocationRebindTest.java @@ -103,7 +103,7 @@ public class FixedListMachineProvisioningLocationRebindTest { @Test public void testRebindPreservesInUseMachines() throws Exception { SshMachineLocation inuseMachine = origLoc.obtain(); - origApp.setAttribute(TestApplication.SERVICE_UP, true); // to force persist, and thus avoid race + origApp.sensors().set(TestApplication.SERVICE_UP, true); // to force persist, and thus avoid race newApp = rebind(); FixedListMachineProvisioningLocation<SshMachineLocation> newLoc = (FixedListMachineProvisioningLocation<SshMachineLocation>) Iterables.get(newApp.getLocations(), 0); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/util/core/task/TasksTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/util/core/task/TasksTest.java b/core/src/test/java/org/apache/brooklyn/util/core/task/TasksTest.java index 4d1e6e1..af4bb93 100644 --- a/core/src/test/java/org/apache/brooklyn/util/core/task/TasksTest.java +++ b/core/src/test/java/org/apache/brooklyn/util/core/task/TasksTest.java @@ -72,13 +72,13 @@ public class TasksTest extends BrooklynAppUnitTestSupport { @Test public void testResolvesAttributeWhenReady() throws Exception { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); assertResolvesValue(attributeWhenReady(app, TestApplication.MY_ATTRIBUTE), String.class, "myval"); } @Test public void testResolvesMapWithAttributeWhenReady() throws Exception { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); Map<?,?> orig = ImmutableMap.of("mykey", attributeWhenReady(app, TestApplication.MY_ATTRIBUTE)); Map<?,?> expected = ImmutableMap.of("mykey", "myval"); assertResolvesValue(orig, String.class, expected); @@ -86,7 +86,7 @@ public class TasksTest extends BrooklynAppUnitTestSupport { @Test public void testResolvesSetWithAttributeWhenReady() throws Exception { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); Set<?> orig = ImmutableSet.of(attributeWhenReady(app, TestApplication.MY_ATTRIBUTE)); Set<?> expected = ImmutableSet.of("myval"); assertResolvesValue(orig, String.class, expected); @@ -94,7 +94,7 @@ public class TasksTest extends BrooklynAppUnitTestSupport { @Test public void testResolvesMapOfMapsWithAttributeWhenReady() throws Exception { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); Map<?,?> orig = ImmutableMap.of("mykey", ImmutableMap.of("mysubkey", attributeWhenReady(app, TestApplication.MY_ATTRIBUTE))); Map<?,?> expected = ImmutableMap.of("mykey", ImmutableMap.of("mysubkey", "myval")); assertResolvesValue(orig, String.class, expected); @@ -103,7 +103,7 @@ public class TasksTest extends BrooklynAppUnitTestSupport { @SuppressWarnings("unchecked") @Test public void testResolvesIterableOfMapsWithAttributeWhenReady() throws Exception { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); // using Iterables.concat so that orig is of type FluentIterable rather than List etc Iterable<?> orig = Iterables.concat(ImmutableList.of(ImmutableMap.of("mykey", attributeWhenReady(app, TestApplication.MY_ATTRIBUTE)))); Iterable<Map<?,?>> expected = ImmutableList.<Map<?,?>>of(ImmutableMap.of("mykey", "myval")); @@ -117,7 +117,7 @@ public class TasksTest extends BrooklynAppUnitTestSupport { @Test public void testErrorsResolvingPropagatesOrSwallowedAllCorrectly() throws Exception { - app.setConfig(TestEntity.CONF_OBJECT, ValueResolverTest.newThrowTask(Duration.ZERO)); + app.config().set(TestEntity.CONF_OBJECT, ValueResolverTest.newThrowTask(Duration.ZERO)); Task<Object> t = Tasks.builder().body(Functionals.callable(EntityFunctions.config(TestEntity.CONF_OBJECT), app)).build(); ValueResolver<Object> v = Tasks.resolving(t).as(Object.class).context(app.getExecutionContext()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/util/core/task/ssh/SshTasksTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/util/core/task/ssh/SshTasksTest.java b/core/src/test/java/org/apache/brooklyn/util/core/task/ssh/SshTasksTest.java index cb0e50c..4b213a9 100644 --- a/core/src/test/java/org/apache/brooklyn/util/core/task/ssh/SshTasksTest.java +++ b/core/src/test/java/org/apache/brooklyn/util/core/task/ssh/SshTasksTest.java @@ -196,14 +196,14 @@ public class SshTasksTest { @Test(groups="Integration") public void testSshWithHeaderProperty() { - host.setConfig(BrooklynConfigKeys.SSH_CONFIG_SCRIPT_HEADER, "#!/bin/bash -e\necho foo\n"); + host.config().set(BrooklynConfigKeys.SSH_CONFIG_SCRIPT_HEADER, "#!/bin/bash -e\necho foo\n"); ProcessTaskWrapper<Integer> t = submit(SshTasks.newSshExecTaskFactory(host, "echo bar")); Assert.assertTrue(t.block().getStdout().trim().matches("foo\\s+bar"), "mismatched output was: "+t.getStdout()); } @Test(groups="Integration") public void testSshIgnoringHeaderProperty() { - host.setConfig(BrooklynConfigKeys.SSH_CONFIG_SCRIPT_HEADER, "#!/bin/bash -e\necho foo\n"); + host.config().set(BrooklynConfigKeys.SSH_CONFIG_SCRIPT_HEADER, "#!/bin/bash -e\necho foo\n"); ProcessTaskWrapper<Integer> t = submit(SshTasks.newSshExecTaskFactory(host, false, "echo bar")); Assert.assertTrue(t.block().getStdout().trim().matches("bar"), "mismatched output was: "+t.getStdout()); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/core/src/test/java/org/apache/brooklyn/util/core/text/TemplateProcessorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/util/core/text/TemplateProcessorTest.java b/core/src/test/java/org/apache/brooklyn/util/core/text/TemplateProcessorTest.java index 52535da..b2fd6a7 100644 --- a/core/src/test/java/org/apache/brooklyn/util/core/text/TemplateProcessorTest.java +++ b/core/src/test/java/org/apache/brooklyn/util/core/text/TemplateProcessorTest.java @@ -146,7 +146,7 @@ public class TemplateProcessorTest extends BrooklynAppUnitTestSupport { @Test public void testApplyTemplatedConfigWithAttributeWhenReady() { - app.setAttribute(TestApplication.MY_ATTRIBUTE, "myval"); + app.sensors().set(TestApplication.MY_ATTRIBUTE, "myval"); TestEntity entity = app.createAndManageChild(EntitySpec.create(TestEntity.class) .configure(TestEntity.CONF_NAME, DependentConfiguration.attributeWhenReady(app, TestApplication.MY_ATTRIBUTE))); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java ---------------------------------------------------------------------- diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java index 4c0b87e..0e3780f 100644 --- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java +++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java @@ -171,7 +171,7 @@ public class CumulusRDFApplication extends AbstractApplication { }); // Listen for HOSTNAME changes from the Cassandra fabric to show at least one node is available - subscribe(cassandra, CassandraDatacenter.HOSTNAME, new SensorEventListener<String>() { + subscriptions().subscribe(cassandra, CassandraDatacenter.HOSTNAME, new SensorEventListener<String>() { @Override public void onEvent(SensorEvent<String> event) { if (Strings.isNonBlank(event.getValue())) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/ResilientMongoDbApp.java ---------------------------------------------------------------------- diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/ResilientMongoDbApp.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/ResilientMongoDbApp.java index 6b43e7d..814231f 100644 --- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/ResilientMongoDbApp.java +++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/ResilientMongoDbApp.java @@ -61,7 +61,7 @@ public class ResilientMongoDbApp extends AbstractApplication implements Startabl initResilience(rs); - addEnricher(Enrichers.builder() + enrichers().add(Enrichers.builder() .propagating(MongoDBReplicaSet.REPLICA_SET_ENDPOINTS, MongoDBServer.REPLICA_SET_PRIMARY_ENDPOINT) .from(rs) .build()); @@ -72,19 +72,19 @@ public class ResilientMongoDbApp extends AbstractApplication implements Startabl * failing that attempting to _replace_ the entity (e.g. a new VM), and * failing that setting the cluster "on-fire" */ protected void initResilience(MongoDBReplicaSet rs) { - subscribe(rs, DynamicCluster.MEMBER_ADDED, new SensorEventListener<Entity>() { + subscriptions().subscribe(rs, DynamicCluster.MEMBER_ADDED, new SensorEventListener<Entity>() { @Override public void onEvent(SensorEvent<Entity> addition) { initSoftwareProcess((SoftwareProcess)addition.getValue()); } }); - rs.addPolicy(new ServiceReplacer(ServiceRestarter.ENTITY_RESTART_FAILED)); + rs.policies().add(new ServiceReplacer(ServiceRestarter.ENTITY_RESTART_FAILED)); } /** invoked whenever a new MongoDB server is added (the server may not be started yet) */ protected void initSoftwareProcess(SoftwareProcess p) { - p.addEnricher(new ServiceFailureDetector()); - p.addPolicy(new ServiceRestarter(ServiceFailureDetector.ENTITY_FAILED)); + p.enrichers().add(new ServiceFailureDetector()); + p.policies().add(new ServiceRestarter(ServiceFailureDetector.ENTITY_FAILED)); } public static void main(String[] argv) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExample.java ---------------------------------------------------------------------- diff --git a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExample.java b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExample.java index 0d224bd..601537a 100644 --- a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExample.java +++ b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExample.java @@ -80,27 +80,27 @@ public class WebClusterDatabaseExample extends AbstractApplication { attributeWhenReady(mysql, MySqlNode.DATASTORE_URL), DB_TABLE, DB_USERNAME, DB_PASSWORD)) ); - web.addEnricher(HttpLatencyDetector.builder(). + web.enrichers().add(HttpLatencyDetector.builder(). url(ControlledDynamicWebAppCluster.ROOT_URL). rollup(10, TimeUnit.SECONDS). build()); // simple scaling policy - web.getCluster().addPolicy(AutoScalerPolicy.builder(). + web.getCluster().policies().add(AutoScalerPolicy.builder(). metric(DynamicWebAppCluster.REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE). metricRange(10, 100). sizeRange(1, 5). build()); // expose some KPI's - addEnricher(Enrichers.builder() + enrichers().add(Enrichers.builder() .propagating(WebAppServiceConstants.ROOT_URL, DynamicWebAppCluster.REQUESTS_PER_SECOND_IN_WINDOW, HttpLatencyDetector.REQUEST_LATENCY_IN_SECONDS_IN_WINDOW) .from(web) .build()); - addEnricher(Enrichers.builder() + enrichers().add(Enrichers.builder() .propagating(ImmutableMap.of(DynamicWebAppCluster.GROUP_SIZE, APPSERVERS_COUNT)) .from(web) .build()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleApp.java ---------------------------------------------------------------------- diff --git a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleApp.java b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleApp.java index b1d373b..1fb9905 100644 --- a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleApp.java +++ b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleApp.java @@ -133,25 +133,25 @@ public class WebClusterDatabaseExampleApp extends AbstractApplication implements .configure(DynamicCluster.INITIAL_SIZE, 2) .configure(WebAppService.ENABLED_PROTOCOLS, ImmutableSet.of(getConfig(USE_HTTPS) ? "https" : "http")) ); - web.addEnricher(HttpLatencyDetector.builder(). + web.enrichers().add(HttpLatencyDetector.builder(). url(ROOT_URL). rollup(10, TimeUnit.SECONDS). build()); - web.getCluster().addPolicy(AutoScalerPolicy.builder(). + web.getCluster().policies().add(AutoScalerPolicy.builder(). metric(DynamicWebAppCluster.REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE). metricRange(10, 100). sizeRange(2, 5). build()); - addEnricher(Enrichers.builder() + enrichers().add(Enrichers.builder() .propagating(WebAppServiceConstants.ROOT_URL, DynamicWebAppCluster.REQUESTS_PER_SECOND_IN_WINDOW, HttpLatencyDetector.REQUEST_LATENCY_IN_SECONDS_IN_WINDOW) .from(web) .build()); - addEnricher(Enrichers.builder() + enrichers().add(Enrichers.builder() .propagating(ImmutableMap.of(DynamicWebAppCluster.GROUP_SIZE, APPSERVERS_COUNT)) .from(web) .build()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleGroovy.groovy ---------------------------------------------------------------------- diff --git a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleGroovy.groovy b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleGroovy.groovy index 0f852c2..c1156b1 100644 --- a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleGroovy.groovy +++ b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterDatabaseExampleGroovy.groovy @@ -68,7 +68,7 @@ public class WebClusterDatabaseExampleGroovy extends AbstractApplication { attributeWhenReady(mysql, MySqlNode.DATASTORE_URL), DB_TABLE, DB_USERNAME, DB_PASSWORD)); - web.getCluster().addPolicy(AutoScalerPolicy.builder(). + web.getCluster().policies().add(AutoScalerPolicy.builder(). metric(DynamicWebAppCluster.REQUESTS_PER_SECOND_LAST_PER_NODE). sizeRange(1, 5). metricRange(10, 100). http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterExample.java ---------------------------------------------------------------------- diff --git a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterExample.java b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterExample.java index bca5b71..e5a1ae2 100644 --- a/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterExample.java +++ b/examples/simple-web-cluster/src/main/java/org/apache/brooklyn/demo/WebClusterExample.java @@ -71,7 +71,7 @@ public class WebClusterExample extends AbstractApplication { .configure("httpPort", "8080+") .configure("war", WAR_PATH))); - web.getCluster().addPolicy(AutoScalerPolicy.builder() + web.getCluster().policies().add(AutoScalerPolicy.builder() .metric(DynamicWebAppCluster.REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE) .sizeRange(1, 5) .metricRange(10, 100) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java ---------------------------------------------------------------------- diff --git a/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java b/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java index 128e6cf..001d81c 100644 --- a/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java +++ b/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java @@ -160,7 +160,7 @@ public class RebindWebClusterDatabaseExampleAppIntegrationTest extends RebindTes WebAppMonitor monitor = newWebAppMonitor(clusterUrl, 200); // expect auto-scaler policy to be there, and to be functional (e.g. can trigger resize) - AutoScalerPolicy autoScalerPolicy = (AutoScalerPolicy) Iterables.find(webCluster.getPolicies(), Predicates.instanceOf(AutoScalerPolicy.class)); + AutoScalerPolicy autoScalerPolicy = (AutoScalerPolicy) Iterables.find(webCluster.policies(), Predicates.instanceOf(AutoScalerPolicy.class)); autoScalerPolicy.config().set(AutoScalerPolicy.MIN_POOL_SIZE, 3); EntityTestUtils.assertGroupSizeEqualsEventually(web, 3); @@ -177,8 +177,8 @@ public class RebindWebClusterDatabaseExampleAppIntegrationTest extends RebindTes } // expect enrichers to be there - Iterables.find(web.getEnrichers(), Predicates.instanceOf(HttpLatencyDetector.class)); - Iterable<Enricher> propagatorEnrichers = Iterables.filter(web.getEnrichers(), Predicates.instanceOf(Propagator.class)); + Iterables.find(web.enrichers(), Predicates.instanceOf(HttpLatencyDetector.class)); + Iterable<Enricher> propagatorEnrichers = Iterables.filter(web.enrichers(), Predicates.instanceOf(Propagator.class)); assertEquals(Iterables.size(propagatorEnrichers), 3, "propagatorEnrichers="+propagatorEnrichers); // Check we see evidence of the enrichers having an effect. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java index 2ad0dde..4a09cfa 100644 --- a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java +++ b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java @@ -95,7 +95,7 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe public void setEntity(EntityLocal entity) { super.setEntity(entity); - subscribe(entity, AbstractEntity.LOCATION_ADDED, this); + subscriptions().subscribe(entity, AbstractEntity.LOCATION_ADDED, this); } @Override @@ -175,6 +175,6 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe } } - ((EntityLocal)entity).setAttribute(VM_USER_CREDENTIALS, creds); + ((EntityLocal)entity).sensors().set(VM_USER_CREDENTIALS, creds); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/LiveTestEntity.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/LiveTestEntity.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/LiveTestEntity.java index 2a35b6c..68c631f 100644 --- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/LiveTestEntity.java +++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/LiveTestEntity.java @@ -52,7 +52,7 @@ public interface LiveTestEntity extends TestEntity { public void start(final Collection<? extends Location> locs) { LOG.trace("Starting {}", this); callHistory.add("start"); - setAttribute(SERVICE_STATE, Lifecycle.STARTING); + sensors().set(SERVICE_STATE, Lifecycle.STARTING); counter.incrementAndGet(); addLocations(locs); provisioningLocation = (JcloudsLocation) Iterables.find(locs, Predicates.instanceOf(JcloudsLocation.class)); @@ -62,19 +62,19 @@ public interface LiveTestEntity extends TestEntity { throw Throwables.propagate(e); } addLocations(ImmutableList.of(obtainedLocation)); - setAttribute(SERVICE_STATE, Lifecycle.RUNNING); + sensors().set(SERVICE_STATE, Lifecycle.RUNNING); } @Override public void stop() { LOG.trace("Stopping {}", this); callHistory.add("stop"); - setAttribute(SERVICE_STATE, Lifecycle.STOPPING); + sensors().set(SERVICE_STATE, Lifecycle.STOPPING); counter.decrementAndGet(); if (provisioningLocation != null && obtainedLocation != null) { provisioningLocation.release(obtainedLocation); } - setAttribute(SERVICE_STATE, Lifecycle.STOPPED); + sensors().set(SERVICE_STATE, Lifecycle.STOPPED); } public MachineProvisioningLocation<?> getProvisioningLocation() { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java index 07f2427..c9de22b 100644 --- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java +++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/RebindJcloudsLocationLiveTest.java @@ -59,7 +59,7 @@ public class RebindJcloudsLocationLiveTest extends AbstractJcloudsLiveTest { origEntity = origApp.createAndManageChild(EntitySpec.create(LiveTestEntity.class)); jcloudsLocation = (JcloudsLocation) managementContext.getLocationRegistry().resolve(AWS_EC2_LOCATION_SPEC); - jcloudsLocation.setConfig(JcloudsLocation.HARDWARE_ID, AWS_EC2_SMALL_HARDWARE_ID); + jcloudsLocation.config().set(JcloudsLocation.HARDWARE_ID, AWS_EC2_SMALL_HARDWARE_ID); } @AfterMethod(alwaysRun = true) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicy.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicy.java b/policy/src/main/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicy.java index b596a52..d315260 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicy.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicy.java @@ -648,11 +648,11 @@ public class AutoScalerPolicy extends AbstractPolicy { if (getMetric() != null) { Entity entityToSubscribeTo = (getEntityWithMetric() != null) ? getEntityWithMetric() : entity; - subscribe(entityToSubscribeTo, getMetric(), metricEventHandler); + subscriptions().subscribe(entityToSubscribeTo, getMetric(), metricEventHandler); } - subscribe(poolEntity, getPoolColdSensor(), utilizationEventHandler); - subscribe(poolEntity, getPoolHotSensor(), utilizationEventHandler); - subscribe(poolEntity, getPoolOkSensor(), utilizationEventHandler); + subscriptions().subscribe(poolEntity, getPoolColdSensor(), utilizationEventHandler); + subscriptions().subscribe(poolEntity, getPoolHotSensor(), utilizationEventHandler); + subscriptions().subscribe(poolEntity, getPoolOkSensor(), utilizationEventHandler); } private ThreadFactory newThreadFactory() { @@ -974,7 +974,7 @@ public class AutoScalerPolicy extends AbstractPolicy { .maxUnbounded(unboundedSustainedMaxPoolSize) .timeWindow(timeWindowSize) .build(); - entity.emit(maxSizeReachedSensor, event); + entity.sensors().emit(maxSizeReachedSensor, event); } else if (valsSummary.max > maxAllowedPoolSize) { // We temporarily wanted to be bigger than the max allowed; check back later to see if consistent http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/DeltaEnricher.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/DeltaEnricher.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/DeltaEnricher.java index 784c709..555567f 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/DeltaEnricher.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/DeltaEnricher.java @@ -47,7 +47,7 @@ public class DeltaEnricher<T extends Number> extends AbstractTransformingEnriche public void onEvent(SensorEvent<T> event) { Number current = elvis(event.getValue(), 0); double newVal = current.doubleValue() - last.doubleValue(); - entity.setAttribute((AttributeSensor<T>)target, TypeCoercions.coerce(newVal, target.getTypeToken())); + entity.sensors().set((AttributeSensor<T>)target, TypeCoercions.coerce(newVal, target.getTypeToken())); last = current; } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java index 1bd9e8f..92c5463 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java @@ -155,7 +155,7 @@ public class HttpLatencyDetector extends AbstractEnricher implements Enricher { protected void startSubscriptions(EntityLocal entity) { if (getConfig(REQUIRE_SERVICE_UP)) { - subscribe(entity, Startable.SERVICE_UP, new SensorEventListener<Boolean>() { + subscriptions().subscribe(entity, Startable.SERVICE_UP, new SensorEventListener<Boolean>() { @Override public void onEvent(SensorEvent<Boolean> event) { if (AtomicReferences.setIfDifferent(serviceUp, Boxing.unboxSafely(event.getValue(), false))) { @@ -174,7 +174,7 @@ public class HttpLatencyDetector extends AbstractEnricher implements Enricher { AttributeSensor<?> urlSensor = getConfig(URL_SENSOR); if (urlSensor!=null) { - subscribe(entity, urlSensor, new SensorEventListener<Object>() { + subscriptions().subscribe(entity, urlSensor, new SensorEventListener<Object>() { @Override public void onEvent(SensorEvent<Object> event) { Function<String, String> postProcessor = getConfig(URL_POST_PROCESSING); @@ -202,7 +202,7 @@ public class HttpLatencyDetector extends AbstractEnricher implements Enricher { protected void activateAdditionalEnrichers(EntityLocal entity) { Duration rollupWindowSize = getConfig(ROLLUP_WINDOW_SIZE); if (rollupWindowSize!=null) { - entity.addEnricher(new RollingTimeWindowMeanEnricher<Double>(entity, + entity.enrichers().add(new RollingTimeWindowMeanEnricher<Double>(entity, REQUEST_LATENCY_IN_SECONDS_MOST_RECENT, REQUEST_LATENCY_IN_SECONDS_IN_WINDOW, rollupWindowSize)); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingMeanEnricher.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingMeanEnricher.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingMeanEnricher.java index 40243a1..0c824f5 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingMeanEnricher.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingMeanEnricher.java @@ -62,7 +62,7 @@ public class RollingMeanEnricher<T extends Number> extends AbstractTypeTransform public void onEvent(SensorEvent<T> event) { values.addLast(event.getValue()); pruneValues(); - entity.setAttribute((AttributeSensor<Double>)target, getAverage()); + entity.sensors().set((AttributeSensor<Double>)target, getAverage()); } private void pruneValues() { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingTimeWindowMeanEnricher.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingTimeWindowMeanEnricher.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingTimeWindowMeanEnricher.java index ae6d637..887ff32 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingTimeWindowMeanEnricher.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/RollingTimeWindowMeanEnricher.java @@ -129,7 +129,7 @@ public class RollingTimeWindowMeanEnricher<T extends Number> extends AbstractTyp // by default require a high value // TODO would be nice to include timestamp, etc - entity.setAttribute((AttributeSensor<Double>)target, average.value); + entity.sensors().set((AttributeSensor<Double>)target, average.value); } } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeFractionDeltaEnricher.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeFractionDeltaEnricher.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeFractionDeltaEnricher.java index 3906b7b..b9424c1 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeFractionDeltaEnricher.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeFractionDeltaEnricher.java @@ -94,7 +94,7 @@ public class TimeFractionDeltaEnricher<T extends Number> extends AbstractTypeTra } else { long duration = eventTimestamp - lastTimestamp; double fraction = toNanos(current.doubleValue() - lastValue.doubleValue(), nanosPerOrigUnit) / TimeUnit.MILLISECONDS.toNanos(duration); - entity.setAttribute((AttributeSensor<Double>)target, fraction); + entity.sensors().set((AttributeSensor<Double>)target, fraction); if (LOG.isTraceEnabled()) LOG.trace("set {} to {}, {} -> {} at {} (previous at {})", new Object[] {this, fraction, lastValue, current, eventTimestamp, lastTimestamp}); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeWeightedDeltaEnricher.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeWeightedDeltaEnricher.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeWeightedDeltaEnricher.java index 7eb4460..4a3c7fa 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeWeightedDeltaEnricher.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/TimeWeightedDeltaEnricher.java @@ -103,7 +103,7 @@ public class TimeWeightedDeltaEnricher<T extends Number> extends AbstractTypeTra // don't assume current=zero because then things like requestCount->requestsPerSecond is negative! // instead assume same as last time, so delta == 0 double deltaPostProcessed = postProcessor.apply(0d); - entity.setAttribute((AttributeSensor<Double>)target, deltaPostProcessed); + entity.sensors().set((AttributeSensor<Double>)target, deltaPostProcessed); if (LOG.isTraceEnabled()) LOG.trace("set {} to {}, {} -> {} at {}", new Object[] {this, deltaPostProcessed, lastValue, current, eventTime}); return; } @@ -117,7 +117,7 @@ public class TimeWeightedDeltaEnricher<T extends Number> extends AbstractTypeTra if (eventTime == lastTime) duration = 0.1; // 0.1 of a millisecond is a relatively small number: double delta = (current.doubleValue() - lastValue.doubleValue()) / (duration / unitMillis); double deltaPostProcessed = postProcessor.apply(delta); - entity.setAttribute((AttributeSensor<Double>)target, deltaPostProcessed); + entity.sensors().set((AttributeSensor<Double>)target, deltaPostProcessed); if (LOG.isTraceEnabled()) LOG.trace("set {} to {}, {} -> {} at {}", new Object[] {this, deltaPostProcessed, lastValue, current, eventTime}); } lastValue = current; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPolicy.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPolicy.java b/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPolicy.java index 05f8800..3062c17 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPolicy.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPolicy.java @@ -145,11 +145,11 @@ public class FollowTheSunPolicy extends AbstractPolicy { this.poolEntity = (FollowTheSunPool) entity; // Detect when containers are added to or removed from the pool. - subscribe(poolEntity, FollowTheSunPool.CONTAINER_ADDED, eventHandler); - subscribe(poolEntity, FollowTheSunPool.CONTAINER_REMOVED, eventHandler); - subscribe(poolEntity, FollowTheSunPool.ITEM_ADDED, eventHandler); - subscribe(poolEntity, FollowTheSunPool.ITEM_REMOVED, eventHandler); - subscribe(poolEntity, FollowTheSunPool.ITEM_MOVED, eventHandler); + subscriptions().subscribe(poolEntity, FollowTheSunPool.CONTAINER_ADDED, eventHandler); + subscriptions().subscribe(poolEntity, FollowTheSunPool.CONTAINER_REMOVED, eventHandler); + subscriptions().subscribe(poolEntity, FollowTheSunPool.ITEM_ADDED, eventHandler); + subscriptions().subscribe(poolEntity, FollowTheSunPool.ITEM_REMOVED, eventHandler); + subscriptions().subscribe(poolEntity, FollowTheSunPool.ITEM_MOVED, eventHandler); // Take heed of any extant containers. for (Entity container : poolEntity.getContainerGroup().getMembers()) { @@ -212,7 +212,7 @@ public class FollowTheSunPolicy extends AbstractPolicy { } private void onContainerAdded(Entity container, boolean rebalanceNow) { - subscribe(container, Attributes.LOCATION_CHANGED, eventHandler); + subscriptions().subscribe(container, Attributes.LOCATION_CHANGED, eventHandler); Location location = locationFinder.apply(container); if (LOG.isTraceEnabled()) LOG.trace("{} recording addition of container {} in location {}", new Object[] {this, container, location}); @@ -232,7 +232,7 @@ public class FollowTheSunPolicy extends AbstractPolicy { if (LOG.isTraceEnabled()) LOG.trace("{} recording addition of item {} in container {}", new Object[] {this, item, parentContainer}); - subscribe(item, itemUsageMetric, eventHandler); + subscriptions().subscribe(item, itemUsageMetric, eventHandler); // Update the model, including the current metric value (if any). Map<? extends Movable, Double> currentValue = item.getAttribute(itemUsageMetric); @@ -248,7 +248,7 @@ public class FollowTheSunPolicy extends AbstractPolicy { private void onItemRemoved(Movable item, boolean rebalanceNow) { if (LOG.isTraceEnabled()) LOG.trace("{} recording removal of item {}", this, item); - unsubscribe(item); + subscriptions().unsubscribe(item); model.onItemRemoved(item); if (rebalanceNow) scheduleLatencyReductionJig(); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPoolImpl.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPoolImpl.java b/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPoolImpl.java index 64fd856..72c861b 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPoolImpl.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/followthesun/FollowTheSunPoolImpl.java @@ -56,7 +56,7 @@ public class FollowTheSunPoolImpl extends AbstractEntity implements FollowTheSun if (LOG.isTraceEnabled()) LOG.trace("{} received event {}", FollowTheSunPoolImpl.this, event); Entity source = event.getSource(); Object value = event.getValue(); - Sensor sensor = event.getSensor(); + Sensor<?> sensor = event.getSensor(); if (sensor.equals(AbstractGroup.MEMBER_ADDED)) { if (source.equals(containerGroup)) { @@ -96,10 +96,10 @@ public class FollowTheSunPoolImpl extends AbstractEntity implements FollowTheSun public void setContents(Group containerGroup, Group itemGroup) { this.containerGroup = containerGroup; this.itemGroup = itemGroup; - subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); - subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); - subscribe(itemGroup, AbstractGroup.MEMBER_ADDED, eventHandler); - subscribe(itemGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); + subscriptions().subscribe(itemGroup, AbstractGroup.MEMBER_ADDED, eventHandler); + subscriptions().subscribe(itemGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); // Process extant containers and items for (Entity existingContainer : containerGroup.getMembers()) { @@ -134,7 +134,7 @@ public class FollowTheSunPoolImpl extends AbstractEntity implements FollowTheSun private void onContainerAdded(Entity newContainer) { - subscribe(newContainer, Startable.SERVICE_UP, eventHandler); + subscriptions().subscribe(newContainer, Startable.SERVICE_UP, eventHandler); if (!(newContainer instanceof Startable) || Boolean.TRUE.equals(newContainer.getAttribute(Startable.SERVICE_UP))) { onContainerUp(newContainer); } @@ -142,36 +142,36 @@ public class FollowTheSunPoolImpl extends AbstractEntity implements FollowTheSun private void onContainerUp(Entity newContainer) { if (containers.add(newContainer)) { - emit(CONTAINER_ADDED, newContainer); + sensors().emit(CONTAINER_ADDED, newContainer); } } private void onContainerDown(Entity oldContainer) { if (containers.remove(oldContainer)) { - emit(CONTAINER_REMOVED, oldContainer); + sensors().emit(CONTAINER_REMOVED, oldContainer); } } private void onContainerRemoved(Entity oldContainer) { - unsubscribe(oldContainer); + subscriptions().unsubscribe(oldContainer); onContainerDown(oldContainer); } private void onItemAdded(Entity item) { if (items.add(item)) { - subscribe(item, Movable.CONTAINER, eventHandler); - emit(ITEM_ADDED, item); + subscriptions().subscribe(item, Movable.CONTAINER, eventHandler); + sensors().emit(ITEM_ADDED, item); } } private void onItemRemoved(Entity item) { if (items.remove(item)) { - unsubscribe(item); - emit(ITEM_REMOVED, item); + subscriptions().unsubscribe(item); + sensors().emit(ITEM_REMOVED, item); } } private void onItemMoved(Entity item, Entity container) { - emit(ITEM_MOVED, new ContainerItemPair(container, item)); + sensors().emit(ITEM_MOVED, new ContainerItemPair(container, item)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/ha/AbstractFailureDetector.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/ha/AbstractFailureDetector.java b/policy/src/main/java/org/apache/brooklyn/policy/ha/AbstractFailureDetector.java index 2dddc8f..d625a4f 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/ha/AbstractFailureDetector.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/ha/AbstractFailureDetector.java @@ -305,7 +305,7 @@ public abstract class AbstractFailureDetector extends AbstractPolicy { if (currentRecoveryPeriod > serviceRecoveredStabilizationDelay && sinceLastDownPeriod > serviceRecoveredStabilizationDelay) { String description = getDescription(calculatedStatus); LOG.warn("{} check for {}, publishing recovered: {}", new Object[] {this, entity, description}); - entity.emit(getSensorRecovered(), new HASensors.FailureDescriptor(entity, description)); + entity.sensors().emit(getSensorRecovered(), new HASensors.FailureDescriptor(entity, description)); lastPublished = LastPublished.RECOVERED; currentFailureStartTime = null; } else { @@ -321,7 +321,7 @@ public abstract class AbstractFailureDetector extends AbstractPolicy { if (currentFailurePeriod > serviceFailedStabilizationDelay && sinceLastUpPeriod > serviceFailedStabilizationDelay) { String description = getDescription(calculatedStatus); LOG.warn("{} connectivity-check for {}, publishing failed: {}", new Object[] {this, entity, description}); - entity.emit(getSensorFailed(), new HASensors.FailureDescriptor(entity, description)); + entity.sensors().emit(getSensorFailed(), new HASensors.FailureDescriptor(entity, description)); lastPublished = LastPublished.FAILED; currentRecoveryStartTime = null; } else { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/ha/ConditionalSuspendPolicy.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/ha/ConditionalSuspendPolicy.java b/policy/src/main/java/org/apache/brooklyn/policy/ha/ConditionalSuspendPolicy.java index d2a2e36..8237a01 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/ha/ConditionalSuspendPolicy.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/ha/ConditionalSuspendPolicy.java @@ -61,7 +61,7 @@ public class ConditionalSuspendPolicy extends AbstractPolicy { } private void subscribe() { - subscribe(entity, getConfig(SUSPEND_SENSOR), new SensorEventListener<Object>() { + subscriptions().subscribe(entity, getConfig(SUSPEND_SENSOR), new SensorEventListener<Object>() { @Override public void onEvent(final SensorEvent<Object> event) { if (isRunning()) { Policy target = getTargetPolicy(); @@ -71,7 +71,7 @@ public class ConditionalSuspendPolicy extends AbstractPolicy { } }); - subscribe(entity, getConfig(RESUME_SENSOR), new SensorEventListener<Object>() { + subscriptions().subscribe(entity, getConfig(RESUME_SENSOR), new SensorEventListener<Object>() { @Override public void onEvent(final SensorEvent<Object> event) { if (isRunning()) { Policy target = getTargetPolicy(); @@ -87,7 +87,7 @@ public class ConditionalSuspendPolicy extends AbstractPolicy { if (target instanceof Policy) { return (Policy)target; } else if (target instanceof String) { - for (Policy policy : entity.getPolicies()) { + for (Policy policy : entity.policies()) { // No way to set config values for keys NOT declared in the policy, // so must use displayName as a generally available config value. if (target.equals(policy.getDisplayName()) || target.equals(policy.getClass().getName())) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceFailureDetector.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceFailureDetector.java b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceFailureDetector.java index 195886d..6781fcc 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceFailureDetector.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceFailureDetector.java @@ -228,7 +228,7 @@ public class ServiceFailureDetector extends ServiceStateLogic.ComputeServiceStat recomputeIn = Math.min(recomputeIn, republishDelay.toMilliseconds()); } lastPublished = LastPublished.FAILED; - entity.emit(HASensors.ENTITY_FAILED, new HASensors.FailureDescriptor(entity, getFailureDescription(now))); + entity.sensors().emit(HASensors.ENTITY_FAILED, new HASensors.FailureDescriptor(entity, getFailureDescription(now))); } else { recomputeIn = Math.min(recomputeIn, delayBeforeCheck); } @@ -239,7 +239,7 @@ public class ServiceFailureDetector extends ServiceStateLogic.ComputeServiceStat new Object[] {this, state, Time.makeDateString(currentRecoveryStartTime), Time.makeDateString(now)}); publishEntityRecoveredTime = null; lastPublished = LastPublished.RECOVERED; - entity.emit(HASensors.ENTITY_RECOVERED, new HASensors.FailureDescriptor(entity, null)); + entity.sensors().emit(HASensors.ENTITY_RECOVERED, new HASensors.FailureDescriptor(entity, null)); } else { recomputeIn = Math.min(recomputeIn, delayBeforeCheck); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceReplacer.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceReplacer.java b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceReplacer.java index 5d66b85..ade0899 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceReplacer.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceReplacer.java @@ -120,7 +120,7 @@ public class ServiceReplacer extends AbstractPolicy { super.setEntity(entity); - subscribeToMembers((Group)entity, failureSensorToMonitor, new SensorEventListener<Object>() { + subscriptions().subscribeToMembers((Group)entity, failureSensorToMonitor, new SensorEventListener<Object>() { @Override public void onEvent(final SensorEvent<Object> event) { // Must execute in another thread - if we called entity.replaceMember in the event-listener's thread // then we'd block all other events being delivered to this entity's other subscribers. @@ -208,6 +208,6 @@ public class ServiceReplacer extends AbstractPolicy { if (getConfig(SET_ON_FIRE_ON_FAILURE)) { ServiceProblemsLogic.updateProblemsIndicator(entity, "ServiceReplacer", "replacement failed: "+msg); } - entity.emit(ENTITY_REPLACEMENT_FAILED, new FailureDescriptor(entity, msg)); + entity.sensors().emit(ENTITY_REPLACEMENT_FAILED, new FailureDescriptor(entity, msg)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceRestarter.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceRestarter.java b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceRestarter.java index 3d5f84d..4df27e7 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceRestarter.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/ha/ServiceRestarter.java @@ -103,7 +103,7 @@ public class ServiceRestarter extends AbstractPolicy { super.setEntity(entity); - subscribe(entity, getConfig(FAILURE_SENSOR_TO_MONITOR), new SensorEventListener<Object>() { + subscriptions().subscribe(entity, getConfig(FAILURE_SENSOR_TO_MONITOR), new SensorEventListener<Object>() { @Override public void onEvent(final SensorEvent<Object> event) { // Must execute in another thread - if we called entity.restart in the event-listener's thread // then we'd block all other events being delivered to this entity's other subscribers. @@ -157,6 +157,6 @@ public class ServiceRestarter extends AbstractPolicy { if (getConfig(SET_ON_FIRE_ON_FAILURE)) { ServiceStateLogic.setExpectedState(entity, Lifecycle.ON_FIRE); } - entity.emit(ENTITY_RESTART_FAILED, new FailureDescriptor(entity, msg)); + entity.sensors().emit(ENTITY_RESTART_FAILED, new FailureDescriptor(entity, msg)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/BalanceableWorkerPoolImpl.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/BalanceableWorkerPoolImpl.java b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/BalanceableWorkerPoolImpl.java index 3d42c3e..6b76377 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/BalanceableWorkerPoolImpl.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/BalanceableWorkerPoolImpl.java @@ -104,10 +104,10 @@ public class BalanceableWorkerPoolImpl extends AbstractEntity implements Balance this.itemGroup = itemGroup; if (resizable == null && containerGroup instanceof Resizable) resizable = (Resizable) containerGroup; - subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); - subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); - subscribe(itemGroup, AbstractGroup.MEMBER_ADDED, eventHandler); - subscribe(itemGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); + subscriptions().subscribe(itemGroup, AbstractGroup.MEMBER_ADDED, eventHandler); + subscriptions().subscribe(itemGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); // Process extant containers and items for (Entity existingContainer : containerGroup.getMembers()) { @@ -141,7 +141,7 @@ public class BalanceableWorkerPoolImpl extends AbstractEntity implements Balance } private void onContainerAdded(BalanceableContainer<?> newContainer) { - subscribe(newContainer, Startable.SERVICE_UP, eventHandler); + subscriptions().subscribe(newContainer, Startable.SERVICE_UP, eventHandler); if (!(newContainer instanceof Startable) || Boolean.TRUE.equals(newContainer.getAttribute(Startable.SERVICE_UP))) { onContainerUp(newContainer); } @@ -149,36 +149,36 @@ public class BalanceableWorkerPoolImpl extends AbstractEntity implements Balance private void onContainerUp(BalanceableContainer<?> newContainer) { if (containers.add(newContainer)) { - emit(CONTAINER_ADDED, newContainer); + sensors().emit(CONTAINER_ADDED, newContainer); } } private void onContainerDown(BalanceableContainer<?> oldContainer) { if (containers.remove(oldContainer)) { - emit(CONTAINER_REMOVED, oldContainer); + sensors().emit(CONTAINER_REMOVED, oldContainer); } } private void onContainerRemoved(BalanceableContainer<?> oldContainer) { - unsubscribe(oldContainer); + subscriptions().unsubscribe(oldContainer); onContainerDown(oldContainer); } private void onItemAdded(Entity item) { if (items.add(item)) { - subscribe(item, Movable.CONTAINER, eventHandler); - emit(ITEM_ADDED, new ContainerItemPair(item.getAttribute(Movable.CONTAINER), item)); + subscriptions().subscribe(item, Movable.CONTAINER, eventHandler); + sensors().emit(ITEM_ADDED, new ContainerItemPair(item.getAttribute(Movable.CONTAINER), item)); } } private void onItemRemoved(Entity item) { if (items.remove(item)) { - unsubscribe(item); - emit(ITEM_REMOVED, new ContainerItemPair(null, item)); + subscriptions().unsubscribe(item); + sensors().emit(ITEM_REMOVED, new ContainerItemPair(null, item)); } } private void onItemMoved(Entity item, BalanceableContainer<?> container) { - emit(ITEM_MOVED, new ContainerItemPair(container, item)); + sensors().emit(ITEM_MOVED, new ContainerItemPair(container, item)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/ItemsInContainersGroupImpl.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/ItemsInContainersGroupImpl.java b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/ItemsInContainersGroupImpl.java index b6c7271..35f0c8d 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/ItemsInContainersGroupImpl.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/ItemsInContainersGroupImpl.java @@ -99,9 +99,9 @@ public class ItemsInContainersGroupImpl extends DynamicGroupImpl implements Item @Override public void setContainers(Group containerGroup) { this.containerGroup = containerGroup; - subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); - subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); - subscribe(null, Movable.CONTAINER, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_ADDED, eventHandler); + subscriptions().subscribe(containerGroup, AbstractGroup.MEMBER_REMOVED, eventHandler); + subscriptions().subscribe(null, Movable.CONTAINER, eventHandler); if (LOG.isTraceEnabled()) LOG.trace("{} scanning entities on container group set", this); rescanEntities(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicy.java ---------------------------------------------------------------------- diff --git a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicy.java b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicy.java index d714557..d4baf63 100644 --- a/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicy.java +++ b/policy/src/main/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicy.java @@ -151,11 +151,11 @@ public class LoadBalancingPolicy<NodeType extends Entity, ItemType extends Movab this.poolEntity = (BalanceableWorkerPool) entity; // Detect when containers are added to or removed from the pool. - subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_ADDED, eventHandler); - subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_REMOVED, eventHandler); - subscribe(poolEntity, BalanceableWorkerPool.ITEM_ADDED, eventHandler); - subscribe(poolEntity, BalanceableWorkerPool.ITEM_REMOVED, eventHandler); - subscribe(poolEntity, BalanceableWorkerPool.ITEM_MOVED, eventHandler); + subscriptions().subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_ADDED, eventHandler); + subscriptions().subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_REMOVED, eventHandler); + subscriptions().subscribe(poolEntity, BalanceableWorkerPool.ITEM_ADDED, eventHandler); + subscriptions().subscribe(poolEntity, BalanceableWorkerPool.ITEM_REMOVED, eventHandler); + subscriptions().subscribe(poolEntity, BalanceableWorkerPool.ITEM_MOVED, eventHandler); // Take heed of any extant containers. for (Entity container : poolEntity.getContainerGroup().getMembers()) { @@ -214,7 +214,7 @@ public class LoadBalancingPolicy<NodeType extends Entity, ItemType extends Movab AutoScalerPolicy.POOL_LOW_THRESHOLD_KEY, model.getPoolLowThreshold(), AutoScalerPolicy.POOL_HIGH_THRESHOLD_KEY, model.getPoolHighThreshold()); - ((EntityLocal)poolEntity).emit(AutoScalerPolicy.DEFAULT_POOL_COLD_SENSOR, eventVal); + poolEntity.sensors().emit(AutoScalerPolicy.DEFAULT_POOL_COLD_SENSOR, eventVal); if (LOG.isInfoEnabled()) { int desiredPoolSize = (int) Math.ceil(model.getCurrentPoolWorkrate() / (model.getPoolLowThreshold()/model.getPoolSize())); @@ -232,7 +232,7 @@ public class LoadBalancingPolicy<NodeType extends Entity, ItemType extends Movab AutoScalerPolicy.POOL_LOW_THRESHOLD_KEY, model.getPoolLowThreshold(), AutoScalerPolicy.POOL_HIGH_THRESHOLD_KEY, model.getPoolHighThreshold()); - ((EntityLocal)poolEntity).emit(AutoScalerPolicy.DEFAULT_POOL_HOT_SENSOR, eventVal); + poolEntity.sensors().emit(AutoScalerPolicy.DEFAULT_POOL_HOT_SENSOR, eventVal); if (LOG.isInfoEnabled()) { int desiredPoolSize = (int) Math.ceil(model.getCurrentPoolWorkrate() / (model.getPoolHighThreshold()/model.getPoolSize())); @@ -303,7 +303,7 @@ public class LoadBalancingPolicy<NodeType extends Entity, ItemType extends Movab Preconditions.checkArgument(item instanceof Movable, "Added item "+item+" must implement Movable"); if (LOG.isTraceEnabled()) LOG.trace("{} recording addition of item {} in container {}", new Object[] {this, item, parentContainer}); - subscribe(item, metric, eventHandler); + subscriptions().subscribe(item, metric, eventHandler); // Update the model, including the current metric value (if any). boolean immovable = (Boolean)elvis(item.getConfig(Movable.IMMOVABLE), false); @@ -317,7 +317,7 @@ public class LoadBalancingPolicy<NodeType extends Entity, ItemType extends Movab private void onItemRemoved(ItemType item, NodeType parentContainer, boolean rebalanceNow) { if (LOG.isTraceEnabled()) LOG.trace("{} recording removal of item {}", this, item); - unsubscribe(item); + subscriptions().unsubscribe(item); model.onItemRemoved(item); if (rebalanceNow) scheduleRebalance(); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java b/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java index f9c2961..e04f714 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java @@ -69,12 +69,12 @@ public class AutoScalerPolicyMetricTest { tc.resize(1); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); - tc.setAttribute(MY_ATTRIBUTE, 100); + tc.sensors().set(MY_ATTRIBUTE, 100); Asserts.succeedsContinually(ImmutableMap.of("timeout", SHORT_WAIT_MS), currentSizeAsserter(tc, 1)); - tc.setAttribute(MY_ATTRIBUTE, 101); + tc.sensors().set(MY_ATTRIBUTE, 101); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 2)); } @@ -83,12 +83,12 @@ public class AutoScalerPolicyMetricTest { tc.resize(2); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); - tc.setAttribute(MY_ATTRIBUTE, 50); + tc.sensors().set(MY_ATTRIBUTE, 50); Asserts.succeedsContinually(ImmutableMap.of("timeout", SHORT_WAIT_MS), currentSizeAsserter(tc, 2)); - tc.setAttribute(MY_ATTRIBUTE, 49); + tc.sensors().set(MY_ATTRIBUTE, 49); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 1)); } @@ -97,14 +97,14 @@ public class AutoScalerPolicyMetricTest { tc.resize(5); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); // workload 200 so requires doubling size to 10 to handle: (200*5)/100 = 10 - tc.setAttribute(MY_ATTRIBUTE, 200); + tc.sensors().set(MY_ATTRIBUTE, 200); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 10)); // workload 5, requires 1 entity: (10*110)/100 = 11 - tc.setAttribute(MY_ATTRIBUTE, 110); + tc.sensors().set(MY_ATTRIBUTE, 110); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 11)); } @@ -113,17 +113,17 @@ public class AutoScalerPolicyMetricTest { tc.resize(5); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); // workload can be handled by 4 servers, within its valid range: (49*5)/50 = 4.9 - tc.setAttribute(MY_ATTRIBUTE, 49); + tc.sensors().set(MY_ATTRIBUTE, 49); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 4)); // workload can be handled by 4 servers, within its valid range: (25*4)/50 = 2 - tc.setAttribute(MY_ATTRIBUTE, 25); + tc.sensors().set(MY_ATTRIBUTE, 25); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 2)); - tc.setAttribute(MY_ATTRIBUTE, 0); + tc.sensors().set(MY_ATTRIBUTE, 0); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 1)); } @@ -135,14 +135,14 @@ public class AutoScalerPolicyMetricTest { .metricLowerBound(50).metricUpperBound(100) .minPoolSize(2).maxPoolSize(6) .build(); - tc.addPolicy(policy); + tc.policies().add(policy); // Decreases to min-size only - tc.setAttribute(MY_ATTRIBUTE, 0); + tc.sensors().set(MY_ATTRIBUTE, 0); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 2)); // Increases to max-size only - tc.setAttribute(MY_ATTRIBUTE, 100000); + tc.sensors().set(MY_ATTRIBUTE, 100000); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 6)); } @@ -153,7 +153,7 @@ public class AutoScalerPolicyMetricTest { BasicNotificationSensor<MaxPoolSizeReachedEvent> maxSizeReachedSensor = AutoScalerPolicy.DEFAULT_MAX_SIZE_REACHED_SENSOR; - app.subscribe(tc, maxSizeReachedSensor, new SensorEventListener<MaxPoolSizeReachedEvent>() { + app.subscriptions().subscribe(tc, maxSizeReachedSensor, new SensorEventListener<MaxPoolSizeReachedEvent>() { @Override public void onEvent(SensorEvent<MaxPoolSizeReachedEvent> event) { maxReachedEvents.add(event.getValue()); }}); @@ -163,15 +163,15 @@ public class AutoScalerPolicyMetricTest { .maxPoolSize(6) .maxSizeReachedSensor(maxSizeReachedSensor) .build(); - tc.addPolicy(policy); + tc.policies().add(policy); // workload can be handled by 6 servers, so no need to notify: 6 <= (100*6)/50 - tc.setAttribute(MY_ATTRIBUTE, 600); + tc.sensors().set(MY_ATTRIBUTE, 600); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 6)); assertTrue(maxReachedEvents.isEmpty()); // Increases to above max capacity: would require (100000*6)/100 = 6000 - tc.setAttribute(MY_ATTRIBUTE, 100000); + tc.sensors().set(MY_ATTRIBUTE, 100000); // Assert our listener gets notified (once) Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), new Runnable() { @@ -195,13 +195,13 @@ public class AutoScalerPolicyMetricTest { tc.resize(1); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); policy.destroy(); assertTrue(policy.isDestroyed()); assertFalse(policy.isRunning()); - tc.setAttribute(MY_ATTRIBUTE, 100000); + tc.sensors().set(MY_ATTRIBUTE, 100000); Asserts.succeedsContinually(ImmutableMap.of("timeout", SHORT_WAIT_MS), currentSizeAsserter(tc, 1)); // TODO Could assert all subscriptions have been de-registered as well, @@ -211,7 +211,7 @@ public class AutoScalerPolicyMetricTest { @Test public void testSuspendState() { AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); policy.suspend(); assertFalse(policy.isRunning()); @@ -227,11 +227,11 @@ public class AutoScalerPolicyMetricTest { tc.resize(1); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); policy.suspend(); - tc.setAttribute(MY_ATTRIBUTE, 100000); + tc.sensors().set(MY_ATTRIBUTE, 100000); Asserts.succeedsContinually(ImmutableMap.of("timeout", SHORT_WAIT_MS), currentSizeAsserter(tc, 1)); } @@ -240,11 +240,11 @@ public class AutoScalerPolicyMetricTest { tc.resize(1); AutoScalerPolicy policy = new AutoScalerPolicy.Builder().metric(MY_ATTRIBUTE).metricLowerBound(50).metricUpperBound(100).build(); - tc.addPolicy(policy); + tc.policies().add(policy); policy.suspend(); policy.resume(); - tc.setAttribute(MY_ATTRIBUTE, 101); + tc.sensors().set(MY_ATTRIBUTE, 101); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 2)); } @@ -260,14 +260,14 @@ public class AutoScalerPolicyMetricTest { .metricLowerBound(50) .metricUpperBound(100) .build(); - tc.addPolicy(policy); + tc.policies().add(policy); // First confirm that tc is not being listened to for this entity - tc.setAttribute(TestEntity.SEQUENCE, 101); + tc.sensors().set(TestEntity.SEQUENCE, 101); Asserts.succeedsContinually(ImmutableMap.of("timeout", SHORT_WAIT_MS), currentSizeAsserter(tc, 1)); // Then confirm we listen to the correct "entityWithMetric" - entityWithMetric.setAttribute(TestEntity.SEQUENCE, 101); + entityWithMetric.sensors().set(TestEntity.SEQUENCE, 101); Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), currentSizeAsserter(tc, 2)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java b/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java index a0b7451..b1fbc61 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/autoscaling/AutoScalerPolicyRebindTest.java @@ -68,7 +68,7 @@ public class AutoScalerPolicyRebindTest extends RebindTestFixtureWithApp { @Test public void testRestoresAutoScalerConfig() throws Exception { - origCluster.addPolicy(AutoScalerPolicy.builder() + origCluster.policies().add(AutoScalerPolicy.builder() .name("myname") .metric(METRIC_SENSOR) .entityWithMetric(origCluster) @@ -88,7 +88,7 @@ public class AutoScalerPolicyRebindTest extends RebindTestFixtureWithApp { TestApplication newApp = rebind(); DynamicCluster newCluster = (DynamicCluster) Iterables.getOnlyElement(newApp.getChildren()); - AutoScalerPolicy newPolicy = (AutoScalerPolicy) Iterables.getOnlyElement(newCluster.getPolicies()); + AutoScalerPolicy newPolicy = (AutoScalerPolicy) Iterables.getOnlyElement(newCluster.policies()); assertEquals(newPolicy.getDisplayName(), "myname"); assertEquals(newPolicy.getConfig(AutoScalerPolicy.METRIC), METRIC_SENSOR); @@ -110,7 +110,7 @@ public class AutoScalerPolicyRebindTest extends RebindTestFixtureWithApp { @Test public void testAutoScalerResizesAfterRebind() throws Exception { origCluster.start(ImmutableList.of(origLoc)); - origCluster.addPolicy(AutoScalerPolicy.builder() + origCluster.policies().add(AutoScalerPolicy.builder() .name("myname") .metric(METRIC_SENSOR) .entityWithMetric(origCluster) @@ -125,10 +125,10 @@ public class AutoScalerPolicyRebindTest extends RebindTestFixtureWithApp { assertEquals(newCluster.getCurrentSize(), (Integer)1); - ((EntityInternal)newCluster).setAttribute(METRIC_SENSOR, 1000); + ((EntityInternal)newCluster).sensors().set(METRIC_SENSOR, 1000); EntityTestUtils.assertGroupSizeEqualsEventually(newCluster, 3); - ((EntityInternal)newCluster).setAttribute(METRIC_SENSOR, 1); + ((EntityInternal)newCluster).sensors().set(METRIC_SENSOR, 1); EntityTestUtils.assertGroupSizeEqualsEventually(newCluster, 1); } }
