http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceFailureDetectorTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceFailureDetectorTest.java b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceFailureDetectorTest.java index a99f8a4..7e4a83a 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceFailureDetectorTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceFailureDetectorTest.java @@ -80,7 +80,7 @@ public class ServiceFailureDetectorTest { managementContext = new LocalManagementContextForTests(); app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); e1 = app.createAndManageChild(EntitySpec.create(TestEntity.class)); - e1.addEnricher(ServiceStateLogic.newEnricherForServiceStateFromProblemsAndUp()); + e1.enrichers().add(ServiceStateLogic.newEnricherForServiceStateFromProblemsAndUp()); app.getManagementContext().getSubscriptionManager().subscribe(e1, HASensors.ENTITY_FAILED, eventListener); app.getManagementContext().getSubscriptionManager().subscribe(e1, HASensors.ENTITY_RECOVERED, eventListener); @@ -94,10 +94,10 @@ public class ServiceFailureDetectorTest { @Test(groups="Integration") // Has a 1 second wait public void testNotNotifiedOfFailuresForHealthy() throws Exception { // Create members before and after the policy is registered, to test both scenarios - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); assertNoEventsContinually(); assertEquals(e1.getAttribute(TestEntity.SERVICE_STATE_ACTUAL), Lifecycle.RUNNING); @@ -105,14 +105,14 @@ public class ServiceFailureDetectorTest { @Test public void testNotifiedOfFailure() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); assertEquals(events.size(), 0, "events="+events); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertHasEventEventually(HASensors.ENTITY_FAILED, Predicates.<Object>equalTo(e1), null); assertEquals(events.size(), 1, "events="+events); @@ -121,9 +121,9 @@ public class ServiceFailureDetectorTest { @Test public void testNotifiedOfFailureOnProblem() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); assertEquals(events.size(), 0, "events="+events); @@ -137,8 +137,8 @@ public class ServiceFailureDetectorTest { @Test public void testNotifiedOfFailureOnStateOnFire() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.ON_FIRE); assertHasEventEventually(HASensors.ENTITY_FAILED, Predicates.<Object>equalTo(e1), null); @@ -148,18 +148,18 @@ public class ServiceFailureDetectorTest { @Test public void testNotifiedOfRecovery() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); // Make the entity fail - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertHasEventEventually(HASensors.ENTITY_FAILED, Predicates.<Object>equalTo(e1), null); EntityTestUtils.assertAttributeEqualsEventually(e1, TestEntity.SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE); // And make the entity recover - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); assertHasEventEventually(HASensors.ENTITY_RECOVERED, Predicates.<Object>equalTo(e1), null); assertEquals(events.size(), 2, "events="+events); EntityTestUtils.assertAttributeEqualsEventually(e1, TestEntity.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING); @@ -167,9 +167,9 @@ public class ServiceFailureDetectorTest { @Test public void testNotifiedOfRecoveryFromProblems() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); // Make the entity fail ServiceProblemsLogic.updateProblemsIndicator(e1, "test", "foo"); @@ -187,10 +187,10 @@ public class ServiceFailureDetectorTest { @Test(groups="Integration") // Has a 1 second wait public void testEmitsEntityFailureOnlyIfPreviouslyUp() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); // Make the entity fail - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, TestEntity.SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE); @@ -199,10 +199,10 @@ public class ServiceFailureDetectorTest { @Test public void testDisablingPreviouslyUpRequirementForEntityFailed() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.ENTITY_FAILED_ONLY_IF_PREVIOUSLY_UP, false)); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, TestEntity.SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE); @@ -211,29 +211,29 @@ public class ServiceFailureDetectorTest { @Test public void testDisablingOnFire() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.SERVICE_ON_FIRE_STABILIZATION_DELAY, Duration.PRACTICALLY_FOREVER)); // Make the entity fail - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertEquals(e1.getAttribute(TestEntity.SERVICE_STATE_ACTUAL), Lifecycle.RUNNING); } @Test(groups="Integration") // Has a 1 second wait public void testOnFireAfterDelay() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.SERVICE_ON_FIRE_STABILIZATION_DELAY, Duration.ONE_SECOND)); // Make the entity fail - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertEquals(e1.getAttribute(TestEntity.SERVICE_STATE_ACTUAL), Lifecycle.RUNNING); Time.sleep(Duration.millis(100)); @@ -243,12 +243,12 @@ public class ServiceFailureDetectorTest { @Test(groups="Integration") // Has a 1 second wait public void testOnFailureDelayFromProblemAndRecover() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.SERVICE_ON_FIRE_STABILIZATION_DELAY, Duration.ONE_SECOND) .configure(ServiceFailureDetector.ENTITY_RECOVERED_STABILIZATION_DELAY, Duration.ONE_SECOND)); // Set the entity to healthy - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING); @@ -272,23 +272,23 @@ public class ServiceFailureDetectorTest { @Test(groups="Integration") // Has a 1 second wait public void testAttendsToServiceState() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); // not counted as failed because not expected to be running - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertNoEventsContinually(); } @Test(groups="Integration") // Has a 1 second wait public void testOnlyReportsFailureIfRunning() throws Exception { - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class)); + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class)); // Make the entity fail ServiceStateLogic.setExpectedState(e1, Lifecycle.STARTING); - e1.setAttribute(TestEntity.SERVICE_UP, true); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, false); assertNoEventsContinually(); } @@ -296,9 +296,9 @@ public class ServiceFailureDetectorTest { @Test public void testReportsFailureWhenAlreadyDownOnRegisteringPolicy() throws Exception { ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); - e1.setAttribute(TestEntity.SERVICE_UP, false); + e1.sensors().set(TestEntity.SERVICE_UP, false); - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.ENTITY_FAILED_ONLY_IF_PREVIOUSLY_UP, false)); assertHasEventEventually(HASensors.ENTITY_FAILED, Predicates.<Object>equalTo(e1), null); @@ -308,7 +308,7 @@ public class ServiceFailureDetectorTest { public void testReportsFailureWhenAlreadyOnFireOnRegisteringPolicy() throws Exception { ServiceStateLogic.setExpectedState(e1, Lifecycle.ON_FIRE); - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.ENTITY_FAILED_ONLY_IF_PREVIOUSLY_UP, false)); assertHasEventEventually(HASensors.ENTITY_FAILED, Predicates.<Object>equalTo(e1), null); @@ -318,11 +318,11 @@ public class ServiceFailureDetectorTest { public void testRepublishedFailure() throws Exception { Duration republishPeriod = Duration.millis(100); - e1.addEnricher(EnricherSpec.create(ServiceFailureDetector.class) + e1.enrichers().add(EnricherSpec.create(ServiceFailureDetector.class) .configure(ServiceFailureDetector.ENTITY_FAILED_REPUBLISH_TIME, republishPeriod)); // Set the entity to healthy - e1.setAttribute(TestEntity.SERVICE_UP, true); + e1.sensors().set(TestEntity.SERVICE_UP, true); ServiceStateLogic.setExpectedState(e1, Lifecycle.RUNNING); EntityTestUtils.assertAttributeEqualsEventually(e1, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java index ba08666..0801213 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java @@ -104,12 +104,12 @@ public class ServiceReplacerTest { app.start(ImmutableList.<Location>of(loc)); ServiceReplacer policy = new ServiceReplacer(new ConfigBag().configure(ServiceReplacer.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - cluster.addPolicy(policy); + cluster.policies().add(policy); final Set<Entity> initialMembers = ImmutableSet.copyOf(cluster.getMembers()); final TestEntity e1 = (TestEntity) Iterables.get(initialMembers, 1); - e1.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e1.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); // Expect e1 to be replaced Asserts.succeedsEventually(new Runnable() { @@ -132,7 +132,7 @@ public class ServiceReplacerTest { // fails the startup of the replacement entity (but not the original). @Test public void testSetsOnFireWhenFailToReplaceMember() throws Exception { - app.subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); + app.subscriptions().subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); final DynamicCluster cluster = app.createAndManageChild(EntitySpec.create(DynamicCluster.class) .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(FailingEntity.class) @@ -151,12 +151,12 @@ public class ServiceReplacerTest { log.info("started "+app+" for "+JavaClassNames.niceClassAndMethod()); ServiceReplacer policy = new ServiceReplacer(new ConfigBag().configure(ServiceReplacer.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - cluster.addPolicy(policy); + cluster.policies().add(policy); final Set<Entity> initialMembers = ImmutableSet.copyOf(cluster.getMembers()); final TestEntity e1 = (TestEntity) Iterables.get(initialMembers, 0); - e1.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e1.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); // Expect cluster to go on-fire when fails to start replacement // Note that we've set up-quorum and running-quorum to be "alwaysTrue" so that we don't get a transient onFire @@ -179,7 +179,7 @@ public class ServiceReplacerTest { @Test(groups="Integration") // has a 1 second wait public void testDoesNotOnFireWhenFailToReplaceMember() throws Exception { - app.subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); + app.subscriptions().subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); final DynamicCluster cluster = app.createAndManageChild(EntitySpec.create(DynamicCluster.class) .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(FailingEntity.class) @@ -191,12 +191,12 @@ public class ServiceReplacerTest { ServiceReplacer policy = new ServiceReplacer(new ConfigBag() .configure(ServiceReplacer.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED) .configure(ServiceReplacer.SET_ON_FIRE_ON_FAILURE, false)); - cluster.addPolicy(policy); + cluster.policies().add(policy); final Set<Entity> initialMembers = ImmutableSet.copyOf(cluster.getMembers()); final TestEntity e1 = (TestEntity) Iterables.get(initialMembers, 0); - e1.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e1.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); // Configured to not mark cluster as on fire Asserts.succeedsContinually(new Runnable() { @@ -210,7 +210,7 @@ public class ServiceReplacerTest { @Test(groups="Integration") // 1s wait public void testStopFailureOfOldEntityDoesNotSetClusterOnFire() throws Exception { - app.subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); + app.subscriptions().subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); final DynamicCluster cluster = app.createAndManageChild(EntitySpec.create(DynamicCluster.class) .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(FailingEntity.class) @@ -218,13 +218,13 @@ public class ServiceReplacerTest { .configure(DynamicCluster.INITIAL_SIZE, 2)); app.start(ImmutableList.<Location>of(loc)); - cluster.addPolicy(PolicySpec.create(ServiceReplacer.class) + cluster.policies().add(PolicySpec.create(ServiceReplacer.class) .configure(ServiceReplacer.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); final Set<Entity> initialMembers = ImmutableSet.copyOf(cluster.getMembers()); final TestEntity e1 = (TestEntity) Iterables.get(initialMembers, 0); - e1.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e1.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); // Expect e1 to be replaced Asserts.succeedsEventually(new Runnable() { @@ -268,7 +268,7 @@ public class ServiceReplacerTest { */ @Test(groups="Integration") // because takes 1.2 seconds public void testAbandonsReplacementAfterNumFailures() throws Exception { - app.subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); + app.subscriptions().subscribe(null, ServiceReplacer.ENTITY_REPLACEMENT_FAILED, eventListener); final DynamicCluster cluster = app.createAndManageChild(EntitySpec.create(DynamicCluster.class) .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(FailingEntity.class) @@ -280,13 +280,13 @@ public class ServiceReplacerTest { ServiceReplacer policy = new ServiceReplacer(new ConfigBag() .configure(ServiceReplacer.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED) .configure(ServiceReplacer.FAIL_ON_NUM_RECURRING_FAILURES, 3)); - cluster.addPolicy(policy); + cluster.policies().add(policy); final Set<Entity> initialMembers = ImmutableSet.copyOf(cluster.getMembers()); for (int i = 0; i < 5; i++) { final int counter = i+1; EntityInternal entity = (EntityInternal) Iterables.get(initialMembers, i); - entity.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(entity, "simulate failure")); + entity.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(entity, "simulate failure")); if (i <= 3) { Asserts.succeedsEventually(new Runnable() { @Override public void run() { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceRestarterTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceRestarterTest.java b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceRestarterTest.java index 11c87cb..b987ed5 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceRestarterTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceRestarterTest.java @@ -84,9 +84,9 @@ public class ServiceRestarterTest { @Test public void testRestartsOnFailure() throws Exception { policy = new ServiceRestarter(new ConfigBag().configure(ServiceRestarter.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - e1.addPolicy(policy); + e1.policies().add(policy); - e1.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e1.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); Asserts.succeedsEventually(new Runnable() { @Override public void run() { @@ -97,9 +97,9 @@ public class ServiceRestarterTest { @Test(groups="Integration") // Has a 1 second wait public void testDoesNotRestartsWhenHealthy() throws Exception { policy = new ServiceRestarter(new ConfigBag().configure(ServiceRestarter.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - e1.addPolicy(policy); + e1.policies().add(policy); - e1.emit(HASensors.ENTITY_RECOVERED, new FailureDescriptor(e1, "not a failure")); + e1.sensors().emit(HASensors.ENTITY_RECOVERED, new FailureDescriptor(e1, "not a failure")); Asserts.succeedsContinually(new Runnable() { @Override public void run() { @@ -111,12 +111,12 @@ public class ServiceRestarterTest { public void testEmitsFailureEventWhenRestarterFails() throws Exception { final FailingEntity e2 = app.createAndManageChild(EntitySpec.create(FailingEntity.class) .configure(FailingEntity.FAIL_ON_RESTART, true)); - app.subscribe(e2, ServiceRestarter.ENTITY_RESTART_FAILED, eventListener); + app.subscriptions().subscribe(e2, ServiceRestarter.ENTITY_RESTART_FAILED, eventListener); policy = new ServiceRestarter(new ConfigBag().configure(ServiceRestarter.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - e2.addPolicy(policy); + e2.policies().add(policy); - e2.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e2, "simulate failure")); + e2.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e2, "simulate failure")); Asserts.succeedsEventually(new Runnable() { @Override public void run() { @@ -132,14 +132,14 @@ public class ServiceRestarterTest { public void testDoesNotSetOnFireOnFailure() throws Exception { final FailingEntity e2 = app.createAndManageChild(EntitySpec.create(FailingEntity.class) .configure(FailingEntity.FAIL_ON_RESTART, true)); - app.subscribe(e2, ServiceRestarter.ENTITY_RESTART_FAILED, eventListener); + app.subscriptions().subscribe(e2, ServiceRestarter.ENTITY_RESTART_FAILED, eventListener); policy = new ServiceRestarter(new ConfigBag() .configure(ServiceRestarter.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED) .configure(ServiceRestarter.SET_ON_FIRE_ON_FAILURE, false)); - e2.addPolicy(policy); + e2.policies().add(policy); - e2.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e2, "simulate failure")); + e2.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e2, "simulate failure")); Asserts.succeedsContinually(new Runnable() { @Override public void run() { @@ -168,16 +168,16 @@ public class ServiceRestarterTest { return null; }})); - e2.addPolicy(PolicySpec.create(ServiceRestarter.class) + e2.policies().add(PolicySpec.create(ServiceRestarter.class) .configure(ServiceRestarter.FAILURE_SENSOR_TO_MONITOR, HASensors.ENTITY_FAILED)); - e2.subscribe(e2, TestEntity.SEQUENCE, eventListener); + e2.subscriptions().subscribe(e2, TestEntity.SEQUENCE, eventListener); // Cause failure, and wait for entity.restart to be blocking - e2.emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); + e2.sensors().emit(HASensors.ENTITY_FAILED, new FailureDescriptor(e1, "simulate failure")); assertTrue(inRestartLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)); // Expect other notifications to continue to get through - e2.setAttribute(TestEntity.SEQUENCE, 1); + e2.sensors().set(TestEntity.SEQUENCE, 1); Asserts.succeedsEventually(new Runnable() { @Override public void run() { assertEquals(Iterables.getOnlyElement(events).getValue(), 1); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java index eebf16e..f97cbf7 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/AbstractLoadBalancingPolicyTest.java @@ -27,7 +27,6 @@ import java.util.Random; import java.util.Set; import org.apache.brooklyn.api.entity.Entity; -import org.apache.brooklyn.api.entity.EntityLocal; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.entity.Group; import org.apache.brooklyn.api.sensor.AttributeSensor; @@ -99,7 +98,7 @@ public class AbstractLoadBalancingPolicyTest { pool = app.createAndManageChild(EntitySpec.create(BalanceableWorkerPool.class)); pool.setContents(containerGroup, itemGroup); policy = new LoadBalancingPolicy(MutableMap.of("minPeriodBetweenExecs", 1), TEST_METRIC, model); - pool.addPolicy(policy); + pool.policies().add(policy); app.start(ImmutableList.of(loc)); } @@ -214,7 +213,7 @@ public class AbstractLoadBalancingPolicyTest { .displayName(name)); LOG.debug("Managing new item {} on container {}", item, container); item.move(container); - ((EntityLocal)item).setAttribute(TEST_METRIC, (int)workrate); + item.sensors().set(TEST_METRIC, (int)workrate); return item; } @@ -224,7 +223,7 @@ public class AbstractLoadBalancingPolicyTest { .configure(Movable.IMMOVABLE, true)); LOG.debug("Managed new item {} on container {}", item, container); item.move(container); - ((EntityLocal)item).setAttribute(TEST_METRIC, (int)workrate); + item.sensors().set(TEST_METRIC, (int)workrate); return item; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyConcurrencyTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyConcurrencyTest.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyConcurrencyTest.java index d33ed90..f5b45ad 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyConcurrencyTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyConcurrencyTest.java @@ -201,7 +201,7 @@ public class LoadBalancingPolicyConcurrencyTest extends AbstractLoadBalancingPol return; } double jitteredWorkrate = workrate + (random.nextDouble()*jitter*2 - jitter); - ((EntityLocal)item).setAttribute(TEST_METRIC, (int) Math.max(0, jitteredWorkrate)); + ((EntityLocal)item).sensors().set(TEST_METRIC, (int) Math.max(0, jitteredWorkrate)); } }, 0, WORKRATE_UPDATE_PERIOD_MS, TimeUnit.MILLISECONDS); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicySoakTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicySoakTest.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicySoakTest.java index 9e14664..f131442 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicySoakTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicySoakTest.java @@ -159,7 +159,7 @@ public class LoadBalancingPolicySoakTest extends AbstractLoadBalancingPolicyTest for (int j = 0; j < numItems; j++) { MockItemEntity item = items.get(j); - ((EntityLocal)item).setAttribute(MockItemEntity.TEST_METRIC, itemRates.get(j)); + ((EntityLocal)item).sensors().set(MockItemEntity.TEST_METRIC, itemRates.get(j)); } // Stop containers, and start others http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyTest.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyTest.java index 6396e34..bee3eae 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/LoadBalancingPolicyTest.java @@ -150,8 +150,8 @@ public class LoadBalancingPolicyTest extends AbstractLoadBalancingPolicyTest { MockItemEntity item1 = newItem(app, containerA, "1", 0); MockItemEntity item2 = newItem(app, containerA, "2", 0); - ((EntityLocal)item1).setAttribute(MockItemEntity.TEST_METRIC, 40); - ((EntityLocal)item2).setAttribute(MockItemEntity.TEST_METRIC, 40); + item1.sensors().set(MockItemEntity.TEST_METRIC, 40); + item2.sensors().set(MockItemEntity.TEST_METRIC, 40); assertWorkratesEventually( ImmutableList.of(containerA, containerB), @@ -305,7 +305,7 @@ public class LoadBalancingPolicyTest extends AbstractLoadBalancingPolicyTest { @SuppressWarnings({ "unchecked", "rawtypes" }) @Test public void testModelIncludesItemsAndContainersStartedBeforePolicyCreated() { - pool.removePolicy(policy); + pool.policies().remove(policy); policy.destroy(); // Set-up containers and items. @@ -313,7 +313,7 @@ public class LoadBalancingPolicyTest extends AbstractLoadBalancingPolicyTest { newItem(app, containerA, "1", 10); policy = new LoadBalancingPolicy(MutableMap.of(), TEST_METRIC, model); - pool.addPolicy(policy); + pool.policies().add(policy); Asserts.succeedsEventually(MutableMap.of("timeout", TIMEOUT_MS), new Runnable() { public void run() { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java index db997b4..cb93df0 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockContainerEntityImpl.java @@ -54,9 +54,10 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo ReentrantLock _lock = new ReentrantLock(); @Override + @Deprecated public <T> T setAttribute(AttributeSensor<T> attribute, T val) { if (LOG.isDebugEnabled()) LOG.debug("Mocks: container {} setting {} to {}", new Object[] {this, attribute, val}); - return super.setAttribute(attribute, val); + return super.sensors().set(attribute, val); } @Override @@ -104,7 +105,7 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo if (LOG.isDebugEnabled()) LOG.debug("Mocks: adding item {} to container {}", item, this); if (!running || offloading) throw new IllegalStateException("Container "+getDisplayName()+" is not running; cannot add item "+item); addMember(item); - emit(ITEM_ADDED, item); + sensors().emit(ITEM_ADDED, item); } @Override @@ -112,7 +113,7 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo if (LOG.isDebugEnabled()) LOG.debug("Mocks: removing item {} from container {}", item, this); if (!running) throw new IllegalStateException("Container "+getDisplayName()+" is not running; cannot remove item "+item); removeMember(item); - emit(ITEM_REMOVED, item); + sensors().emit(ITEM_REMOVED, item); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -137,8 +138,8 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo Time.sleep(getDelay()); running = true; addLocations(locs); - emit(Attributes.LOCATION_CHANGED, null); - setAttribute(SERVICE_UP, true); + sensors().emit(Attributes.LOCATION_CHANGED, null); + sensors().set(SERVICE_UP, true); } finally { _lock.unlock(); } @@ -151,7 +152,7 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo try { running = false; Time.sleep(getDelay()); - setAttribute(SERVICE_UP, false); + sensors().set(SERVICE_UP, false); } finally { _lock.unlock(); } @@ -160,7 +161,7 @@ public class MockContainerEntityImpl extends AbstractGroupImpl implements MockCo private void stopWithoutLock() { running = false; Time.sleep(getDelay()); - setAttribute(SERVICE_UP, false); + sensors().set(SERVICE_UP, false); } public void offloadAndStop(final MockContainerEntity otherContainer) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockItemEntityImpl.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockItemEntityImpl.java b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockItemEntityImpl.java index 1014605..699fe59 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockItemEntityImpl.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/loadbalancing/MockItemEntityImpl.java @@ -58,7 +58,7 @@ public class MockItemEntityImpl extends AbstractEntity implements MockItemEntity @Override public <T> T setAttribute(AttributeSensor<T> attribute, T val) { if (LOG.isDebugEnabled()) LOG.debug("Mocks: item {} setting {} to {}", new Object[] {this, attribute, val}); - return super.setAttribute(attribute, val); + return super.sensors().set(attribute, val); } @Override @@ -84,7 +84,7 @@ public class MockItemEntityImpl extends AbstractEntity implements MockItemEntity if (currentContainer != null) currentContainer.removeItem(MockItemEntityImpl.this); currentContainer = destination; destination.addItem(MockItemEntityImpl.this); - setAttribute(CONTAINER, currentContainer); + sensors().set(CONTAINER, currentContainer); } finally { _lock.unlock(); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java ---------------------------------------------------------------------- diff --git a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java index da93a1e..db505af 100644 --- a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java +++ b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java @@ -134,7 +134,7 @@ public class PostgreSqlNodeSaltImpl extends EffectorStartableImpl implements Pos } protected void connectSensors() { - setAttribute(DATASTORE_URL, String.format("postgresql://%s:%s/", getAttribute(HOSTNAME), getAttribute(POSTGRESQL_PORT))); + sensors().set(DATASTORE_URL, String.format("postgresql://%s:%s/", getAttribute(HOSTNAME), getAttribute(POSTGRESQL_PORT))); Location machine = Iterables.get(getLocations(), 0, null); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltConfigs.java ---------------------------------------------------------------------- diff --git a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltConfigs.java b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltConfigs.java index bfa98cb..4f7d610 100644 --- a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltConfigs.java +++ b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltConfigs.java @@ -46,7 +46,7 @@ public class SaltConfigs { public static void addToRunList(EntityInternal entity, String...states) { for (String state : states) { - entity.setConfig(SaltConfig.SALT_RUN_LIST, SetModifications.addItem(state)); + entity.config().set(SaltConfig.SALT_RUN_LIST, SetModifications.addItem(state)); } } @@ -55,7 +55,7 @@ public class SaltConfigs { } public static void addToFormulas(EntityInternal entity, String formulaName, String formulaUrl) { - entity.setConfig(SaltConfig.SALT_FORMULAS.subKey(formulaName), formulaUrl); + entity.config().set(SaltConfig.SALT_FORMULAS.subKey(formulaName), formulaUrl); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -65,7 +65,7 @@ public class SaltConfigs { @SuppressWarnings({ "unchecked", "rawtypes" }) public static void addLaunchAttributes(EntityInternal entity, Map<? extends Object,? extends Object> attributesMap) { - entity.setConfig(SaltConfig.SALT_LAUNCH_ATTRIBUTES, MapModifications.add((Map)attributesMap)); + entity.config().set(SaltConfig.SALT_LAUNCH_ATTRIBUTES, MapModifications.add((Map)attributesMap)); } /** replaces the attributes underneath the rootAttribute parameter with the given value; @@ -77,7 +77,7 @@ public class SaltConfigs { /** replaces the attributes underneath the rootAttribute parameter with the given value; * see {@link #addLaunchAttributesMap(EntitySpec, Map)} for richer functionality */ public static void setLaunchAttribute(EntityInternal entity, String rootAttribute, Object value) { - entity.setConfig(SaltConfig.SALT_LAUNCH_ATTRIBUTES.subKey(rootAttribute), value); + entity.config().set(SaltConfig.SALT_LAUNCH_ATTRIBUTES.subKey(rootAttribute), value); } public static <T> T getRequiredConfig(Entity entity, ConfigKey<T> key) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltLifecycleEffectorTasks.java ---------------------------------------------------------------------- diff --git a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltLifecycleEffectorTasks.java b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltLifecycleEffectorTasks.java index 5a404a1..6f3e4f5 100644 --- a/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltLifecycleEffectorTasks.java +++ b/sandbox/extra/src/main/java/org/apache/brooklyn/entity/salt/SaltLifecycleEffectorTasks.java @@ -133,7 +133,7 @@ public class SaltLifecycleEffectorTasks extends MachineLifecycleEffectorTasks im } // and set the PID - entity().setAttribute(Attributes.PID, + entity().sensors().set(Attributes.PID, Integer.parseInt(DynamicTasks.queue(SshEffectorTasks.ssh("cat "+pidFile).runAsRoot()).block().getStdout().trim())); return true; } @@ -201,7 +201,7 @@ public class SaltLifecycleEffectorTasks extends MachineLifecycleEffectorTasks im if (DynamicTasks.queue(SshEffectorTasks.isPidRunning(pid).runAsRoot()).get()) { throw new IllegalStateException("Process for "+entity()+" in "+pid+" still running after kill"); } - entity().setAttribute(Attributes.PID, null); + entity().sensors().set(Attributes.PID, null); return true; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java ---------------------------------------------------------------------- diff --git a/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java b/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java index ef26e8c..9ee73b6 100644 --- a/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java +++ b/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java @@ -394,7 +394,7 @@ public class ZabbixFeed extends AbstractFeed { String hostId = result.get("hostids").getAsJsonArray().get(0).getAsString(); // Update the registered status if not set if (registered.compareAndSet(false, true)) { - entity.setAttribute(ZabbixMonitored.ZABBIX_AGENT_HOSTID, hostId); + entity.sensors().set(ZabbixMonitored.ZABBIX_AGENT_HOSTID, hostId); log.info("zabbix registered host as id {}", hostId); } } else { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixServerImpl.java ---------------------------------------------------------------------- diff --git a/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixServerImpl.java b/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixServerImpl.java index 9476673..708c6c1 100644 --- a/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixServerImpl.java +++ b/sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixServerImpl.java @@ -82,7 +82,7 @@ public class ZabbixServerImpl extends AbstractEntity implements ZabbixServer { .onSuccess(HttpValueFunctions.jsonContents("result", String.class))) .build(); - policy = addPolicy(PolicySpec.create(AgentTrackingPolicy.class) + policy = policies().add(PolicySpec.create(AgentTrackingPolicy.class) .displayName("Zabbix Agent Tracker") .configure("group", monitoredEntities)); @@ -90,7 +90,7 @@ public class ZabbixServerImpl extends AbstractEntity implements ZabbixServer { added(each); } - setAttribute(Startable.SERVICE_UP, true); + sensors().set(Startable.SERVICE_UP, true); } public static class AgentTrackingPolicy extends AbstractMembershipTrackingPolicy { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastClusterImpl.java ---------------------------------------------------------------------- diff --git a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastClusterImpl.java b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastClusterImpl.java index 9b735ee..83cf15a 100644 --- a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastClusterImpl.java +++ b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastClusterImpl.java @@ -67,10 +67,10 @@ public class HazelcastClusterImpl extends DynamicClusterImpl implements Hazelcas if (LOG.isInfoEnabled()) { LOG.info(this + " cluster password not provided for " + CLUSTER_PASSWORD.getName() + " : generating random password"); } - setConfig(CLUSTER_PASSWORD, Strings.makeRandomId(12)); + config().set(CLUSTER_PASSWORD, Strings.makeRandomId(12)); } - addPolicy(PolicySpec.create(MemberTrackingPolicy.class) + policies().add(PolicySpec.create(MemberTrackingPolicy.class) .displayName("Hazelcast members tracker") .configure("group", this)); } @@ -83,7 +83,7 @@ public class HazelcastClusterImpl extends DynamicClusterImpl implements Hazelcas @Override protected void onEntityAdded(Entity member) { if (member.getAttribute(HazelcastNode.NODE_NAME) == null) { - ((EntityInternal) member).setAttribute(HazelcastNode.NODE_NAME, "hazelcast-" + nextMemberId.incrementAndGet()); + ((EntityInternal) member).sensors().set(HazelcastNode.NODE_NAME, "hazelcast-" + nextMemberId.incrementAndGet()); if (LOG.isInfoEnabled()) { LOG.info("Node {} added to the cluster", member); } @@ -120,6 +120,6 @@ public class HazelcastClusterImpl extends DynamicClusterImpl implements Hazelcas for (Entity member : getMembers()) { clusterNodes.add(member.getAttribute(Attributes.ADDRESS)); } - setAttribute(PUBLIC_CLUSTER_NODES, clusterNodes); + sensors().set(PUBLIC_CLUSTER_NODES, clusterNodes); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeImpl.java ---------------------------------------------------------------------- diff --git a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeImpl.java b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeImpl.java index d618f0c..6e17737 100644 --- a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeImpl.java +++ b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeImpl.java @@ -56,7 +56,7 @@ public class HazelcastNodeImpl extends SoftwareProcessImpl implements HazelcastN HostAndPort hp = BrooklynAccessUtils.getBrooklynAccessibleAddress(this, getNodePort()); String nodeUri = String.format("http://%s:%d/hazelcast/rest/cluster", hp.getHostText(), hp.getPort()); - setAttribute(Attributes.MAIN_URI, URI.create(nodeUri)); + sensors().set(Attributes.MAIN_URI, URI.create(nodeUri)); if (LOG.isDebugEnabled()) { LOG.debug("Node {} is using {} as a main URI", this, nodeUri); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeSshDriver.java ---------------------------------------------------------------------- diff --git a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeSshDriver.java b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeSshDriver.java index 3b664fe..2d67453 100644 --- a/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeSshDriver.java +++ b/sandbox/nosql/src/main/java/org/apache/brooklyn/entity/nosql/hazelcast/HazelcastNodeSshDriver.java @@ -87,7 +87,7 @@ public class HazelcastNodeSshDriver extends JavaSoftwareProcessSshDriver impleme @Override public void launch() { - entity.setAttribute(HazelcastNode.PID_FILE, Os.mergePathsUnix(getRunDir(), PID_FILENAME)); + entity.sensors().set(HazelcastNode.PID_FILE, Os.mergePathsUnix(getRunDir(), PID_FILENAME)); String maxHeapMemorySize = getHeapMemorySize(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/sandbox/nosql/src/test/java/org/apache/brooklyn/entity/nosql/infinispan/Infinispan5ServerIntegrationTest.groovy ---------------------------------------------------------------------- diff --git a/sandbox/nosql/src/test/java/org/apache/brooklyn/entity/nosql/infinispan/Infinispan5ServerIntegrationTest.groovy b/sandbox/nosql/src/test/java/org/apache/brooklyn/entity/nosql/infinispan/Infinispan5ServerIntegrationTest.groovy index 1e68c27..70d8f06 100644 --- a/sandbox/nosql/src/test/java/org/apache/brooklyn/entity/nosql/infinispan/Infinispan5ServerIntegrationTest.groovy +++ b/sandbox/nosql/src/test/java/org/apache/brooklyn/entity/nosql/infinispan/Infinispan5ServerIntegrationTest.groovy @@ -90,7 +90,7 @@ class Infinispan5ServerIntegrationTest { Application app = new TestApplicationImpl(); try { final Infinispan5Server infini = new Infinispan5Server(parent:app) - infini.setConfig(Infinispan5Server.PORT.getConfigKey(), DEFAULT_PORT) + infini.config().set(Infinispan5Server.PORT.getConfigKey(), DEFAULT_PORT) infini.start([ new LocalhostMachineProvisioningLocation(name:'london') ]) executeUntilSucceeds { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynClusterImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynClusterImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynClusterImpl.java index 8a9543d..da42fe9 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynClusterImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynClusterImpl.java @@ -63,7 +63,7 @@ public class BrooklynClusterImpl extends DynamicClusterImpl implements BrooklynC .callable(new MasterChildFinder())) .build()); - addEnricher( Enrichers.builder().transforming(MASTER_NODE) + enrichers().add( Enrichers.builder().transforming(MASTER_NODE) .uniqueTag("master-node-web-uri") .publishing(BrooklynNode.WEB_CONSOLE_URI) .computing(EntityFunctions.attribute(BrooklynNode.WEB_CONSOLE_URI)) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java index 11d3baf..747aeab 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java @@ -56,7 +56,7 @@ public class BrooklynEntityMirrorImpl extends AbstractEntity implements Brooklyn public Map apply(HttpToolResponse input) { Map<?, ?> entitySummary = new Gson().fromJson(input.getContentAsString(), Map.class); String catalogItemId = (String)entitySummary.get("catalogItemId"); - setAttribute(MIRROR_CATALOG_ITEM_ID, catalogItemId); + sensors().set(MIRROR_CATALOG_ITEM_ID, catalogItemId); return entitySummary; } } @@ -74,7 +74,7 @@ public class BrooklynEntityMirrorImpl extends AbstractEntity implements Brooklyn connectSensorsAsync(); //start spinning, could take some time before MIRRORED_ENTITY_URL is available for first time mirroring - setAttribute(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.STARTING); + sensors().set(Attributes.SERVICE_STATE_ACTUAL, Lifecycle.STARTING); } @Override @@ -111,8 +111,8 @@ public class BrooklynEntityMirrorImpl extends AbstractEntity implements Brooklyn public Void apply(HttpToolResponse input) { Map sensors = new Gson().fromJson(input.getContentAsString(), Map.class); for (Object kv: sensors.entrySet()) - setAttribute(Sensors.newSensor(Object.class, ""+((Map.Entry)kv).getKey()), ((Map.Entry)kv).getValue()); - setAttribute(MIRROR_STATUS, "normal"); + sensors().set(Sensors.newSensor(Object.class, ""+((Map.Entry)kv).getKey()), ((Map.Entry)kv).getValue()); + sensors().set(MIRROR_STATUS, "normal"); return null; } }; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java index e21200d..9706676 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java @@ -473,7 +473,7 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod // web-console is not enabled webConsoleUri = null; } - setAttribute(WEB_CONSOLE_URI, webConsoleUri); + sensors().set(WEB_CONSOLE_URI, webConsoleUri); if (webConsoleUri != null) { httpFeed = HttpFeed.builder() @@ -498,7 +498,7 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod // TODO when updating the map, if it would change from empty to empty on a successful run (see in nginx) ServiceNotUpLogic.updateNotUpIndicator(this, WEB_CONSOLE_ACCESSIBLE, "No response from the web console yet"); } - addEnricher(Enrichers.builder().updatingMap(Attributes.SERVICE_NOT_UP_INDICATORS) + enrichers().add(Enrichers.builder().updatingMap(Attributes.SERVICE_NOT_UP_INDICATORS) .from(WEB_CONSOLE_ACCESSIBLE) .computing(Functionals.ifNotEquals(true).value("URL where Brooklyn listens is not answering correctly") ) .build()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/LocalBrooklynNodeImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/LocalBrooklynNodeImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/LocalBrooklynNodeImpl.java index 9f85ebe..7664d2b 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/LocalBrooklynNodeImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/LocalBrooklynNodeImpl.java @@ -37,8 +37,8 @@ public class LocalBrooklynNodeImpl extends BrooklynNodeImpl implements LocalBroo password = (String) properties.get(String.format(BROOKLYN_WEBCONSOLE_PASSWORD_KEY, user)); } if (Strings.isNonBlank(user) && Strings.isNonBlank(password)) { - setConfig(MANAGEMENT_USER, user); - setConfig(MANAGEMENT_PASSWORD, password); + config().set(MANAGEMENT_USER, user); + config().set(MANAGEMENT_PASSWORD, password); } super.connectSensors(); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynClusterUpgradeEffectorBody.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynClusterUpgradeEffectorBody.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynClusterUpgradeEffectorBody.java index 19b5ce2..7687167 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynClusterUpgradeEffectorBody.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynClusterUpgradeEffectorBody.java @@ -89,7 +89,7 @@ public class BrooklynClusterUpgradeEffectorBody extends EffectorBody<Void> imple newConfig.putAll(ConfigBag.newInstance(parameters.get(EXTRA_CONFIG)).getAllConfigAsConfigKeyMap()); newMemberSpec.configure(newConfig.getAllConfigAsConfigKeyMap()); - entity().setConfig(BrooklynCluster.MEMBER_SPEC, newMemberSpec); + entity().config().set(BrooklynCluster.MEMBER_SPEC, newMemberSpec); log.debug("Upgrading "+entity()+", new "+BrooklynCluster.MEMBER_SPEC+": "+newMemberSpec+" / "+newMemberSpec.getConfig()+" (adding: "+newConfig+")"); @@ -99,7 +99,7 @@ public class BrooklynClusterUpgradeEffectorBody extends EffectorBody<Void> imple } finally { if (!success) { log.debug("Upgrading "+entity()+" failed, will rethrow after restoring "+BrooklynCluster.MEMBER_SPEC+" to: "+origMemberSpec); - entity().setConfig(BrooklynCluster.MEMBER_SPEC, origMemberSpec); + entity().config().set(BrooklynCluster.MEMBER_SPEC, origMemberSpec); } upgradeInProgress.set(false); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java index 12ca603..021da69 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/BrooklynNodeUpgradeEffectorBody.java @@ -143,10 +143,10 @@ public class BrooklynNodeUpgradeEffectorBody extends EffectorBody<Void> { @Override public void run() { DynamicTasks.waitForLast(); - ((EntityInternal)entity()).setAttribute(SoftwareProcess.INSTALL_DIR, (String)null); - entity().setConfig(SoftwareProcess.INSTALL_UNIQUE_LABEL, (String)null); + ((EntityInternal)entity()).sensors().set(SoftwareProcess.INSTALL_DIR, (String)null); + entity().config().set(SoftwareProcess.INSTALL_UNIQUE_LABEL, (String)null); entity().getConfigMap().addToLocalBag(parameters.getAllConfig()); - entity().setAttribute(BrooklynNode.DOWNLOAD_URL, entity().getConfig(DOWNLOAD_URL)); + entity().sensors().set(BrooklynNode.DOWNLOAD_URL, entity().getConfig(DOWNLOAD_URL)); // Setting SUGGESTED_VERSION will result in an new empty INSTALL_FOLDER, but clear it // just in case the user specified already installed version. @@ -178,7 +178,7 @@ public class BrooklynNodeUpgradeEffectorBody extends EffectorBody<Void> { if (Strings.isBlank(launchParameters)) launchParameters = ""; else launchParameters += " "; launchParameters += "--highAvailability "+HighAvailabilityMode.HOT_STANDBY; - ((EntityInternal)dryRunChild).setConfig(BrooklynNode.EXTRA_LAUNCH_PARAMETERS, launchParameters); + ((EntityInternal)dryRunChild).config().set(BrooklynNode.EXTRA_LAUNCH_PARAMETERS, launchParameters); Entities.manage(dryRunChild); final String dryRunNodeUid = dryRunChild.getId(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefAttributeFeed.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefAttributeFeed.java b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefAttributeFeed.java index 1078d90..d26faa5 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefAttributeFeed.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefAttributeFeed.java @@ -352,13 +352,13 @@ public class ChefAttributeFeed extends AbstractFeed { } } if (elementForSensor != null) { - entity.setAttribute((AttributeSensor)sensor, TypeCoercions.coerce(elementForSensor.getAsString(), sensor.getTypeToken())); + entity.sensors().set((AttributeSensor)sensor, TypeCoercions.coerce(elementForSensor.getAsString(), sensor.getTypeToken())); } else { log.debug("Entity {}: no Chef attribute matching {}; setting sensor {} to null", new Object[]{ entity.getDisplayName(), chefAttributeName, sensor.getName()}); - entity.setAttribute(sensor, null); + entity.sensors().set(sensor, null); } } } @@ -383,7 +383,7 @@ public class ChefAttributeFeed extends AbstractFeed { for (AttributeSensor<?> attribute : chefAttributeSensors.values()) { if (!attribute.getName().startsWith(CHEF_ATTRIBUTE_PREFIX)) continue; - entity.setAttribute(attribute, null); + entity.sensors().set(attribute, null); } } @@ -393,7 +393,7 @@ public class ChefAttributeFeed extends AbstractFeed { for (AttributeSensor<?> attribute : chefAttributeSensors.values()) { if (!attribute.getName().startsWith(CHEF_ATTRIBUTE_PREFIX)) continue; - entity.setAttribute(attribute, null); + entity.sensors().set(attribute, null); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefConfigs.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefConfigs.java b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefConfigs.java index 37d89f8..16d5fa0 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefConfigs.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefConfigs.java @@ -43,7 +43,7 @@ public class ChefConfigs { public static void addToLaunchRunList(EntityInternal entity, String ...recipes) { for (String recipe: recipes) - entity.setConfig(ChefConfig.CHEF_LAUNCH_RUN_LIST, SetModifications.addItem(recipe)); + entity.config().set(ChefConfig.CHEF_LAUNCH_RUN_LIST, SetModifications.addItem(recipe)); } public static void addToCookbooksFromGithub(EntitySpec<?> entity, String ...cookbookNames) { @@ -68,7 +68,7 @@ public class ChefConfigs { } public static void addToCookbooksFromGithub(EntityInternal entity, String cookbookName, String cookbookUrl) { - entity.setConfig(ChefConfig.CHEF_COOKBOOK_URLS.subKey(cookbookName), cookbookUrl); + entity.config().set(ChefConfig.CHEF_COOKBOOK_URLS.subKey(cookbookName), cookbookUrl); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -78,7 +78,7 @@ public class ChefConfigs { @SuppressWarnings({ "unchecked", "rawtypes" }) public static void addLaunchAttributes(EntityInternal entity, Map<? extends Object,? extends Object> attributesMap) { - entity.setConfig(ChefConfig.CHEF_LAUNCH_ATTRIBUTES, MapModifications.add((Map)attributesMap)); + entity.config().set(ChefConfig.CHEF_LAUNCH_ATTRIBUTES, MapModifications.add((Map)attributesMap)); } /** replaces the attributes underneath the rootAttribute parameter with the given value; @@ -90,7 +90,7 @@ public class ChefConfigs { /** replaces the attributes underneath the rootAttribute parameter with the given value; * see {@link #addLaunchAttributesMap(EntitySpec, Map)} for richer functionality */ public static void setLaunchAttribute(EntityInternal entity, String rootAttribute, Object value) { - entity.setConfig(ChefConfig.CHEF_LAUNCH_ATTRIBUTES.subKey(rootAttribute), value); + entity.config().set(ChefConfig.CHEF_LAUNCH_ATTRIBUTES.subKey(rootAttribute), value); } public static <T> T getRequiredConfig(Entity entity, ConfigKey<T> key) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java index 869d34d..57c54bf 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java @@ -243,7 +243,7 @@ public class ChefLifecycleEffectorTasks extends MachineLifecycleEffectorTasks im if (!result) { log.warn("No way to check whether "+entity()+" is running; assuming yes"); } - entity().setAttribute(SoftwareProcess.SERVICE_UP, true); + entity().sensors().set(SoftwareProcess.SERVICE_UP, true); } protected boolean tryCheckStartPid() { @@ -256,7 +256,7 @@ public class ChefLifecycleEffectorTasks extends MachineLifecycleEffectorTasks im } // and set the PID - entity().setAttribute(Attributes.PID, + entity().sensors().set(Attributes.PID, Integer.parseInt(DynamicTasks.queue(SshEffectorTasks.ssh("cat "+getPidFile()).runAsRoot()).block().getStdout().trim())); return true; } @@ -353,7 +353,7 @@ public class ChefLifecycleEffectorTasks extends MachineLifecycleEffectorTasks im if (DynamicTasks.queue(SshEffectorTasks.isPidRunning(pid).runAsRoot()).get()) { throw new IllegalStateException("Process for "+entity()+" in "+pid+" still running after kill"); } - entity().setAttribute(Attributes.PID, null); + entity().sensors().set(Attributes.PID, null); return true; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaAppUtils.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaAppUtils.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaAppUtils.java index 9656878..ef161ea 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaAppUtils.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaAppUtils.java @@ -94,10 +94,10 @@ public class JavaAppUtils { } public static void connectJavaAppServerPolicies(EntityLocal entity, Duration windowPeriod) { - entity.addEnricher(new TimeFractionDeltaEnricher<Double>(entity, UsesJavaMXBeans.PROCESS_CPU_TIME, + entity.enrichers().add(new TimeFractionDeltaEnricher<Double>(entity, UsesJavaMXBeans.PROCESS_CPU_TIME, UsesJavaMXBeans.PROCESS_CPU_TIME_FRACTION_LAST, TimeUnit.MILLISECONDS)); - entity.addEnricher(new RollingTimeWindowMeanEnricher<Double>(entity, + entity.enrichers().add(new RollingTimeWindowMeanEnricher<Double>(entity, UsesJavaMXBeans.PROCESS_CPU_TIME_FRACTION_LAST, UsesJavaMXBeans.PROCESS_CPU_TIME_FRACTION_IN_WINDOW, windowPeriod)); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java index c5720ca..fe335cd 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java @@ -78,7 +78,7 @@ public abstract class JavaSoftwareProcessSshDriver extends AbstractSoftwareProce public JavaSoftwareProcessSshDriver(EntityLocal entity, SshMachineLocation machine) { super(entity, machine); - entity.setAttribute(Attributes.LOG_FILE_LOCATION, getLogFileLocation()); + entity.sensors().set(Attributes.LOG_FILE_LOCATION, getLogFileLocation()); } protected abstract String getLogFileLocation(); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java index f633f3c..86c211e 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JmxSupport.java @@ -88,7 +88,7 @@ public class JmxSupport implements UsesJmx { } <T> void setConfig(ConfigKey<T> key, T value) { - ((EntityLocal)getEntity()).setConfig(key, value); + ((EntityLocal)getEntity()).config().set(key, value); } public Maybe<SshMachineLocation> getMachine() { @@ -141,7 +141,7 @@ public class JmxSupport implements UsesJmx { } } - ((EntityLocal)entity).setConfig(JMX_AGENT_MODE, jmxAgentMode); + ((EntityLocal)entity).config().set(JMX_AGENT_MODE, jmxAgentMode); } if (isSecure && jmxAgentMode!=JmxAgentModes.JMXMP) { @@ -152,7 +152,7 @@ public class JmxSupport implements UsesJmx { } public void setJmxUrl() { - ((EntityInternal)entity).setAttribute(JMX_URL, getJmxUrl()); + ((EntityInternal)entity).sensors().set(JMX_URL, getJmxUrl()); } public String getJmxUrl() { @@ -189,13 +189,13 @@ public class JmxSupport implements UsesJmx { log.warn("Ignoring JMX_PORT "+jmxRemotePort+" when configuring agentless JMX on "+getEntity()+"; will use RMI_REGISTRY_PORT "+rmiRegistryPort); } jmxRemotePort = rmiRegistryPort; - ((EntityLocal)getEntity()).setAttribute(JMX_PORT, jmxRemotePort); + ((EntityLocal)getEntity()).sensors().set(JMX_PORT, jmxRemotePort); } } else { if (jmxRemotePort==null || jmxRemotePort<=0) { throw new IllegalStateException("Invalid JMX_PORT "+jmxRemotePort+" and RMI_REGISTRY_PORT "+rmiRegistryPort+" when configuring JMX "+getJmxAgentMode()+" on "+getEntity()); } - ((EntityLocal)getEntity()).setAttribute(RMI_REGISTRY_PORT, jmxRemotePort); + ((EntityLocal)getEntity()).sensors().set(RMI_REGISTRY_PORT, jmxRemotePort); } return jmxRemotePort; } @@ -213,7 +213,7 @@ public class JmxSupport implements UsesJmx { String result = getEntity().getAttribute(JMX_AGENT_LOCAL_PATH); if (Strings.isNonBlank(result)) return result; result = getJmxAgentJarDestinationFilePathDefault(); - ((EntityInternal)getEntity()).setAttribute(JMX_AGENT_LOCAL_PATH, result); + ((EntityInternal)getEntity()).sensors().set(JMX_AGENT_LOCAL_PATH, result); return result; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppImpl.java index 90da4a9..21865f3 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppImpl.java @@ -63,7 +63,7 @@ public class VanillaJavaAppImpl extends SoftwareProcessImpl implements VanillaJa List<String> newCP = new ArrayList<String>(); if (cp!=null) newCP.addAll(cp); newCP.add(url); - setConfig(CLASSPATH, newCP); + config().set(CLASSPATH, newCP); } public void addToClasspath(Collection<String> urls) { @@ -71,7 +71,7 @@ public class VanillaJavaAppImpl extends SoftwareProcessImpl implements VanillaJa List<String> newCP = new ArrayList<String>(); if (cp!=null) newCP.addAll(cp); newCP.addAll(urls); - setConfig(CLASSPATH, newCP); + config().set(CLASSPATH, newCP); } @Override http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java index 2fd57b3..5aa996c 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/VanillaJavaAppSshDriver.java @@ -111,7 +111,7 @@ public class VanillaJavaAppSshDriver extends JavaSoftwareProcessSshDriver implem // Transform stdout into list of files in classpath if (Strings.isBlank(stdout)) { - getEntity().setAttribute(VanillaJavaApp.CLASSPATH_FILES, ImmutableList.of(Os.mergePaths(getRunDir(), "lib"))); + getEntity().sensors().set(VanillaJavaApp.CLASSPATH_FILES, ImmutableList.of(Os.mergePaths(getRunDir(), "lib"))); } else { // FIXME Cannot handle spaces in paths properly Iterable<String> lines = Splitter.on(CharMatcher.BREAKING_WHITESPACE).omitEmptyStrings().trimResults().split(stdout); @@ -121,7 +121,7 @@ public class VanillaJavaAppSshDriver extends JavaSoftwareProcessSshDriver implem return Os.mergePathsUnix(getRunDir(), "lib", input); } }); - getEntity().setAttribute(VanillaJavaApp.CLASSPATH_FILES, ImmutableList.copyOf(files)); + getEntity().sensors().set(VanillaJavaApp.CLASSPATH_FILES, ImmutableList.copyOf(files)); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolImpl.java index c7696e4..6b0792d 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolImpl.java @@ -107,10 +107,10 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { @Override public void init() { super.init(); - setAttribute(AVAILABLE_COUNT, 0); - setAttribute(CLAIMED_COUNT, 0); - setAttribute(ENTITY_MACHINE, Maps.<Entity, MachineLocation>newHashMap()); - setAttribute(MACHINE_ENTITY, Maps.<MachineLocation, Entity>newHashMap()); + sensors().set(AVAILABLE_COUNT, 0); + sensors().set(CLAIMED_COUNT, 0); + sensors().set(ENTITY_MACHINE, Maps.<Entity, MachineLocation>newHashMap()); + sensors().set(MACHINE_ENTITY, Maps.<MachineLocation, Entity>newHashMap()); } @Override @@ -135,15 +135,15 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { super.stop(); deleteLocation(); synchronized (mutex) { - setAttribute(AVAILABLE_COUNT, 0); - setAttribute(CLAIMED_COUNT, 0); - getAttribute(ENTITY_MACHINE).clear(); - getAttribute(MACHINE_ENTITY).clear(); + sensors().set(AVAILABLE_COUNT, 0); + sensors().set(CLAIMED_COUNT, 0); + sensors().get(ENTITY_MACHINE).clear(); + sensors().get(MACHINE_ENTITY).clear(); } } private void addMembershipTrackerPolicy() { - membershipTracker = addPolicy(PolicySpec.create(MemberTrackingPolicy.class) + membershipTracker = policies().add(PolicySpec.create(MemberTrackingPolicy.class) .displayName(getDisplayName() + " membership tracker") .configure("group", this)); } @@ -175,10 +175,10 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { Location location = getManagementContext().getLocationRegistry().resolve(definition); LOG.info("Resolved and registered dynamic location {}: {}", locationName, location); - setAttribute(LOCATION_SPEC, locationSpec); - setAttribute(DYNAMIC_LOCATION, location); - setAttribute(LOCATION_NAME, location.getId()); - setAttribute(DYNAMIC_LOCATION_DEFINITION, definition); + sensors().set(LOCATION_SPEC, locationSpec); + sensors().set(DYNAMIC_LOCATION, location); + sensors().set(LOCATION_NAME, location.getId()); + sensors().set(DYNAMIC_LOCATION_DEFINITION, definition); return (ServerPoolLocation) location; } @@ -197,10 +197,10 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { LOG.debug("{} unregistering dynamic location {}", this, definition); getManagementContext().getLocationRegistry().removeDefinedLocation(definition.getId()); } - setAttribute(LOCATION_SPEC, null); - setAttribute(DYNAMIC_LOCATION, null); - setAttribute(LOCATION_NAME, null); - setAttribute(DYNAMIC_LOCATION_DEFINITION, null); + sensors().set(LOCATION_SPEC, null); + sensors().set(DYNAMIC_LOCATION, null); + sensors().set(LOCATION_NAME, null); + sensors().set(DYNAMIC_LOCATION_DEFINITION, null); } @Override @@ -371,7 +371,7 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { } private void setEntityStatus(Entity entity, MachinePoolMemberStatus status) { - ((EntityInternal) entity).setAttribute(SERVER_STATUS, status); + ((EntityInternal) entity).sensors().set(SERVER_STATUS, status); } private Optional<Entity> getMemberWithStatus(MachinePoolMemberStatus status) { @@ -409,8 +409,8 @@ public class ServerPoolImpl extends DynamicClusterImpl implements ServerPool { claimed++; } } - setAttribute(AVAILABLE_COUNT, available); - setAttribute(CLAIMED_COUNT, claimed); + sensors().set(AVAILABLE_COUNT, available); + sensors().set(CLAIMED_COUNT, claimed); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java index 6b0e4a8..240f161 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java @@ -113,7 +113,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP protected void setInstallDir(String installDir) { this.installDir = installDir; - entity.setAttribute(SoftwareProcess.INSTALL_DIR, installDir); + entity.sensors().set(SoftwareProcess.INSTALL_DIR, installDir); } public String getInstallDir() { @@ -150,7 +150,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP protected void setInstallLabel() { if (getEntity().getConfigRaw(SoftwareProcess.INSTALL_UNIQUE_LABEL, false).isPresentAndNonNull()) return; - getEntity().setConfig(SoftwareProcess.INSTALL_UNIQUE_LABEL, + getEntity().config().set(SoftwareProcess.INSTALL_UNIQUE_LABEL, getEntity().getEntityType().getSimpleName()+ (Strings.isNonBlank(getVersion()) ? "_"+getVersion() : "")+ (Strings.isNonBlank(getInstallLabelExtraSalt()) ? "_"+getInstallLabelExtraSalt() : "") ); @@ -169,7 +169,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP protected void setRunDir(String runDir) { this.runDir = runDir; - entity.setAttribute(SoftwareProcess.RUN_DIR, runDir); + entity.sensors().set(SoftwareProcess.RUN_DIR, runDir); } public String getRunDir() { @@ -189,7 +189,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP log.warn("Using legacy 'brooklyn.dirs.run' setting for "+entity+"; may be removed in future versions."); runDir = Os.mergePathsUnix(runBasedir, entity.getApplication().getId()+"/"+"entities"+"/"+getEntityVersionLabel()+"_"+entity.getId()); runDir = Os.tidyPath(runDir); - getEntity().setAttribute(SoftwareProcess.RUN_DIR, runDir); + getEntity().sensors().set(SoftwareProcess.RUN_DIR, runDir); return runDir; } } @@ -205,7 +205,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP } expandedInstallDir = val; - getEntity().setAttribute(SoftwareProcess.EXPANDED_INSTALL_DIR, val); + getEntity().sensors().set(SoftwareProcess.EXPANDED_INSTALL_DIR, val); } public String getExpandedInstallDir() { @@ -574,7 +574,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP String pidFile = (usePidFile instanceof CharSequence ? usePidFile : Os.mergePathsUnix(getRunDir(), PID_FILENAME)).toString(); String processOwner = (String) flags.get(PROCESS_OWNER); if (LAUNCHING.equals(phase)) { - entity.setAttribute(SoftwareProcess.PID_FILE, pidFile); + entity.sensors().set(SoftwareProcess.PID_FILE, pidFile); s.footer.prepend("echo $! > "+pidFile); } else if (CHECK_RUNNING.equals(phase)) { // old method, for supplied service, or entity.id http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessWinRmDriver.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessWinRmDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessWinRmDriver.java index 8e3ea37..4b3da76 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessWinRmDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessWinRmDriver.java @@ -63,8 +63,8 @@ public abstract class AbstractSoftwareProcessWinRmDriver extends AbstractSoftwar public AbstractSoftwareProcessWinRmDriver(EntityLocal entity, WinRmMachineLocation location) { super(entity, location); - entity.setAttribute(WINDOWS_USERNAME, location.config().get(WinRmMachineLocation.USER)); - entity.setAttribute(WINDOWS_PASSWORD, location.config().get(WinRmMachineLocation.PASSWORD)); + entity.sensors().set(WINDOWS_USERNAME, location.config().get(WinRmMachineLocation.USER)); + entity.sensors().set(WINDOWS_PASSWORD, location.config().get(WinRmMachineLocation.PASSWORD)); } /** @see #newScript(Map, String) */ http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4d08310c/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java index 600ab77..c24201a 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java @@ -44,7 +44,7 @@ public class SameServerEntityImpl extends AbstractEntity implements SameServerEn // Because can have multiple children (similar to groups/clusters/apps), need to // monitor their health and indicate this has failed if any of them have failed. - addEnricher(ServiceStateLogic.newEnricherFromChildren() + enrichers().add(ServiceStateLogic.newEnricherFromChildren() .configure(ComputeServiceIndicatorsFromChildrenAndMembers.UP_QUORUM_CHECK, QuorumCheck.QuorumChecks.all())); }
