You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:48:55 UTC

[09/50] brooklyn-server git commit: Deletes ApplicationBuilder.Builder

Deletes ApplicationBuilder.Builder

- Removes the Builder
- Adds ApplicationBuilder.newManagedApp(...) for use
  by tests.


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

Branch: refs/heads/0.5.0
Commit: f19185a6ce420d51c2758e0af2483c9e126eaef2
Parents: 7dbfb88
Author: Aled Sage <al...@gmail.com>
Authored: Thu Mar 28 16:12:39 2013 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Mon Apr 1 12:41:41 2013 +0100

----------------------------------------------------------------------
 .../entity/basic/ApplicationBuilder.java        | 140 ++++---------------
 .../enricher/CombiningEnricherTest.groovy       |   2 +-
 .../CustomAggregatingEnricherTest.groovy        |   2 +-
 .../SensorPropagatingEnricherTest.groovy        |   2 +-
 .../enricher/TransformingEnricherTest.groovy    |   2 +-
 .../entity/EntityPreManagementTest.java         |   2 +-
 .../entity/basic/AbstractEntityLegacyTest.java  |   6 +-
 .../entity/basic/DynamicGroupTest.groovy        |   2 +-
 .../entity/basic/EffectorBasicTest.java         |   2 +-
 .../entity/basic/EntityConfigMapUsageTest.java  |   2 +-
 .../entity/basic/EntitySubscriptionTest.groovy  |   2 +-
 .../brooklyn/entity/basic/EntityTypeTest.java   |   2 +-
 ...apListAndOtherStructuredConfigKeyTest.groovy |   2 +-
 .../entity/basic/PolicyRegistrationTest.java    |   2 +-
 .../downloads/BasicDownloadsRegistryTest.java   |   2 +-
 .../DownloadProducerFromLocalRepoTest.java      |   2 +-
 .../DownloadProducerFromPropertiesTest.java     |   2 +-
 .../downloads/DownloadSubstitutersTest.java     |   2 +-
 .../entity/group/DynamicClusterTest.groovy      |   2 +-
 .../entity/group/DynamicFabricTest.groovy       |   2 +-
 .../group/MembershipTrackingPolicyTest.java     |   2 +-
 .../ApplicationBuilderBuildingTest.java         | 137 ------------------
 .../entity/proxying/EntityManagerTest.java      |   2 +-
 .../entity/proxying/EntityProxyTest.java        |   2 +-
 .../event/feed/function/FunctionFeedTest.java   |   2 +-
 .../feed/http/HttpFeedSslIntegrationTest.java   |   2 +-
 .../brooklyn/event/feed/http/HttpFeedTest.java  |   2 +-
 .../feed/shell/ShellFeedIntegrationTest.java    |   2 +-
 .../event/feed/ssh/SshFeedIntegrationTest.java  |   2 +-
 ...stMachineProvisioningLocationRebindTest.java |   2 +-
 .../basic/TestPortSupplierLocation.groovy       |   2 +-
 .../internal/EntityExecutionManagerTest.groovy  |  12 +-
 .../internal/LocalSubscriptionManagerTest.java  |   2 +-
 .../policy/basic/PolicyConfigMapUsageTest.java  |   2 +-
 .../policy/basic/PolicySubscriptionTest.groovy  |   2 +-
 .../location/jclouds/CloudMachineNamerTest.java |   2 +-
 .../enricher/HttpLatencyDetectorTest.java       |   2 +-
 .../enricher/TimeFractionDeltaEnricherTest.java |   2 +-
 .../entity/brooklyn/BrooklynMetricsTest.groovy  |   2 +-
 .../autoscaling/AutoScalerPolicyMetricTest.java |   2 +-
 .../AutoScalerPolicyReconfigurationTest.java    |   2 +-
 .../ha/MemberFailureDetectionPolicyTest.java    |   2 +-
 .../brooklyn/entity/AbstractEc2LiveTest.java    |   2 +-
 .../basic/SoftwareProcessEntityTest.groovy      |   2 +-
 .../hadoop/WhirrHadoopClusterLiveTest.java      |   2 +-
 .../rest/util/BrooklynRestResourceUtils.java    |  32 ++---
 .../brooklyn/rest/domain/SensorSummaryTest.java |   2 +-
 47 files changed, 92 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java b/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
index 522a3d0..6164b31 100644
--- a/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
+++ b/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
@@ -2,15 +2,12 @@ package brooklyn.entity.basic;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import java.lang.reflect.Modifier;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import brooklyn.entity.Application;
 import brooklyn.entity.Entity;
 import brooklyn.entity.proxying.BasicEntitySpec;
 import brooklyn.entity.proxying.EntitySpec;
@@ -18,16 +15,9 @@ import brooklyn.entity.proxying.EntitySpecs;
 import brooklyn.management.EntityManager;
 import brooklyn.management.ManagementContext;
 
-import com.google.common.collect.Lists;
-
 /**
- * For building an application. There are two ways to use this:
- * <ul>
- *   <li>By sub-classing and overriding doBuild(), putting the logic for creating and wiring 
- *       together entities in there.
- *   <li>As a conventional builder, using ApplicationBuilder.build().
- *       This is simpler to use, but less powerful for injecting configuration of one entity into other entities.
- * </ul>
+ * For building an application. Users can sub-class and override doBuild(), putting the logic for  
+ * creating and wiring together entities in there.
  * 
  * The builder is mutable; a given instance should be used to build only a single application.
  * Once {@link manage()} has been called, the application will be built and no additional configuration
@@ -45,15 +35,6 @@ import com.google.common.collect.Lists;
  *   }.manage();
  * </code>
  * 
- * And example code for using the builder:
- * 
- * <code>
- *   app = ApplicationBuilder.builder()
- *           .child(EntitySpecs.spec(MySqlNode.class))
- *           .child(EntitySpecs.spec(JBoss7Server.class))
- *           .manage();
- * </code>
- * 
  * @author aled
  */
 public abstract class ApplicationBuilder {
@@ -61,110 +42,39 @@ public abstract class ApplicationBuilder {
     @SuppressWarnings("unused")
     private static final Logger LOG = LoggerFactory.getLogger(ApplicationBuilder.class);
 
-    /**
-     * @deprecated since 0.5.0-rc.1 (added in 0.5.0-M2)
-     */
-    public static <T extends StartableApplication> BasicEntitySpec<StartableApplication, ?> newAppSpec(Class<? extends T> type) {
-        return EntitySpecs.appSpec(type);
+    @SuppressWarnings("unchecked")
+    public static <T extends StartableApplication> T newManagedApp(Class<T> type) {
+        return (T) newManagedApp(EntitySpecs.appSpec(type));
     }
 
-    public static Builder<StartableApplication> builder() {
-        return new Builder<StartableApplication>().app(EntitySpecs.spec(BasicApplication.class));
+    @SuppressWarnings("unchecked")
+    public static <T extends StartableApplication> T newManagedApp(EntitySpec<T> spec) {
+        return (T) new ApplicationBuilder(spec) {
+            @Override protected void doBuild() {
+            }
+        }.manage();
     }
 
-    public static <T extends Application> Builder<T> builder(EntitySpec<T> appSpec) {
-        return new Builder<T>().app(appSpec);
+    @SuppressWarnings("unchecked")
+    public static <T extends StartableApplication> T newManagedApp(Class<T> type, ManagementContext managementContext) {
+        return (T) newManagedApp(EntitySpecs.appSpec(type), managementContext);
     }
 
-    /** smart builder factory method which takes an interface type _or_ an implementation type */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    public static <T extends Application,U extends T> Builder<T> builder(Class<? extends T> type) {
-        // TODO Don't think we want to handle abstract classes like this; it's not an interface so can't be
-        // used for proxying
-        if (type.isInterface() || ((type.getModifiers() & Modifier.ABSTRACT)!=0))
-            // is interface or abstract
-            return new Builder<T>().app(type);
-        else {
-            // is implementation
-            Class interfaceType = (StartableApplication.class.isAssignableFrom(type)) ? StartableApplication.class : Application.class;
-            Class<?>[] additionalInterfaceClazzes = type.getInterfaces();
-            EntitySpec<T> spec = EntitySpecs.spec((Class<T>)interfaceType, (Class<U>)type)
-                    .additionalInterfaces(additionalInterfaceClazzes);
-            return new Builder<T>().app(spec);
-        }
+    @SuppressWarnings("unchecked")
+    public static <T extends StartableApplication> T newManagedApp(EntitySpec<T> spec, ManagementContext managementContext) {
+        return (T) new ApplicationBuilder(spec) {
+            @Override protected void doBuild() {
+            }
+        }.manage(managementContext);
     }
 
-    public static <T extends Application> Builder<T> builder(Class<T> interfaceType, Class<T> implType) {
-        return new Builder<T>().app(EntitySpecs.spec(interfaceType, implType));
+    /**
+     * @deprecated since 0.5.0-rc.1 (added in 0.5.0-M2)
+     */
+    public static <T extends StartableApplication> BasicEntitySpec<StartableApplication, ?> newAppSpec(Class<? extends T> type) {
+        return EntitySpecs.appSpec(type);
     }
 
-    public static class Builder<T extends Application> {
-        protected volatile boolean managed = false;
-        private BasicEntitySpec<T, ?> appSpec;
-        private List<EntitySpec<?>> childSpecs = Lists.newArrayList();
-        
-        // Use static builder methods
-        protected Builder() {}
-        
-        // Use static builder methods
-        protected Builder<T> app(EntitySpec<? extends T> val) {
-            checkNotManaged();
-            this.appSpec = EntitySpecs.wrapSpec(val); 
-            return this;
-        }
-        
-        // Use static builder methods
-        @SuppressWarnings("unchecked")
-        protected Builder<T> app(Class<? extends T> type) {
-            checkNotManaged();
-            this.appSpec = EntitySpecs.spec((Class<T>)type); 
-            return this;
-        }
-        
-        public Builder<T> appImpl(Class<? extends T> val) {
-            checkNotManaged();
-            appSpec.impl(val);
-            return this;
-        }
-        
-        public Builder<T> displayName(String val) {
-            checkNotManaged();
-            appSpec.displayName(val);
-            return this;
-        }
-        
-        public final Builder<T> configure(Map<?,?> config) {
-            appSpec.configure(config);
-            return this;
-        }
-
-        public Builder<T> child(EntitySpec<?> val) {
-            checkNotManaged();
-            childSpecs.add(val);
-            return this;
-        }
-        
-        public final T manage() {
-            return manage(Entities.newManagementContext());
-        }
-        
-        public final T manage(ManagementContext managementContext) {
-            checkNotManaged();
-            managed = true;
-            T app = managementContext.getEntityManager().createEntity(appSpec);
-            for (EntitySpec<?> childSpec : childSpecs) {
-                Entity child = managementContext.getEntityManager().createEntity(childSpec);
-                app.addChild(child);
-            }
-            Entities.startManagement(app, managementContext);
-            return app;
-        }
-        
-        protected void checkNotManaged() {
-            if (managed) throw new IllegalStateException("Builder already managed; cannot perform operation after call to manage()");
-        }
-    }
-    
     protected volatile boolean managed = false;
     protected final AtomicBoolean inManage = new AtomicBoolean(false);
     private BasicEntitySpec<? extends StartableApplication, ?> appSpec;

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/enricher/CombiningEnricherTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/CombiningEnricherTest.groovy b/core/src/test/java/brooklyn/enricher/CombiningEnricherTest.groovy
index 00d78cd..f9fc81a 100644
--- a/core/src/test/java/brooklyn/enricher/CombiningEnricherTest.groovy
+++ b/core/src/test/java/brooklyn/enricher/CombiningEnricherTest.groovy
@@ -32,7 +32,7 @@ class CombiningEnricherTest {
 
     @BeforeMethod(alwaysRun=true)
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         producer = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         intSensorA = new BasicAttributeSensor<Integer>(Integer.class, "int.sensor.a");
         intSensorB = new BasicAttributeSensor<Integer>(Integer.class, "int.sensor.b");

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/enricher/CustomAggregatingEnricherTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/CustomAggregatingEnricherTest.groovy b/core/src/test/java/brooklyn/enricher/CustomAggregatingEnricherTest.groovy
index b840c4b..dcb8eaf 100644
--- a/core/src/test/java/brooklyn/enricher/CustomAggregatingEnricherTest.groovy
+++ b/core/src/test/java/brooklyn/enricher/CustomAggregatingEnricherTest.groovy
@@ -38,7 +38,7 @@ class CustomAggregatingEnricherTest {
 
     @BeforeMethod(alwaysRun=true)
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         producer = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         intSensor = new BasicAttributeSensor<Integer>(Integer.class, "int sensor")
         target = new BasicAttributeSensor<Integer>(Long.class, "target sensor")

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.groovy b/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.groovy
index 53fc9d5..c4615d9 100644
--- a/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.groovy
+++ b/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.groovy
@@ -16,7 +16,7 @@ class SensorPropagatingEnricherTest {
 
     @Test
     public void testPropagation() {
-        TestApplication app = ApplicationBuilder.builder(TestApplication.class).manage();
+        TestApplication app = ApplicationBuilder.newManagedApp(TestApplication.class);
         TestEntity entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         app.addEnricher(SensorPropagatingEnricher.newInstanceListeningToAllSensorsBut(entity, TestEntity.SEQUENCE)) 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/enricher/TransformingEnricherTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/TransformingEnricherTest.groovy b/core/src/test/java/brooklyn/enricher/TransformingEnricherTest.groovy
index d3dfa2b..a0f074d 100644
--- a/core/src/test/java/brooklyn/enricher/TransformingEnricherTest.groovy
+++ b/core/src/test/java/brooklyn/enricher/TransformingEnricherTest.groovy
@@ -35,7 +35,7 @@ public class TransformingEnricherTest {
 
     @BeforeMethod()
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         producer = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         intSensorA = new BasicAttributeSensor<Integer>(Integer.class, "int.sensor.a");
         target = new BasicAttributeSensor<Long>(Long.class, "long.sensor.target");

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/EntityPreManagementTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/EntityPreManagementTest.java b/core/src/test/java/brooklyn/entity/EntityPreManagementTest.java
index 10ade62..47b2f3e 100644
--- a/core/src/test/java/brooklyn/entity/EntityPreManagementTest.java
+++ b/core/src/test/java/brooklyn/entity/EntityPreManagementTest.java
@@ -80,7 +80,7 @@ public class EntityPreManagementTest {
         if (!events.isEmpty()) Assert.fail("Shouldn't have events yet: "+events);
         Assert.assertFalse(e.getManagementSupport().isManagementContextReal());
         
-        TestApplication app = ApplicationBuilder.builder(TestApplication.class).manage(managementContext);
+        TestApplication app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext);
         e.setParent(app);
         Entities.manage(e);
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/AbstractEntityLegacyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/AbstractEntityLegacyTest.java b/core/src/test/java/brooklyn/entity/basic/AbstractEntityLegacyTest.java
index 7d9a411..fa5d8ed 100644
--- a/core/src/test/java/brooklyn/entity/basic/AbstractEntityLegacyTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/AbstractEntityLegacyTest.java
@@ -91,7 +91,7 @@ public class AbstractEntityLegacyTest {
     
     @Test
     public void testNewStyleCallsConfigureAfterConstruction() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         MyEntity entity = app.createChild(EntitySpecs.spec(MyEntity.class));
         
         assertEquals(entity.getConfigureCount(), 1);
@@ -122,7 +122,7 @@ public class AbstractEntityLegacyTest {
     
     @Test
     public void testNewStyleSetsDefaultDisplayName() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         MyEntity entity = app.createChild(EntitySpecs.spec(MyEntity.class));
         
         assertTrue(entity.getDisplayName().startsWith("MyEntity:"+entity.getId().substring(0,4)), "displayName="+entity.getDisplayName());
@@ -130,7 +130,7 @@ public class AbstractEntityLegacyTest {
     
     @Test
     public void testNewStyleUsesCustomDisplayName() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).displayName("appname").manage();
+        app = ApplicationBuilder.newManagedApp(EntitySpecs.spec(TestApplication.class).displayName("appname"));
         MyEntity entity = app.createChild(EntitySpecs.spec(MyEntity.class).displayName("entityname"));
         
         assertEquals(app.getDisplayName(), "appname");

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/DynamicGroupTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/DynamicGroupTest.groovy b/core/src/test/java/brooklyn/entity/basic/DynamicGroupTest.groovy
index e1245d1..45110fb 100644
--- a/core/src/test/java/brooklyn/entity/basic/DynamicGroupTest.groovy
+++ b/core/src/test/java/brooklyn/entity/basic/DynamicGroupTest.groovy
@@ -42,7 +42,7 @@ public class DynamicGroupTest {
     
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         group = app.createAndManageChild(EntitySpecs.spec(DynamicGroup.class));
         e1 = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         e2 = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/EffectorBasicTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/EffectorBasicTest.java b/core/src/test/java/brooklyn/entity/basic/EffectorBasicTest.java
index ec0c4b8..454b677 100644
--- a/core/src/test/java/brooklyn/entity/basic/EffectorBasicTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/EffectorBasicTest.java
@@ -33,7 +33,7 @@ public class EffectorBasicTest {
     
     @BeforeMethod(alwaysRun=true)
     public void setup() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         locs = ImmutableList.of(new SimulatedLocation());
     }
     

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/EntityConfigMapUsageTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/EntityConfigMapUsageTest.java b/core/src/test/java/brooklyn/entity/basic/EntityConfigMapUsageTest.java
index 4e21039..b5efd58 100644
--- a/core/src/test/java/brooklyn/entity/basic/EntityConfigMapUsageTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/EntityConfigMapUsageTest.java
@@ -41,7 +41,7 @@ public class EntityConfigMapUsageTest {
     
     @BeforeMethod
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         locs = ImmutableList.of(new SimulatedLocation());
     }
     

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/EntitySubscriptionTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/EntitySubscriptionTest.groovy b/core/src/test/java/brooklyn/entity/basic/EntitySubscriptionTest.groovy
index 625cfb0..d44205e 100644
--- a/core/src/test/java/brooklyn/entity/basic/EntitySubscriptionTest.groovy
+++ b/core/src/test/java/brooklyn/entity/basic/EntitySubscriptionTest.groovy
@@ -38,7 +38,7 @@ public class EntitySubscriptionTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         observedEntity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         observedChildEntity = observedEntity.createAndManageChild(EntitySpecs.spec(TestEntity.class));

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/EntityTypeTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/EntityTypeTest.java b/core/src/test/java/brooklyn/entity/basic/EntityTypeTest.java
index 715d333..4e444e6 100644
--- a/core/src/test/java/brooklyn/entity/basic/EntityTypeTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/EntityTypeTest.java
@@ -35,7 +35,7 @@ public class EntityTypeTest {
     
     @BeforeMethod
     public void setUpTestEntity() throws Exception{
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = new AbstractEntity(app) {};
         Entities.startManagement(entity);
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/MapListAndOtherStructuredConfigKeyTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/MapListAndOtherStructuredConfigKeyTest.groovy b/core/src/test/java/brooklyn/entity/basic/MapListAndOtherStructuredConfigKeyTest.groovy
index 27979e2..4a1061f 100644
--- a/core/src/test/java/brooklyn/entity/basic/MapListAndOtherStructuredConfigKeyTest.groovy
+++ b/core/src/test/java/brooklyn/entity/basic/MapListAndOtherStructuredConfigKeyTest.groovy
@@ -28,7 +28,7 @@ public class MapListAndOtherStructuredConfigKeyTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
         locs = ImmutableList.of(new SimulatedLocation());
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java b/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
index 84cf141..207388e 100644
--- a/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
@@ -38,7 +38,7 @@ public class PolicyRegistrationTest {
 
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         policy1 = new AbstractPolicy() {};
         policy2 = new AbstractPolicy() {};

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/drivers/downloads/BasicDownloadsRegistryTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/drivers/downloads/BasicDownloadsRegistryTest.java b/core/src/test/java/brooklyn/entity/drivers/downloads/BasicDownloadsRegistryTest.java
index a86b05e..9977831 100644
--- a/core/src/test/java/brooklyn/entity/drivers/downloads/BasicDownloadsRegistryTest.java
+++ b/core/src/test/java/brooklyn/entity/drivers/downloads/BasicDownloadsRegistryTest.java
@@ -37,7 +37,7 @@ public class BasicDownloadsRegistryTest {
         managementContext = new LocalManagementContext(brooklynProperties);
 
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage(managementContext);
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         driver = new MyEntityDriver(entity, loc);
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java
index 025e076..bc2dc2b 100644
--- a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java
+++ b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java
@@ -41,7 +41,7 @@ public class DownloadProducerFromLocalRepoTest {
         managementContext = new LocalManagementContext(brooklynProperties);
         
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage(managementContext);
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         driver = new MyEntityDriver(entity, loc);
         entitySimpleType = TestEntity.class.getSimpleName();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java
index 9b0e71d..2afb619 100644
--- a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java
+++ b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java
@@ -41,7 +41,7 @@ public class DownloadProducerFromPropertiesTest {
         managementContext = new LocalManagementContext(brooklynProperties);
         
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage(managementContext);
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         driver = new MyEntityDriver(entity, loc);
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadSubstitutersTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadSubstitutersTest.java b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadSubstitutersTest.java
index 3eb4731..467c312 100644
--- a/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadSubstitutersTest.java
+++ b/core/src/test/java/brooklyn/entity/drivers/downloads/DownloadSubstitutersTest.java
@@ -33,7 +33,7 @@ public class DownloadSubstitutersTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         driver = new MyEntityDriver(entity, loc);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/group/DynamicClusterTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/group/DynamicClusterTest.groovy b/core/src/test/java/brooklyn/entity/group/DynamicClusterTest.groovy
index 11d2373..0d138ad 100644
--- a/core/src/test/java/brooklyn/entity/group/DynamicClusterTest.groovy
+++ b/core/src/test/java/brooklyn/entity/group/DynamicClusterTest.groovy
@@ -46,7 +46,7 @@ class DynamicClusterTest {
     
     @BeforeMethod
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         loc = new SimulatedLocation()
         loc2 = new SimulatedLocation()
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/group/DynamicFabricTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/group/DynamicFabricTest.groovy b/core/src/test/java/brooklyn/entity/group/DynamicFabricTest.groovy
index b914e3d..b693b50 100644
--- a/core/src/test/java/brooklyn/entity/group/DynamicFabricTest.groovy
+++ b/core/src/test/java/brooklyn/entity/group/DynamicFabricTest.groovy
@@ -51,7 +51,7 @@ class DynamicFabricTest {
         loc1 = new SimulatedLocation()
         loc2 = new SimulatedLocation()
         loc3 = new SimulatedLocation()
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java b/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
index ab60ebb..a2d2257 100644
--- a/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
+++ b/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
@@ -39,7 +39,7 @@ public class MembershipTrackingPolicyTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entityManager = app.getManagementContext().getEntityManager();
         
         group = app.createAndManageChild(EntitySpecs.spec(BasicGroup.class)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/proxying/ApplicationBuilderBuildingTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/proxying/ApplicationBuilderBuildingTest.java b/core/src/test/java/brooklyn/entity/proxying/ApplicationBuilderBuildingTest.java
deleted file mode 100644
index f334115..0000000
--- a/core/src/test/java/brooklyn/entity/proxying/ApplicationBuilderBuildingTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package brooklyn.entity.proxying;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.Test;
-
-import brooklyn.entity.Application;
-import brooklyn.entity.Entity;
-import brooklyn.entity.basic.AbstractApplication;
-import brooklyn.entity.basic.AbstractEntity;
-import brooklyn.entity.basic.ApplicationBuilder;
-import brooklyn.entity.basic.BasicApplication;
-import brooklyn.entity.basic.Entities;
-import brooklyn.entity.basic.EntityInternal;
-import brooklyn.entity.basic.StartableApplication;
-import brooklyn.injava.ExampleJavaPolicy;
-import brooklyn.management.ManagementContext;
-import brooklyn.test.entity.TestApplication;
-import brooklyn.test.entity.TestEntity;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-
-public class ApplicationBuilderBuildingTest {
-
-    private Application app;
-    
-    @AfterMethod(alwaysRun=true)
-    public void tearDown() {
-        if (app != null) Entities.destroy(app);
-        app = null;
-    }
-
-    @Test
-    public void testUsesDefaultBasicApplicationClass() {
-        app = ApplicationBuilder.builder().manage();
-        
-        assertEquals(app.getEntityType().getName(), BasicApplication.class.getCanonicalName());
-        assertIsProxy(app);
-    }
-    
-    @Test
-    public void testUsesSuppliedApplicationClass() {
-        app = ApplicationBuilder.builder(EntitySpecs.spec(TestApplication.class)).manage();
-        
-        assertEquals(app.getEntityType().getName(), TestApplication.class.getName());
-    }
-
-    @Test
-    public void testUsesSuppliedManagementContext() {
-        ManagementContext managementContext = Entities.newManagementContext();
-        app = ApplicationBuilder.builder().manage(managementContext);
-        
-        assertEquals(app.getManagementContext(), managementContext);
-    }
-
-    @Test
-    public void testCreatesChildEntity() {
-        app = ApplicationBuilder.builder()
-                .child(TestEntity.Spec.newInstance())
-                .manage();
-        Entity child = Iterables.getOnlyElement(app.getChildren());
-        
-        assertIsProxy(child);
-        assertEquals(child.getParent(), app);
-        assertTrue(child instanceof TestEntity, "child="+child);
-    }
-
-    @Test
-    public void testCreatesEntityWithPolicy() {
-        ExampleJavaPolicy policy = new ExampleJavaPolicy();
-        app = ApplicationBuilder.builder()
-                .child(TestEntity.Spec.newInstance().policy(policy))
-                .manage();
-        Entity child = Iterables.getOnlyElement(app.getChildren());
-        
-        assertEquals(ImmutableList.copyOf(child.getPolicies()), ImmutableList.of(policy));
-    }
-
-    @Test
-    public void testAppHierarchyIsManaged() {
-        app = ApplicationBuilder.builder()
-                .child(TestEntity.Spec.newInstance())
-                .manage();
-        
-        assertIsManaged(app);
-        assertIsManaged(Iterables.getOnlyElement(app.getChildren()));
-    }
-
-    @Test
-    public void testCreateAppFromImplClass() {
-        app = ApplicationBuilder.builder(MyApplicationImpl.class).manage();
-        
-        assertTrue(app instanceof EntityProxy);
-        assertTrue(app instanceof MyInterface);
-        assertFalse(app instanceof MyApplicationImpl);
-        assertEquals(app.getEntityType().getName(), MyApplicationImpl.class.getCanonicalName());
-    }
-
-    @Test
-    public void testCreateAppSpecUsingInterface() {
-        BasicEntitySpec<StartableApplication, ?> spec = EntitySpecs.appSpec(TestApplication.class);
-        app = ApplicationBuilder.builder(spec).manage();
-        
-        assertEquals(app.getEntityType().getName(), TestApplication.class.getCanonicalName());
-    }
-    
-    @Test
-    public void testCreatesAppSpecUsingImplClass() {
-        BasicEntitySpec<StartableApplication, ?> spec = EntitySpecs.appSpec(MyApplicationImpl.class);
-        app = ApplicationBuilder.builder(spec).manage();
-        
-        assertTrue(app instanceof EntityProxy);
-        assertTrue(app instanceof MyInterface);
-        assertFalse(app instanceof MyApplicationImpl);
-        assertEquals(app.getEntityType().getName(), MyApplicationImpl.class.getCanonicalName());
-    }
-    
-    private void assertIsProxy(Entity e) {
-        assertFalse(e instanceof AbstractEntity, "e="+e+";e.class="+e.getClass());
-        assertTrue(e instanceof EntityProxy, "e="+e+";e.class="+e.getClass());
-    }
-    
-    private void assertIsManaged(Entity e) {
-        assertTrue(((EntityInternal)e).getManagementSupport().isDeployed(), "e="+e);
-    }
-    
-    public interface MyInterface {
-    }
-    
-    public static class MyApplicationImpl extends AbstractApplication implements MyInterface {
-        
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/proxying/EntityManagerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/proxying/EntityManagerTest.java b/core/src/test/java/brooklyn/entity/proxying/EntityManagerTest.java
index 6ae5dd4..f30f518 100644
--- a/core/src/test/java/brooklyn/entity/proxying/EntityManagerTest.java
+++ b/core/src/test/java/brooklyn/entity/proxying/EntityManagerTest.java
@@ -25,7 +25,7 @@ public class EntityManagerTest {
 
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
     }
     
     @AfterMethod(alwaysRun=true)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/entity/proxying/EntityProxyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/proxying/EntityProxyTest.java b/core/src/test/java/brooklyn/entity/proxying/EntityProxyTest.java
index 2ef81b5..cff2c6e 100644
--- a/core/src/test/java/brooklyn/entity/proxying/EntityProxyTest.java
+++ b/core/src/test/java/brooklyn/entity/proxying/EntityProxyTest.java
@@ -37,7 +37,7 @@ public class EntityProxyTest {
     
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(TestEntity.Spec.newInstance());
         managementContext = app.getManagementContext();
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/event/feed/function/FunctionFeedTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/event/feed/function/FunctionFeedTest.java b/core/src/test/java/brooklyn/event/feed/function/FunctionFeedTest.java
index fb03cae..49c5fb8 100644
--- a/core/src/test/java/brooklyn/event/feed/function/FunctionFeedTest.java
+++ b/core/src/test/java/brooklyn/event/feed/function/FunctionFeedTest.java
@@ -46,7 +46,7 @@ public class FunctionFeedTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
         loc = new LocalhostMachineProvisioningLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/event/feed/http/HttpFeedSslIntegrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/event/feed/http/HttpFeedSslIntegrationTest.java b/core/src/test/java/brooklyn/event/feed/http/HttpFeedSslIntegrationTest.java
index 834a638..7b367cc 100644
--- a/core/src/test/java/brooklyn/event/feed/http/HttpFeedSslIntegrationTest.java
+++ b/core/src/test/java/brooklyn/event/feed/http/HttpFeedSslIntegrationTest.java
@@ -47,7 +47,7 @@ public class HttpFeedSslIntegrationTest {
         baseUrl = new URI(httpService.getUrl());
 
         loc = new LocalhostMachineProvisioningLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/event/feed/http/HttpFeedTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/event/feed/http/HttpFeedTest.java b/core/src/test/java/brooklyn/event/feed/http/HttpFeedTest.java
index a3dd3f1..5da0893 100644
--- a/core/src/test/java/brooklyn/event/feed/http/HttpFeedTest.java
+++ b/core/src/test/java/brooklyn/event/feed/http/HttpFeedTest.java
@@ -62,7 +62,7 @@ public class HttpFeedTest {
         baseUrl = server.getUrl("/");
 
         loc = new LocalhostMachineProvisioningLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/event/feed/shell/ShellFeedIntegrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/event/feed/shell/ShellFeedIntegrationTest.java b/core/src/test/java/brooklyn/event/feed/shell/ShellFeedIntegrationTest.java
index 184bfcf..817c860 100644
--- a/core/src/test/java/brooklyn/event/feed/shell/ShellFeedIntegrationTest.java
+++ b/core/src/test/java/brooklyn/event/feed/shell/ShellFeedIntegrationTest.java
@@ -43,7 +43,7 @@ public class ShellFeedIntegrationTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
         loc = new LocalhostMachineProvisioningLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/event/feed/ssh/SshFeedIntegrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/event/feed/ssh/SshFeedIntegrationTest.java b/core/src/test/java/brooklyn/event/feed/ssh/SshFeedIntegrationTest.java
index 6040332..80dd7b8 100644
--- a/core/src/test/java/brooklyn/event/feed/ssh/SshFeedIntegrationTest.java
+++ b/core/src/test/java/brooklyn/event/feed/ssh/SshFeedIntegrationTest.java
@@ -38,7 +38,7 @@ public class SshFeedIntegrationTest {
     public void setUp() throws Exception {
         loc = new LocalhostMachineProvisioningLocation();
         machine = loc.obtain();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationRebindTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationRebindTest.java b/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationRebindTest.java
index 4001471..3862f11 100644
--- a/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationRebindTest.java
+++ b/core/src/test/java/brooklyn/location/basic/FixedListMachineProvisioningLocationRebindTest.java
@@ -43,7 +43,7 @@ public class FixedListMachineProvisioningLocationRebindTest {
     			.keyData("myKeyData")
     			.keyPassphrase("myKeyPassphrase")
     			.build();
-        origApp = ApplicationBuilder.builder(TestApplication.class).manage(managementContext);
+        origApp = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext);
     	origApp.start(ImmutableList.of(origLoc));
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/location/basic/TestPortSupplierLocation.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/location/basic/TestPortSupplierLocation.groovy b/core/src/test/java/brooklyn/location/basic/TestPortSupplierLocation.groovy
index 8a59b09..ee909a9 100644
--- a/core/src/test/java/brooklyn/location/basic/TestPortSupplierLocation.groovy
+++ b/core/src/test/java/brooklyn/location/basic/TestPortSupplierLocation.groovy
@@ -20,7 +20,7 @@ public class TestPortSupplierLocation {
     @BeforeMethod
     public void setup() {
         l = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         e = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start([l]);
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/management/internal/EntityExecutionManagerTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/management/internal/EntityExecutionManagerTest.groovy b/core/src/test/java/brooklyn/management/internal/EntityExecutionManagerTest.groovy
index f7fe579..536b806 100644
--- a/core/src/test/java/brooklyn/management/internal/EntityExecutionManagerTest.groovy
+++ b/core/src/test/java/brooklyn/management/internal/EntityExecutionManagerTest.groovy
@@ -47,7 +47,7 @@ class EntityExecutionManagerTest {
 
     @Test
     public void testGetTasksOfEntity() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         e = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         CountDownLatch latch = new CountDownLatch(1)
@@ -60,7 +60,7 @@ class EntityExecutionManagerTest {
     
     @Test
     public void testUnmanagedEntityCanBeGcedEvenIfPreviouslyTagged() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         e = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         String eId = e.getId();
         
@@ -86,7 +86,7 @@ class EntityExecutionManagerTest {
     
     @Test(groups="Integration")
     public void testUnmanagedEntityGcedOnUnmanageEvenIfEffectorInvoked() throws Exception {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         
         BasicAttributeSensor byteArrayAttrib = new BasicAttributeSensor(Object.class, "test.byteArray", "");
 
@@ -115,7 +115,7 @@ class EntityExecutionManagerTest {
         brooklynProperties.put(BrooklynGarbageCollector.GC_PERIOD, 1);
         brooklynProperties.put(BrooklynGarbageCollector.MAX_TASKS_PER_TAG, 2);
         
-        app = ApplicationBuilder.builder(TestApplication.class).manage(Entities.newManagementContext(brooklynProperties));
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, Entities.newManagementContext(brooklynProperties));
         TestEntity entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         for (int i = 0; i < 1000; i++) {
@@ -139,7 +139,7 @@ class EntityExecutionManagerTest {
         brooklynProperties.put(BrooklynGarbageCollector.GC_PERIOD, 1000);
         brooklynProperties.put(BrooklynGarbageCollector.MAX_TASKS_PER_TAG, 2);
         
-        app = ApplicationBuilder.builder(TestApplication.class).manage(Entities.newManagementContext(brooklynProperties));
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, Entities.newManagementContext(brooklynProperties));
         TestEntity entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         List<Task<?>> tasks = Lists.newArrayList();
@@ -171,7 +171,7 @@ class EntityExecutionManagerTest {
         brooklynProperties.put(BrooklynGarbageCollector.GC_PERIOD, 1);
         brooklynProperties.put(BrooklynGarbageCollector.MAX_TASK_AGE, maxTaskAge);
         
-        app = ApplicationBuilder.builder(TestApplication.class).manage(Entities.newManagementContext(brooklynProperties));
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, Entities.newManagementContext(brooklynProperties));
         TestEntity entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         Stopwatch stopwatch = new Stopwatch().start();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/management/internal/LocalSubscriptionManagerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/management/internal/LocalSubscriptionManagerTest.java b/core/src/test/java/brooklyn/management/internal/LocalSubscriptionManagerTest.java
index e4e518e..9817f47 100644
--- a/core/src/test/java/brooklyn/management/internal/LocalSubscriptionManagerTest.java
+++ b/core/src/test/java/brooklyn/management/internal/LocalSubscriptionManagerTest.java
@@ -36,7 +36,7 @@ public class LocalSubscriptionManagerTest {
     
     @BeforeMethod(alwaysRun=true)
     public void setup() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/policy/basic/PolicyConfigMapUsageTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/policy/basic/PolicyConfigMapUsageTest.java b/core/src/test/java/brooklyn/policy/basic/PolicyConfigMapUsageTest.java
index 2b45f12..631bc71 100644
--- a/core/src/test/java/brooklyn/policy/basic/PolicyConfigMapUsageTest.java
+++ b/core/src/test/java/brooklyn/policy/basic/PolicyConfigMapUsageTest.java
@@ -55,7 +55,7 @@ public class PolicyConfigMapUsageTest {
     
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
     }
     
     @AfterMethod(alwaysRun=true)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/core/src/test/java/brooklyn/policy/basic/PolicySubscriptionTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/policy/basic/PolicySubscriptionTest.groovy b/core/src/test/java/brooklyn/policy/basic/PolicySubscriptionTest.groovy
index bedd4ac..3619070 100644
--- a/core/src/test/java/brooklyn/policy/basic/PolicySubscriptionTest.groovy
+++ b/core/src/test/java/brooklyn/policy/basic/PolicySubscriptionTest.groovy
@@ -35,7 +35,7 @@ public class PolicySubscriptionTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() {
         loc = new SimulatedLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         entity2 = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         listener = new RecordingSensorEventListener();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/locations/jclouds/src/test/java/brooklyn/location/jclouds/CloudMachineNamerTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/brooklyn/location/jclouds/CloudMachineNamerTest.java b/locations/jclouds/src/test/java/brooklyn/location/jclouds/CloudMachineNamerTest.java
index 2213b4b..40fe4c3 100644
--- a/locations/jclouds/src/test/java/brooklyn/location/jclouds/CloudMachineNamerTest.java
+++ b/locations/jclouds/src/test/java/brooklyn/location/jclouds/CloudMachineNamerTest.java
@@ -37,7 +37,7 @@ public class CloudMachineNamerTest {
 
     @Test
     public void testGenerateGroupIdWithEntity() {
-        TestApplication app = ApplicationBuilder.builder(TestApplication.class).displayName("TistApp").manage();
+        TestApplication app = ApplicationBuilder.newManagedApp(EntitySpecs.spec(TestApplication.class).displayName("TistApp"));
         TestEntity child = app.createAndManageChild(EntitySpecs.spec(TestEntity.class).displayName("TestEnt"));
         try {
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java b/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
index 184d611..1af5722 100644
--- a/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
+++ b/policy/src/test/java/brooklyn/enricher/HttpLatencyDetectorTest.java
@@ -34,7 +34,7 @@ public class HttpLatencyDetectorTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
         loc = new LocalhostMachineProvisioningLocation();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         app.start(ImmutableList.of(loc));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/enricher/TimeFractionDeltaEnricherTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/enricher/TimeFractionDeltaEnricherTest.java b/policy/src/test/java/brooklyn/enricher/TimeFractionDeltaEnricherTest.java
index 615f9b6..c39220b 100644
--- a/policy/src/test/java/brooklyn/enricher/TimeFractionDeltaEnricherTest.java
+++ b/policy/src/test/java/brooklyn/enricher/TimeFractionDeltaEnricherTest.java
@@ -33,7 +33,7 @@ public class TimeFractionDeltaEnricherTest {
     
     @BeforeMethod(alwaysRun=true)
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         producer = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         
         intSensor = new BasicAttributeSensor<Integer>(Integer.class, "int sensor");

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.groovy
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.groovy b/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.groovy
index 793bf3d..0b348c6 100644
--- a/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.groovy
+++ b/policy/src/test/java/brooklyn/entity/brooklyn/BrooklynMetricsTest.groovy
@@ -26,7 +26,7 @@ class BrooklynMetricsTest {
     
     @BeforeMethod
     public void setUp() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         loc = new SimulatedLocation()
         brooklynMetrics = new BrooklynMetrics(updatePeriod:10L, parent:app)
         Entities.manage(brooklynMetrics);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java
index e93a34a..3ae05da 100644
--- a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java
+++ b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyMetricTest.java
@@ -36,7 +36,7 @@ public class AutoScalerPolicyMetricTest {
     
     @BeforeMethod()
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         tc = app.createAndManageChild(EntitySpecs.spec(TestCluster.class)
                 .configure("initialSize", 1));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyReconfigurationTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyReconfigurationTest.java b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyReconfigurationTest.java
index 5a67a2c..2223b90 100644
--- a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyReconfigurationTest.java
+++ b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyReconfigurationTest.java
@@ -24,7 +24,7 @@ public class AutoScalerPolicyReconfigurationTest {
     
     @BeforeMethod()
     public void before() {
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         tc = app.createAndManageChild(EntitySpecs.spec(TestCluster.class)
                 .configure("initialSize", 1));
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/policy/src/test/java/brooklyn/policy/ha/MemberFailureDetectionPolicyTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/MemberFailureDetectionPolicyTest.java b/policy/src/test/java/brooklyn/policy/ha/MemberFailureDetectionPolicyTest.java
index b434b57..e8c0fdd 100644
--- a/policy/src/test/java/brooklyn/policy/ha/MemberFailureDetectionPolicyTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/MemberFailureDetectionPolicyTest.java
@@ -41,7 +41,7 @@ public class MemberFailureDetectionPolicyTest {
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
         events = new CopyOnWriteArrayList<SensorEvent<FailureDescriptor>>();
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         group = app.createAndManageChild(EntitySpecs.spec(BasicGroup.class)
                 .configure("childrenAsMembers", true));
         

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java b/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
index 42aaed1..582d2ad 100644
--- a/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
+++ b/software/base/src/test/java/brooklyn/entity/AbstractEc2LiveTest.java
@@ -56,7 +56,7 @@ public abstract class AbstractEc2LiveTest {
         brooklynProperties.remove("brooklyn.ssh.config.scriptHeader");
         
         ctx = new LocalManagementContext(brooklynProperties);
-        app = ApplicationBuilder.builder(TestApplication.class).manage(ctx);
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, ctx);
     }
 
     @AfterMethod(alwaysRun=true)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/software/base/src/test/java/brooklyn/entity/basic/SoftwareProcessEntityTest.groovy
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/basic/SoftwareProcessEntityTest.groovy b/software/base/src/test/java/brooklyn/entity/basic/SoftwareProcessEntityTest.groovy
index aa4c771..2fe1e3d 100644
--- a/software/base/src/test/java/brooklyn/entity/basic/SoftwareProcessEntityTest.groovy
+++ b/software/base/src/test/java/brooklyn/entity/basic/SoftwareProcessEntityTest.groovy
@@ -33,7 +33,7 @@ public class SoftwareProcessEntityTest {
     public void setUp() throws Exception {
         machine = new SshMachineLocation(address:"localhost");
         loc = new FixedListMachineProvisioningLocation<MachineLocation>(machines:[machine]);
-        app = ApplicationBuilder.builder(TestApplication.class).manage();
+        app = ApplicationBuilder.newManagedApp(TestApplication.class);
         //entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
         MyService entity = new MyService(app)
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/systems/whirr/hadoop/src/test/java/brooklyn/extras/whirr/hadoop/WhirrHadoopClusterLiveTest.java
----------------------------------------------------------------------
diff --git a/systems/whirr/hadoop/src/test/java/brooklyn/extras/whirr/hadoop/WhirrHadoopClusterLiveTest.java b/systems/whirr/hadoop/src/test/java/brooklyn/extras/whirr/hadoop/WhirrHadoopClusterLiveTest.java
index 394f788..155e96c 100644
--- a/systems/whirr/hadoop/src/test/java/brooklyn/extras/whirr/hadoop/WhirrHadoopClusterLiveTest.java
+++ b/systems/whirr/hadoop/src/test/java/brooklyn/extras/whirr/hadoop/WhirrHadoopClusterLiveTest.java
@@ -32,7 +32,7 @@ public class WhirrHadoopClusterLiveTest {
     public void setUp() throws Exception {
         brooklynProperties = BrooklynProperties.Factory.newDefault();
         ctx = new LocalManagementContext(brooklynProperties);
-        app = ApplicationBuilder.builder(TestApplication.class).manage(ctx);
+        app = ApplicationBuilder.newManagedApp(TestApplication.class, ctx);
     }
 
     @AfterMethod(alwaysRun=true)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/usage/rest/src/main/java/brooklyn/rest/util/BrooklynRestResourceUtils.java
----------------------------------------------------------------------
diff --git a/usage/rest/src/main/java/brooklyn/rest/util/BrooklynRestResourceUtils.java b/usage/rest/src/main/java/brooklyn/rest/util/BrooklynRestResourceUtils.java
index eea5da0..54e4a94 100644
--- a/usage/rest/src/main/java/brooklyn/rest/util/BrooklynRestResourceUtils.java
+++ b/usage/rest/src/main/java/brooklyn/rest/util/BrooklynRestResourceUtils.java
@@ -24,7 +24,6 @@ import brooklyn.entity.Application;
 import brooklyn.entity.Entity;
 import brooklyn.entity.basic.AbstractEntity;
 import brooklyn.entity.basic.ApplicationBuilder;
-import brooklyn.entity.basic.ApplicationBuilder.Builder;
 import brooklyn.entity.basic.BasicApplication;
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.EntityInternal;
@@ -165,10 +164,10 @@ public class BrooklynRestResourceUtils {
     public Application create(ApplicationSpec spec) {
         log.debug("REST creating application instance for {}", spec);
         
-        String type = spec.getType();
-        String name = spec.getName();
-        Map<String,String> configO = spec.getConfig();
-        Set<EntitySpec> entities = (spec.getEntities() == null) ? ImmutableSet.<EntitySpec>of() : spec.getEntities();
+        final String type = spec.getType();
+        final String name = spec.getName();
+        final Map<String,String> configO = spec.getConfig();
+        final Set<EntitySpec> entities = (spec.getEntities() == null) ? ImmutableSet.<EntitySpec>of() : spec.getEntities();
         
         final Application instance;
 
@@ -204,27 +203,28 @@ public class BrooklynRestResourceUtils {
                 instance = appBuilder.manage(mgmt);
                 
             } else if (Application.class.isAssignableFrom(clazz)) {
-                brooklyn.entity.proxying.EntitySpec<? extends Application> coreSpec = 
-                        (brooklyn.entity.proxying.EntitySpec<? extends Application>) toCoreEntitySpec(clazz, name, configO);
-                Builder<? extends Application> builder = ApplicationBuilder.builder(coreSpec);
+                brooklyn.entity.proxying.EntitySpec<?> coreSpec = toCoreEntitySpec(clazz, name, configO);
+                instance = (Application) mgmt.getEntityManager().createEntity(coreSpec);
                 for (EntitySpec entitySpec : entities) {
                     log.info("REST creating instance for entity {}", entitySpec.getType());
-                    builder.child(toCoreEntitySpec(entitySpec));
+                    instance.addChild(mgmt.getEntityManager().createEntity(toCoreEntitySpec(entitySpec)));
                 }
                 
                 log.info("REST placing '{}' under management", spec.getName());
-                instance = builder.manage(mgmt);
+                Entities.startManagement(instance, mgmt);
                 
             } else if (Entity.class.isAssignableFrom(clazz)) {
-                final Class<? extends Entity> eclazz = getCatalog().loadClassByType(spec.getType(), Entity.class);
-                Builder<? extends Application> builder = ApplicationBuilder.builder()
-                        .configure(configO)
-                        .child(toCoreEntitySpec(eclazz, spec.getName(), spec.getConfig()));
                 if (entities.size() > 0) log.warn("Cannot supply additional entities when using a non-application entity; ignoring in spec {}", spec);
                 
+                brooklyn.entity.proxying.EntitySpec<?> coreSpec = toCoreEntitySpec(BasicApplication.class, name, configO);
+                instance = (Application) mgmt.getEntityManager().createEntity(coreSpec);
+                
+                final Class<? extends Entity> eclazz = getCatalog().loadClassByType(spec.getType(), Entity.class);
+                instance.addChild(mgmt.getEntityManager().createEntity(toCoreEntitySpec(eclazz, name, configO)));
+                
                 log.info("REST placing '{}' under management", spec.getName());
-                instance = builder.manage(mgmt);
-                    
+                Entities.startManagement(instance, mgmt);
+                
             } else {
                 throw new IllegalArgumentException("Class "+clazz+" must extend one of ApplicationBuilder, Application or Entity");
             }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f19185a6/usage/rest/src/test/java/brooklyn/rest/domain/SensorSummaryTest.java
----------------------------------------------------------------------
diff --git a/usage/rest/src/test/java/brooklyn/rest/domain/SensorSummaryTest.java b/usage/rest/src/test/java/brooklyn/rest/domain/SensorSummaryTest.java
index f76e0dd..3cf971a 100644
--- a/usage/rest/src/test/java/brooklyn/rest/domain/SensorSummaryTest.java
+++ b/usage/rest/src/test/java/brooklyn/rest/domain/SensorSummaryTest.java
@@ -35,7 +35,7 @@ public class SensorSummaryTest {
   
   @BeforeMethod(alwaysRun=true)
   public void setUp() throws Exception {
-      app = ApplicationBuilder.builder(TestApplication.class).manage();
+      app = ApplicationBuilder.newManagedApp(TestApplication.class);
       entity = app.createAndManageChild(EntitySpecs.spec(TestEntity.class));
   }