You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/08/14 06:42:18 UTC

[1/7] incubator-brooklyn git commit: Add subnet sensors to MySQL cluster

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master d32d672ad -> 2a0d9e4ae


Add subnet sensors to MySQL cluster


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

Branch: refs/heads/master
Commit: 706ab1792c01cf516863ebc4dc80b0d7a25420f7
Parents: e5289b8
Author: Mike Zaccardo <mi...@cloudsoftcorp.com>
Authored: Thu Aug 13 17:12:54 2015 -0400
Committer: Mike Zaccardo <mi...@cloudsoftcorp.com>
Committed: Thu Aug 13 17:12:54 2015 -0400

----------------------------------------------------------------------
 .../main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/706ab179/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java
index 79e2b5a..2a2e9e1 100644
--- a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java
+++ b/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java
@@ -114,6 +114,8 @@ public class MySqlClusterImpl extends DynamicClusterImpl implements MySqlCluster
         super.initEnrichers();
         propagateMasterAttribute(MySqlNode.HOSTNAME);
         propagateMasterAttribute(MySqlNode.ADDRESS);
+        propagateMasterAttribute(MySqlNode.SUBNET_HOSTNAME);
+        propagateMasterAttribute(MySqlNode.SUBNET_ADDRESS);
         propagateMasterAttribute(MySqlNode.MYSQL_PORT);
         propagateMasterAttribute(MySqlNode.DATASTORE_URL);
 


[2/7] incubator-brooklyn git commit: [BROOKLYN-162] Move ./api/mementos to the right package

Posted by ha...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/TreeNode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/TreeNode.java b/api/src/main/java/org/apache/brooklyn/mementos/TreeNode.java
deleted file mode 100644
index d150f03..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/TreeNode.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.List;
-
-/**
- * A simple tree structure, where a node references a parent and children using their ids.
- * 
- * e.g. could be used to represent the entity hierarchy within mementos, where the 
- * String is the id of parent/child entities.
- * 
- * @author aled
- */
-public interface TreeNode {
-
-    /**
-     * The id of this node in the tree. This id will be used by the parent's getChildren(), 
-     * and by each child's getParent().
-     */
-    String getId();
-    
-    /**
-     * The id of the parent entity, or null if none.
-     */
-    String getParent();
-    
-    /**
-     * The ids of the children.
-     */
-    List<String> getChildren();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/Enricher.java b/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
index 19d60e4..3b7608d 100644
--- a/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
+++ b/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
 import org.apache.brooklyn.api.entity.trait.Configurable;
-import org.apache.brooklyn.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
 
 import brooklyn.config.ConfigKey;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/policy/Policy.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/Policy.java b/api/src/main/java/org/apache/brooklyn/policy/Policy.java
index d062334..7bf6e9f 100644
--- a/api/src/main/java/org/apache/brooklyn/policy/Policy.java
+++ b/api/src/main/java/org/apache/brooklyn/policy/Policy.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
 import org.apache.brooklyn.api.entity.trait.Configurable;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 
 import brooklyn.config.ConfigKey;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java b/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
index f68c975..6e9f963 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
@@ -28,7 +28,7 @@ import brooklyn.basic.BrooklynObjectInternal;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 
 import brooklyn.config.ConfigKey;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/catalog/internal/CatalogItemDtoAbstract.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogItemDtoAbstract.java b/core/src/main/java/brooklyn/catalog/internal/CatalogItemDtoAbstract.java
index a3ea1b1..b72f55f 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogItemDtoAbstract.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogItemDtoAbstract.java
@@ -33,7 +33,7 @@ import brooklyn.basic.AbstractBrooklynObject;
 
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.rebind.BasicCatalogItemRebindSupport;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java b/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
index 0ed4452..71e8391 100644
--- a/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
+++ b/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
@@ -26,7 +26,7 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.EnricherType;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
index 09d41c6..855bfbf 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
@@ -47,7 +47,7 @@ import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.SubscriptionContext;
 import org.apache.brooklyn.api.management.SubscriptionHandle;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.EnricherSpec;
 import org.apache.brooklyn.policy.EntityAdjunct;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityInternal.java b/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
index 3a8b22b..a735750 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
@@ -31,7 +31,7 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.SubscriptionContext;
-import org.apache.brooklyn.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
 
 import brooklyn.basic.BrooklynObjectInternal;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
index 1f60c41..be97b32 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
index b03e22b..7f556a1 100644
--- a/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
@@ -20,7 +20,7 @@ package brooklyn.entity.rebind;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.Memento;
 import org.apache.brooklyn.policy.EntityAdjunct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/ActivePartialRebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/ActivePartialRebindIteration.java b/core/src/main/java/brooklyn/entity/rebind/ActivePartialRebindIteration.java
index c8d0d85..c1d2576 100644
--- a/core/src/main/java/brooklyn/entity/rebind/ActivePartialRebindIteration.java
+++ b/core/src/main/java/brooklyn/entity/rebind/ActivePartialRebindIteration.java
@@ -30,10 +30,10 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData.Builder;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData.Builder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicCatalogItemRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicCatalogItemRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicCatalogItemRebindSupport.java
index d37e404..0d4d92c 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicCatalogItemRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicCatalogItemRebindSupport.java
@@ -19,7 +19,7 @@
 package brooklyn.entity.rebind;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicEnricherRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicEnricherRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicEnricherRebindSupport.java
index b5abe2f..d6b289f 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicEnricherRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicEnricherRebindSupport.java
@@ -19,7 +19,7 @@
 package brooklyn.entity.rebind;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
-import org.apache.brooklyn.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
 
 import brooklyn.enricher.basic.AbstractEnricher;
 import brooklyn.util.config.ConfigBag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
index 4fd14d8..3a29595 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicFeedRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicFeedRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicFeedRebindSupport.java
index 763a917..5507e6b 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicFeedRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicFeedRebindSupport.java
@@ -19,7 +19,7 @@
 package brooklyn.entity.rebind;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
-import org.apache.brooklyn.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
 
 import brooklyn.event.feed.AbstractFeed;
 import brooklyn.util.config.ConfigBag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
index 75cf659..edf8867 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
@@ -25,7 +25,7 @@ import java.util.NoSuchElementException;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/BasicPolicyRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicPolicyRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicPolicyRebindSupport.java
index ca9237e..9b22d65 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicPolicyRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicPolicyRebindSupport.java
@@ -19,7 +19,7 @@
 package brooklyn.entity.rebind;
 
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 
 import brooklyn.policy.basic.AbstractPolicy;
 import brooklyn.util.config.ConfigBag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
index f830261..ad56dbf 100644
--- a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
@@ -29,13 +29,13 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.rebind.ChangeListener;
 import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.location.basic.LocationInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/InitialFullRebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/InitialFullRebindIteration.java b/core/src/main/java/brooklyn/entity/rebind/InitialFullRebindIteration.java
index 33cc05b..f9e42b3 100644
--- a/core/src/main/java/brooklyn/entity/rebind/InitialFullRebindIteration.java
+++ b/core/src/main/java/brooklyn/entity/rebind/InitialFullRebindIteration.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
index 0eb1993..681d0fc 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
@@ -42,7 +42,7 @@ import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/PersistenceExceptionHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PersistenceExceptionHandlerImpl.java b/core/src/main/java/brooklyn/entity/rebind/PersistenceExceptionHandlerImpl.java
index 51e78f7..3fb0a75 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PersistenceExceptionHandlerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PersistenceExceptionHandlerImpl.java
@@ -24,7 +24,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.brooklyn.api.basic.BrooklynObject;
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.Memento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/PersisterDeltaImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PersisterDeltaImpl.java b/core/src/main/java/brooklyn/entity/rebind/PersisterDeltaImpl.java
index 9e3371b..56dfc78 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PersisterDeltaImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PersisterDeltaImpl.java
@@ -23,15 +23,15 @@ import java.util.Collections;
 import java.util.Set;
 
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.FeedMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.PolicyMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.Delta;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.MutableDelta;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.Delta;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.MutableDelta;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.Iterables;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
index 745f030..3966bc1 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
@@ -31,7 +31,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
index 8cd6e54..00e5a56 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
@@ -31,7 +31,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
index 45f1457..defd7b3 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
@@ -49,19 +49,19 @@ import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.FeedMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.PolicyMemento;
-import org.apache.brooklyn.mementos.TreeNode;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest.EntityMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest.EntityMementoManifest;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
index a7b31c7..25a396b 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
@@ -40,9 +40,9 @@ import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
 import org.apache.brooklyn.api.management.ha.MementoCopyMode;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.TreeNode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/AbstractMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/AbstractMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/AbstractMemento.java
index ee4d148..02f6032 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/AbstractMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/AbstractMemento.java
@@ -24,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.Memento;
 
 import brooklyn.BrooklynVersion;
 import brooklyn.entity.basic.Entities;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/AbstractTreeNodeMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/AbstractTreeNodeMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/AbstractTreeNodeMemento.java
index 1316505..cd9841f 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/AbstractTreeNodeMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/AbstractTreeNodeMemento.java
@@ -22,8 +22,8 @@ import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.TreeNode;
 
 import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicCatalogItemMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicCatalogItemMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicCatalogItemMemento.java
index c976f93..b2a3068 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicCatalogItemMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicCatalogItemMemento.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 
 import brooklyn.catalog.internal.BasicBrooklynCatalog;
 import brooklyn.catalog.internal.CatalogUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicEnricherMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicEnricherMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicEnricherMemento.java
index 0562661..34979e9 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicEnricherMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicEnricherMemento.java
@@ -21,7 +21,7 @@ package brooklyn.entity.rebind.dto;
 import java.io.Serializable;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
 
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.Sanitizer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicEntityMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicEntityMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicEntityMemento.java
index 6416660..2e80444 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicEntityMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicEntityMemento.java
@@ -28,8 +28,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.TreeNode;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
 import org.slf4j.Logger;
@@ -52,7 +52,7 @@ import com.google.common.collect.Maps;
  * 
  * @see AbstractEntity#getRebindSupport()
  * @see RebindSupport#getMemento()
- * @see RebindSupport#reconstruct(org.apache.brooklyn.api.entity.rebind.RebindContext, org.apache.brooklyn.mementos.Memento)
+ * @see RebindSupport#reconstruct(org.apache.brooklyn.api.entity.rebind.RebindContext, org.apache.brooklyn.api.mementos.Memento)
  * 
  * @author aled
  */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicFeedMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicFeedMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicFeedMemento.java
index ad17228..034b0e9 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicFeedMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicFeedMemento.java
@@ -21,7 +21,7 @@ package brooklyn.entity.rebind.dto;
 import java.io.Serializable;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
 
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.Sanitizer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicLocationMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicLocationMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicLocationMemento.java
index d2ae040..a0578bb 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicLocationMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicLocationMemento.java
@@ -22,8 +22,8 @@ import java.io.Serializable;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.TreeNode;
 
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.Sanitizer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BasicPolicyMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BasicPolicyMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/BasicPolicyMemento.java
index 6cf4c87..8e2f010 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BasicPolicyMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BasicPolicyMemento.java
@@ -21,7 +21,7 @@ package brooklyn.entity.rebind.dto;
 import java.io.Serializable;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.Sanitizer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoImpl.java b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoImpl.java
index 7b4206d..b7a963b 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoImpl.java
@@ -24,14 +24,14 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.FeedMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 
 import brooklyn.BrooklynVersion;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
index 5ae5e87..61fcf89 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
@@ -24,8 +24,8 @@ import java.util.Collections;
 import java.util.Map;
 
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 
 import com.google.common.collect.Maps;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/EntityMementoManifestImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/EntityMementoManifestImpl.java b/core/src/main/java/brooklyn/entity/rebind/dto/EntityMementoManifestImpl.java
index a211574..8eedd2a 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/EntityMementoManifestImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/EntityMementoManifestImpl.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.entity.rebind.dto;
 
-import org.apache.brooklyn.mementos.BrooklynMementoManifest.EntityMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest.EntityMementoManifest;
 
 public class EntityMementoManifestImpl implements EntityMementoManifest {
     private String id;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/MementoValidators.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/MementoValidators.java b/core/src/main/java/brooklyn/entity/rebind/dto/MementoValidators.java
index 8fb8365..832808e 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/MementoValidators.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/MementoValidators.java
@@ -21,9 +21,9 @@ package brooklyn.entity.rebind.dto;
 import java.util.Collection;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.TreeNode;
 
 public class MementoValidators {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
index 5a8d146..ff73567 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
@@ -38,14 +38,14 @@ import org.apache.brooklyn.api.event.AttributeSensor.SensorPersistenceMode;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.FeedMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.Memento;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.Memento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.EntityAdjunct;
 import org.apache.brooklyn.policy.Policy;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/dto/MutableBrooklynMemento.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/MutableBrooklynMemento.java b/core/src/main/java/brooklyn/entity/rebind/dto/MutableBrooklynMemento.java
index 890c9f0..49c207d 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/MutableBrooklynMemento.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/MutableBrooklynMemento.java
@@ -24,13 +24,13 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.EnricherMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.FeedMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
index 72039b6..9495988 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
@@ -42,12 +42,12 @@ import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.Memento;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
index a424a31..f490e9b 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
@@ -38,8 +38,8 @@ import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
 import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecord;
 import org.apache.brooklyn.api.management.ha.MementoCopyMode;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.Memento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/persister/MementoSerializer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/MementoSerializer.java b/core/src/main/java/brooklyn/entity/rebind/persister/MementoSerializer.java
index 45e0065..7d7f69f 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/MementoSerializer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/MementoSerializer.java
@@ -19,8 +19,8 @@
 package brooklyn.entity.rebind.persister;
 
 import org.apache.brooklyn.api.management.ha.ManagementNodeSyncRecord;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 
 /** Serializes the given object; it is often used with {@link BrooklynMemento} for persisting and restoring,
  * though it can be used for any object (and is also used for the {@link ManagementNodeSyncRecord} instances) */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/persister/RetryingMementoSerializer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/RetryingMementoSerializer.java b/core/src/main/java/brooklyn/entity/rebind/persister/RetryingMementoSerializer.java
index 6d2bee0..115f81f 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/RetryingMementoSerializer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/RetryingMementoSerializer.java
@@ -20,7 +20,7 @@ package brooklyn.entity.rebind.persister;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
index fe7e26f..2c11a1a 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/transformer/BrooklynMementoTransformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/transformer/BrooklynMementoTransformer.java b/core/src/main/java/brooklyn/entity/rebind/transformer/BrooklynMementoTransformer.java
index a48e1dd..856c75a 100644
--- a/core/src/main/java/brooklyn/entity/rebind/transformer/BrooklynMementoTransformer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/transformer/BrooklynMementoTransformer.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.entity.rebind.transformer;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/transformer/CompoundTransformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/transformer/CompoundTransformer.java b/core/src/main/java/brooklyn/entity/rebind/transformer/CompoundTransformer.java
index d7050fb..33d9422 100644
--- a/core/src/main/java/brooklyn/entity/rebind/transformer/CompoundTransformer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/transformer/CompoundTransformer.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 
 import brooklyn.entity.rebind.persister.BrooklynMementoPersisterToObjectStore;
 import brooklyn.entity.rebind.transformer.impl.XsltTransformer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/entity/rebind/transformer/impl/DeleteOrphanedLocationsTransformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/transformer/impl/DeleteOrphanedLocationsTransformer.java b/core/src/main/java/brooklyn/entity/rebind/transformer/impl/DeleteOrphanedLocationsTransformer.java
index 1c32307..0a46af7 100644
--- a/core/src/main/java/brooklyn/entity/rebind/transformer/impl/DeleteOrphanedLocationsTransformer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/transformer/impl/DeleteOrphanedLocationsTransformer.java
@@ -22,9 +22,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 
 import brooklyn.entity.rebind.dto.BrooklynMementoImpl;
 import brooklyn.entity.rebind.transformer.BrooklynMementoTransformer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/event/feed/AbstractFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/feed/AbstractFeed.java b/core/src/main/java/brooklyn/event/feed/AbstractFeed.java
index a3ffb09..5f5229c 100644
--- a/core/src/main/java/brooklyn/event/feed/AbstractFeed.java
+++ b/core/src/main/java/brooklyn/event/feed/AbstractFeed.java
@@ -25,7 +25,7 @@ import java.util.Collection;
 import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java b/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
index 67a9d1b..e8d2cfa 100644
--- a/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
+++ b/core/src/main/java/brooklyn/management/internal/NonDeploymentManagementContext.java
@@ -57,8 +57,8 @@ import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
 import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecord;
 import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecordPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 
 import brooklyn.catalog.internal.CatalogInitialization;
 import brooklyn.config.BrooklynProperties;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java b/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
index 8969727..a78274e 100644
--- a/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
+++ b/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
@@ -24,7 +24,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.trait.Configurable;
-import org.apache.brooklyn.mementos.PolicyMemento;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.policy.PolicyType;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/org/apache/brooklyn/location/access/PortForwardManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/access/PortForwardManagerImpl.java b/core/src/main/java/org/apache/brooklyn/location/access/PortForwardManagerImpl.java
index af1a496..f1705c8 100644
--- a/core/src/main/java/org/apache/brooklyn/location/access/PortForwardManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/location/access/PortForwardManagerImpl.java
@@ -32,8 +32,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.apache.brooklyn.location.basic.AbstractLocation;
-import org.apache.brooklyn.mementos.LocationMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/org/apache/brooklyn/location/basic/AbstractLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/basic/AbstractLocation.java b/core/src/main/java/org/apache/brooklyn/location/basic/AbstractLocation.java
index 7280927..47dca3e 100644
--- a/core/src/main/java/org/apache/brooklyn/location/basic/AbstractLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/basic/AbstractLocation.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.api.entity.trait.Configurable;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/main/java/org/apache/brooklyn/location/basic/LocationInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/basic/LocationInternal.java b/core/src/main/java/org/apache/brooklyn/location/basic/LocationInternal.java
index d1ffcb9..de3e9a0 100644
--- a/core/src/main/java/org/apache/brooklyn/location/basic/LocationInternal.java
+++ b/core/src/main/java/org/apache/brooklyn/location/basic/LocationInternal.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 
 import brooklyn.basic.BrooklynObjectInternal;
 import brooklyn.config.ConfigInheritance;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindEntityTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindEntityTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindEntityTest.java
index 45c3721..75ba13e 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindEntityTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindEntityTest.java
@@ -50,8 +50,8 @@ import org.apache.brooklyn.api.event.AttributeSensor.SensorPersistenceMode;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
-import org.apache.brooklyn.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.EntityMemento;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.apache.brooklyn.test.entity.TestEntityImpl;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindLocalhostLocationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindLocalhostLocationTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindLocalhostLocationTest.java
index 54b4b14..ab0ab26 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindLocalhostLocationTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindLocalhostLocationTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertEquals;
 
 import java.util.Collections;
 
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -30,6 +29,7 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.api.location.LocationSpec;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
 import org.apache.brooklyn.location.basic.LocalhostMachineProvisioningLocation;
 import org.apache.brooklyn.location.basic.SshMachineLocation;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindLocationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindLocationTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindLocationTest.java
index 6df2b7f..8c93fc7 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindLocationTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindLocationTest.java
@@ -32,7 +32,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.mementos.LocationMemento;
+import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindManagerSorterTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindManagerSorterTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindManagerSorterTest.java
index b6da363..6f620e5 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindManagerSorterTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindManagerSorterTest.java
@@ -29,8 +29,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.trait.Identifiable;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.EntityMemento;
-import org.apache.brooklyn.mementos.TreeNode;
+import org.apache.brooklyn.api.mementos.EntityMemento;
+import org.apache.brooklyn.api.mementos.TreeNode;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.AfterMethod;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
index 9dcdfc9..a93418c 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
 import org.apache.brooklyn.policy.EnricherSpec;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.policy.PolicySpec;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
index 98abee6..1522140 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindManager;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
-import org.apache.brooklyn.mementos.BrooklynMementoManifest;
+import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.entity.basic.Entities;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/RebindTestUtils.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindTestUtils.java b/core/src/test/java/brooklyn/entity/rebind/RebindTestUtils.java
index 104ee7e..7541009 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindTestUtils.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindTestUtils.java
@@ -36,8 +36,8 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
index 3b63804..fcf496b 100644
--- a/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
+++ b/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
@@ -30,9 +30,9 @@ import org.apache.brooklyn.api.entity.rebind.RebindManager.RebindFailureMode;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.test.entity.TestApplication;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
index 54b97a1..9660f87 100644
--- a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
@@ -36,7 +36,6 @@ import org.apache.brooklyn.location.basic.SimulatedLocation;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.test.TestResourceUnavailableException;
@@ -54,6 +53,7 @@ import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 
 import brooklyn.catalog.internal.CatalogItemBuilder;
 import brooklyn.catalog.internal.CatalogItemDtoAbstract;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/core/src/test/java/brooklyn/entity/rebind/transformer/CompoundTransformerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/transformer/CompoundTransformerTest.java b/core/src/test/java/brooklyn/entity/rebind/transformer/CompoundTransformerTest.java
index 29ad739..56896ca 100644
--- a/core/src/test/java/brooklyn/entity/rebind/transformer/CompoundTransformerTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/transformer/CompoundTransformerTest.java
@@ -32,7 +32,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.entity.rebind.RebindManager.RebindFailureMode;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
index a044735..b1efe6f 100644
--- a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
+++ b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
@@ -46,6 +46,7 @@ import org.apache.brooklyn.api.management.ha.HighAvailabilityMode;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
 import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecord;
 import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecordPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynAssemblyTemplateInstantiator;
 import org.slf4j.Logger;
@@ -82,7 +83,6 @@ import brooklyn.entity.rebind.transformer.CompoundTransformer;
 import brooklyn.entity.trait.Startable;
 
 import org.apache.brooklyn.launcher.config.StopWhichAppsOnShutdown;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.location.basic.LocalhostMachineProvisioningLocation.LocalhostMachine;
 import org.apache.brooklyn.location.basic.PortRanges;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
index 566014a..5142266 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
@@ -20,8 +20,8 @@ package org.apache.brooklyn.launcher;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;
 


[3/7] incubator-brooklyn git commit: [BROOKLYN-162] Move ./api/mementos to the right package

Posted by ha...@apache.org.
[BROOKLYN-162] Move ./api/mementos to the right package


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

Branch: refs/heads/master
Commit: 458d1b171c3e998470fb95f6d6a7607d4a7b964f
Parents: d32d672
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Thu Aug 13 23:57:23 2015 -0400
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Thu Aug 13 23:57:23 2015 -0400

----------------------------------------------------------------------
 .../brooklyn/api/catalog/CatalogItem.java       |   2 +-
 .../org/apache/brooklyn/api/entity/Feed.java    |   2 +-
 .../rebind/PersistenceExceptionHandler.java     |   2 +-
 .../api/entity/rebind/RebindContext.java        |   2 +-
 .../api/entity/rebind/RebindManager.java        |   4 +-
 .../api/entity/rebind/RebindSupport.java        |   4 +-
 .../brooklyn/api/entity/rebind/Rebindable.java  |   2 +-
 .../ha/ManagementPlaneSyncRecord.java           |   4 +-
 .../ha/ManagementPlaneSyncRecordPersister.java  |   4 +-
 .../brooklyn/api/mementos/BrooklynMemento.java  |  64 +++++++
 .../api/mementos/BrooklynMementoManifest.java   |  58 ++++++
 .../api/mementos/BrooklynMementoPersister.java  | 138 ++++++++++++++
 .../api/mementos/BrooklynMementoRawData.java    | 185 +++++++++++++++++++
 .../api/mementos/CatalogItemMemento.java        |  49 +++++
 .../brooklyn/api/mementos/EnricherMemento.java  |  33 ++++
 .../brooklyn/api/mementos/EntityMemento.java    |  81 ++++++++
 .../brooklyn/api/mementos/FeedMemento.java      |  33 ++++
 .../brooklyn/api/mementos/LocationMemento.java  |  38 ++++
 .../apache/brooklyn/api/mementos/Memento.java   |  83 +++++++++
 .../brooklyn/api/mementos/PolicyMemento.java    |  35 ++++
 .../apache/brooklyn/api/mementos/TreeNode.java  |  48 +++++
 .../brooklyn/mementos/BrooklynMemento.java      |  64 -------
 .../mementos/BrooklynMementoManifest.java       |  58 ------
 .../mementos/BrooklynMementoPersister.java      | 138 --------------
 .../mementos/BrooklynMementoRawData.java        | 185 -------------------
 .../brooklyn/mementos/CatalogItemMemento.java   |  49 -----
 .../brooklyn/mementos/EnricherMemento.java      |  33 ----
 .../apache/brooklyn/mementos/EntityMemento.java |  81 --------
 .../apache/brooklyn/mementos/FeedMemento.java   |  33 ----
 .../brooklyn/mementos/LocationMemento.java      |  38 ----
 .../org/apache/brooklyn/mementos/Memento.java   |  83 ---------
 .../apache/brooklyn/mementos/PolicyMemento.java |  35 ----
 .../org/apache/brooklyn/mementos/TreeNode.java  |  48 -----
 .../org/apache/brooklyn/policy/Enricher.java    |   2 +-
 .../java/org/apache/brooklyn/policy/Policy.java |   2 +-
 .../catalog/internal/CatalogItemDo.java         |   2 +-
 .../internal/CatalogItemDtoAbstract.java        |   2 +-
 .../enricher/basic/AbstractEnricher.java        |   2 +-
 .../brooklyn/entity/basic/AbstractEntity.java   |   2 +-
 .../brooklyn/entity/basic/EntityInternal.java   |   2 +-
 .../basic/EntityTransientCopyInternal.java      |   2 +-
 .../AbstractBrooklynObjectRebindSupport.java    |   2 +-
 .../rebind/ActivePartialRebindIteration.java    |   8 +-
 .../rebind/BasicCatalogItemRebindSupport.java   |   2 +-
 .../rebind/BasicEnricherRebindSupport.java      |   2 +-
 .../entity/rebind/BasicEntityRebindSupport.java |   2 +-
 .../entity/rebind/BasicFeedRebindSupport.java   |   2 +-
 .../rebind/BasicLocationRebindSupport.java      |   2 +-
 .../entity/rebind/BasicPolicyRebindSupport.java |   2 +-
 .../rebind/ImmediateDeltaChangeListener.java    |  14 +-
 .../rebind/InitialFullRebindIteration.java      |   2 +-
 .../rebind/PeriodicDeltaChangeListener.java     |   2 +-
 .../rebind/PersistenceExceptionHandlerImpl.java |   2 +-
 .../entity/rebind/PersisterDeltaImpl.java       |  18 +-
 .../entity/rebind/RebindContextImpl.java        |   2 +-
 .../rebind/RebindContextLookupContext.java      |   2 +-
 .../brooklyn/entity/rebind/RebindIteration.java |  26 +--
 .../entity/rebind/RebindManagerImpl.java        |   6 +-
 .../entity/rebind/dto/AbstractMemento.java      |   2 +-
 .../rebind/dto/AbstractTreeNodeMemento.java     |   4 +-
 .../rebind/dto/BasicCatalogItemMemento.java     |   2 +-
 .../entity/rebind/dto/BasicEnricherMemento.java |   2 +-
 .../entity/rebind/dto/BasicEntityMemento.java   |   6 +-
 .../entity/rebind/dto/BasicFeedMemento.java     |   2 +-
 .../entity/rebind/dto/BasicLocationMemento.java |   4 +-
 .../entity/rebind/dto/BasicPolicyMemento.java   |   2 +-
 .../entity/rebind/dto/BrooklynMementoImpl.java  |  16 +-
 .../rebind/dto/BrooklynMementoManifestImpl.java |   4 +-
 .../rebind/dto/EntityMementoManifestImpl.java   |   2 +-
 .../entity/rebind/dto/MementoValidators.java    |   6 +-
 .../entity/rebind/dto/MementosGenerators.java   |  16 +-
 .../rebind/dto/MutableBrooklynMemento.java      |  14 +-
 .../BrooklynMementoPersisterToObjectStore.java  |  12 +-
 .../persister/BrooklynPersistenceUtils.java     |   4 +-
 .../rebind/persister/MementoSerializer.java     |   4 +-
 .../persister/RetryingMementoSerializer.java    |   2 +-
 .../rebind/persister/XmlMementoSerializer.java  |   2 +-
 .../transformer/BrooklynMementoTransformer.java |   2 +-
 .../rebind/transformer/CompoundTransformer.java |   2 +-
 .../DeleteOrphanedLocationsTransformer.java     |   6 +-
 .../java/brooklyn/event/feed/AbstractFeed.java  |   2 +-
 .../NonDeploymentManagementContext.java         |   4 +-
 .../brooklyn/policy/basic/AbstractPolicy.java   |   2 +-
 .../location/access/PortForwardManagerImpl.java |   2 +-
 .../location/basic/AbstractLocation.java        |   2 +-
 .../location/basic/LocationInternal.java        |   2 +-
 .../entity/rebind/RebindEntityTest.java         |   4 +-
 .../rebind/RebindLocalhostLocationTest.java     |   2 +-
 .../entity/rebind/RebindLocationTest.java       |   2 +-
 .../entity/rebind/RebindManagerSorterTest.java  |   4 +-
 .../entity/rebind/RebindPolicyTest.java         |   2 +-
 .../entity/rebind/RebindTestFixture.java        |   2 +-
 .../brooklyn/entity/rebind/RebindTestUtils.java |   4 +-
 .../BrooklynMementoPersisterTestFixture.java    |   6 +-
 .../persister/XmlMementoSerializerTest.java     |   2 +-
 .../transformer/CompoundTransformerTest.java    |   2 +-
 .../brooklyn/launcher/BrooklynLauncher.java     |   2 +-
 ...lynLauncherRebindToCloudObjectStoreTest.java |   2 +-
 98 files changed, 996 insertions(+), 996 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/catalog/CatalogItem.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/catalog/CatalogItem.java b/api/src/main/java/org/apache/brooklyn/api/catalog/CatalogItem.java
index 8b3d394..520341f 100644
--- a/api/src/main/java/org/apache/brooklyn/api/catalog/CatalogItem.java
+++ b/api/src/main/java/org/apache/brooklyn/api/catalog/CatalogItem.java
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
 import org.apache.brooklyn.api.basic.BrooklynObject;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
-import org.apache.brooklyn.mementos.CatalogItemMemento;
+import org.apache.brooklyn.api.mementos.CatalogItemMemento;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java b/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
index 134f3f0..0a2205c 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
@@ -20,7 +20,7 @@ package org.apache.brooklyn.api.entity;
 
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
-import org.apache.brooklyn.mementos.FeedMemento;
+import org.apache.brooklyn.api.mementos.FeedMemento;
 import org.apache.brooklyn.policy.EntityAdjunct;
 
 import com.google.common.annotations.Beta;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/rebind/PersistenceExceptionHandler.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/PersistenceExceptionHandler.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/PersistenceExceptionHandler.java
index dafbdf2..e9f9f31 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/PersistenceExceptionHandler.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/PersistenceExceptionHandler.java
@@ -19,7 +19,7 @@
 package org.apache.brooklyn.api.entity.rebind;
 
 import org.apache.brooklyn.api.basic.BrooklynObject;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.Memento;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindContext.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindContext.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindContext.java
index a2b39c5..d530f3b 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindContext.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindContext.java
@@ -21,7 +21,7 @@ package org.apache.brooklyn.api.entity.rebind;
 import java.util.Map;
 
 import org.apache.brooklyn.api.basic.BrooklynObject;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindManager.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindManager.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindManager.java
index 577fb58..a47faca 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindManager.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindManager.java
@@ -26,8 +26,8 @@ import javax.annotation.Nullable;
 
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.management.ha.ManagementNodeState;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.BrooklynMementoRawData;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 
 import brooklyn.util.time.Duration;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindSupport.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindSupport.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindSupport.java
index 9cced02..e968f35 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindSupport.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindSupport.java
@@ -18,8 +18,8 @@
  */
 package org.apache.brooklyn.api.entity.rebind;
 
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.Memento;
 
 /**
  * Supporter instance for behaviour related to rebinding a given entity/location/policy.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/entity/rebind/Rebindable.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/Rebindable.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/Rebindable.java
index 9a65531..ac48ae6 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/Rebindable.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/Rebindable.java
@@ -18,7 +18,7 @@
  */
 package org.apache.brooklyn.api.entity.rebind;
 
-import org.apache.brooklyn.mementos.Memento;
+import org.apache.brooklyn.api.mementos.Memento;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecord.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecord.java b/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecord.java
index 1537185..b455096 100644
--- a/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecord.java
+++ b/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecord.java
@@ -20,8 +20,8 @@ package org.apache.brooklyn.api.management.ha;
 
 import java.util.Map;
 
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMemento;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecordPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecordPersister.java b/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecordPersister.java
index 1220865..9dfb44e 100644
--- a/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecordPersister.java
+++ b/api/src/main/java/org/apache/brooklyn/api/management/ha/ManagementPlaneSyncRecordPersister.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.concurrent.TimeoutException;
 
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
+import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
 
 import brooklyn.util.time.Duration;
 
@@ -41,7 +41,7 @@ import com.google.common.annotations.VisibleForTesting;
 public interface ManagementPlaneSyncRecordPersister {
 
     /**
-     * Analogue to {@link BrooklynMementoPersister#loadMemento(org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext)}
+     * Analogue to {@link BrooklynMementoPersister#loadMemento(org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext)}
      * <p>
      * Note that this method is *not* thread safe.
      */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMemento.java
new file mode 100644
index 0000000..672fc46
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMemento.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * Represents an entire persisted Brooklyn management context, with all its entities and locations.
+ * 
+ * The referential integrity of this memento is not guaranteed. For example, an entity memento might
+ * reference a child entity that does not exist. This is an inevitable consequence of not using a
+ * stop-the-world persistence strategy, and is essential for a distributed brooklyn to be performant.
+ * 
+ * Code using this memento should be tolerant of such inconsistencies (e.g. log a warning about the 
+ * missing entity, and then ignore dangling references when constructing the entities/locations, so
+ * that code will not subsequently get NPEs when iterating over children for example).
+ * 
+ * @author aled
+ */
+public interface BrooklynMemento extends Serializable {
+
+    public EntityMemento getEntityMemento(String id);
+    public LocationMemento getLocationMemento(String id);
+    public PolicyMemento getPolicyMemento(String id);
+    public EnricherMemento getEnricherMemento(String id);
+    public FeedMemento getFeedMemento(String id);
+    public CatalogItemMemento getCatalogItemMemento(String id);
+
+    public Collection<String> getApplicationIds();
+    public Collection<String> getTopLevelLocationIds();
+
+    public Collection<String> getEntityIds();
+    public Collection<String> getLocationIds();
+    public Collection<String> getPolicyIds();
+    public Collection<String> getEnricherIds();
+    public Collection<String> getFeedIds();
+    public Collection<String> getCatalogItemIds();
+
+    public Map<String, EntityMemento> getEntityMementos();
+    public Map<String, LocationMemento> getLocationMementos();
+    public Map<String, PolicyMemento> getPolicyMementos();
+    public Map<String, EnricherMemento> getEnricherMementos();
+    public Map<String, FeedMemento> getFeedMementos();
+    public Map<String, CatalogItemMemento> getCatalogItemMementos();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoManifest.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoManifest.java b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoManifest.java
new file mode 100644
index 0000000..7108a7b
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoManifest.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.trait.Identifiable;
+
+/**
+ * Represents a manifest of the entities etc in the overall memento.
+ * 
+ * @author aled
+ */
+public interface BrooklynMementoManifest extends Serializable {
+    public interface EntityMementoManifest extends Identifiable{
+        public String getId();
+        public String getType();
+        public String getParent();
+        public String getCatalogItemId();
+    }
+
+    public Map<String, EntityMementoManifest> getEntityIdToManifest();
+
+    public Map<String, String> getLocationIdToType();
+
+    public Map<String, String> getPolicyIdToType();
+
+    public Map<String, String> getEnricherIdToType();
+
+    public Map<String, String> getFeedIdToType();
+    
+    public CatalogItemMemento getCatalogItemMemento(String id);
+
+    public Collection<String> getCatalogItemIds();
+
+    public Map<String, CatalogItemMemento> getCatalogItemMementos();
+
+    public boolean isEmpty();
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
new file mode 100644
index 0000000..07a258f
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Set;
+import java.util.concurrent.TimeoutException;
+
+import javax.annotation.Nullable;
+
+import org.apache.brooklyn.api.basic.BrooklynObject;
+import org.apache.brooklyn.api.catalog.CatalogItem;
+import org.apache.brooklyn.api.entity.Entity;
+import org.apache.brooklyn.api.entity.Feed;
+import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
+import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
+import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
+import org.apache.brooklyn.api.entity.rebind.RebindManager;
+import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.policy.Policy;
+
+import brooklyn.util.time.Duration;
+
+import com.google.common.annotations.Beta;
+import com.google.common.annotations.VisibleForTesting;
+
+/**
+ * Controls the persisting and reading back of mementos. Used by {@link RebindManager} 
+ * to support brooklyn restart.
+ */
+public interface BrooklynMementoPersister {
+
+    public static interface LookupContext {
+        ManagementContext lookupManagementContext();
+        Entity lookupEntity(String id);
+        Location lookupLocation(String id);
+        Policy lookupPolicy(String id);
+        Enricher lookupEnricher(String id);
+        Feed lookupFeed(String id);
+        CatalogItem<?, ?> lookupCatalogItem(String id);
+        
+        BrooklynObject lookup(BrooklynObjectType type, String objectId);
+        /** like {@link #lookup(BrooklynObjectType, String)} but doesn't record an exception if not found */
+        BrooklynObject peek(BrooklynObjectType type, String objectId);
+    }
+    
+    /**
+     * Loads raw data contents of the mementos.
+     * <p>
+     * Some classes (esp deprecated ones) may return null here,
+     * meaning that the {@link #loadMementoManifest(BrooklynMementoRawData, RebindExceptionHandler)}
+     * and {@link #loadMemento(BrooklynMementoRawData, LookupContext, RebindExceptionHandler)} methods
+     * will populate the raw data via another source.
+     */
+    BrooklynMementoRawData loadMementoRawData(RebindExceptionHandler exceptionHandler);
+
+    /**
+     * Loads minimal manifest information (almost entirely *not* deserialized).
+     * Implementations should load the raw data if {@link BrooklynMementoRawData} is not supplied,
+     * but callers are encouraged to supply that for optimal performance.
+     */
+    BrooklynMementoManifest loadMementoManifest(@Nullable BrooklynMementoRawData mementoData, RebindExceptionHandler exceptionHandler) throws IOException;
+
+     /**
+      * Retrieves the memento class, containing deserialized objects (but not the {@link BrooklynObject} class).
+      * Implementations should load the raw data if {@link BrooklynMementoRawData} is not supplied,
+      * but callers are encouraged to supply that for optimal performance.
+      * <p>
+      * Note that this method is *not* thread safe.
+      */
+    BrooklynMemento loadMemento(@Nullable BrooklynMementoRawData mementoData, LookupContext lookupContext, RebindExceptionHandler exceptionHandler) throws IOException;
+
+    /** applies a full checkpoint (write) of all state */  
+    void checkpoint(BrooklynMementoRawData newMemento, PersistenceExceptionHandler exceptionHandler);
+    /** applies a partial write of state delta */  
+    void delta(Delta delta, PersistenceExceptionHandler exceptionHandler);
+    /** inserts an additional delta to be written on the next delta request */
+    @Beta
+    void queueDelta(Delta delta);
+
+    void enableWriteAccess();
+    void disableWriteAccess(boolean graceful);
+    /** permanently shuts down all access to the remote store */
+    void stop(boolean graceful);
+
+    @VisibleForTesting
+    void waitForWritesCompleted(Duration timeout) throws InterruptedException, TimeoutException;
+
+    String getBackingStoreDescription();
+    
+    /** All methods on this interface are unmodifiable by the caller. Sub-interfaces may introduce modifiers. */
+    // NB: the type-specific methods aren't actually used anymore; we could remove them to simplify the impl (and use a multiset there)
+    public interface Delta {
+        Collection<LocationMemento> locations();
+        Collection<EntityMemento> entities();
+        Collection<PolicyMemento> policies();
+        Collection<EnricherMemento> enrichers();
+        Collection<FeedMemento> feeds();
+        Collection<CatalogItemMemento> catalogItems();
+        
+        Collection<String> removedLocationIds();
+        Collection<String> removedEntityIds();
+        Collection<String> removedPolicyIds();
+        Collection<String> removedEnricherIds();
+        Collection<String> removedFeedIds();
+        Collection<String> removedCatalogItemIds();
+        
+        Collection<? extends Memento> getObjectsOfType(BrooklynObjectType type);
+        Collection<String> getRemovedIdsOfType(BrooklynObjectType type);
+    }
+    
+    @Beta
+    public interface MutableDelta extends Delta {
+        void add(BrooklynObjectType type, Memento memento);
+        void addAll(BrooklynObjectType type, Iterable<? extends Memento> memento);
+        void removed(BrooklynObjectType type, Set<String> removedIdsOfType);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoRawData.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoRawData.java b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoRawData.java
new file mode 100644
index 0000000..afe1839
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoRawData.java
@@ -0,0 +1,185 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
+
+import com.google.common.annotations.Beta;
+import com.google.common.collect.Maps;
+
+/**
+ * Represents the raw persisted data.
+ */
+@Beta
+public class BrooklynMementoRawData {
+
+    // TODO Should this be on an interface?
+    // The file-based (or object-store based) structure for storing data may well change; is this representation sufficient?
+
+    public static Builder builder() {
+        return new Builder();
+    }
+    
+    public static class Builder {
+        protected String brooklynVersion;
+        protected final Map<String, String> entities = Maps.newConcurrentMap();
+        protected final Map<String, String> locations = Maps.newConcurrentMap();
+        protected final Map<String, String> policies = Maps.newConcurrentMap();
+        protected final Map<String, String> enrichers = Maps.newConcurrentMap();
+        protected final Map<String, String> feeds = Maps.newConcurrentMap();
+        protected final Map<String, String> catalogItems = Maps.newConcurrentMap();
+        
+        public Builder brooklynVersion(String val) {
+            brooklynVersion = val; return this;
+        }
+        public Builder entity(String id, String val) {
+            entities.put(id, val); return this;
+        }
+        public Builder entities(Map<String, String> vals) {
+            entities.putAll(vals); return this;
+        }
+        public Builder location(String id, String val) {
+            locations.put(id, val); return this;
+        }
+        public Builder locations(Map<String, String> vals) {
+            locations.putAll(vals); return this;
+        }
+        public Builder policy(String id, String val) {
+            policies.put(id, val); return this;
+        }
+        public Builder policies(Map<String, String> vals) {
+            policies.putAll(vals); return this;
+        }
+        public Builder enricher(String id, String val) {
+            enrichers.put(id, val); return this;
+        }
+        public Builder enrichers(Map<String, String> vals) {
+            enrichers.putAll(vals); return this;
+        }
+        public Builder feed(String id, String val) {
+            feeds.put(id, val); return this;
+        }
+        public Builder feeds(Map<String, String> vals) {
+            feeds.putAll(vals); return this;
+        }
+        public Builder catalogItem(String id, String val) {
+            catalogItems.put(id, val); return this;
+        }
+        public Builder catalogItems(Map<String, String> vals) {
+            catalogItems.putAll(vals); return this;
+        }
+        
+        public Builder put(BrooklynObjectType type, String id, String val) {
+            switch (type) {
+            case ENTITY: return entity(id, val);
+            case LOCATION: return location(id, val);
+            case POLICY: return policy(id, val);
+            case ENRICHER: return enricher(id, val);
+            case FEED: return feed(id, val);
+            case CATALOG_ITEM: return catalogItem(id, val);
+            case UNKNOWN:
+            default:
+                throw new IllegalArgumentException(type+" not supported");
+            }
+        }
+        public Builder putAll(BrooklynObjectType type, Map<String,String> vals) {
+            switch (type) {
+            case ENTITY: return entities(vals);
+            case LOCATION: return locations(vals);
+            case POLICY: return policies(vals);
+            case ENRICHER: return enrichers(vals);
+            case FEED: return feeds(vals);
+            case CATALOG_ITEM: return catalogItems(vals);
+            case UNKNOWN:
+            default:
+                throw new IllegalArgumentException(type+" not supported");
+            }
+        }
+
+        public BrooklynMementoRawData build() {
+            return new BrooklynMementoRawData(this);
+        }
+    }
+
+    private final Map<String, String> entities;
+    private final Map<String, String> locations;
+    private final Map<String, String> policies;
+    private final Map<String, String> enrichers;
+    private final Map<String, String> feeds;
+    private final Map<String, String> catalogItems;
+    
+    private BrooklynMementoRawData(Builder builder) {
+        entities = builder.entities;
+        locations = builder.locations;
+        policies = builder.policies;
+        enrichers = builder.enrichers;
+        feeds = builder.feeds;
+        catalogItems = builder.catalogItems;
+    }
+
+    public Map<String, String> getEntities() {
+        return Collections.unmodifiableMap(entities);
+    }
+
+    public Map<String, String> getLocations() {
+        return Collections.unmodifiableMap(locations);
+    }
+
+    public Map<String, String> getPolicies() {
+        return Collections.unmodifiableMap(policies);
+    }
+
+    public Map<String, String> getEnrichers() {
+        return Collections.unmodifiableMap(enrichers);
+    }
+    
+    public Map<String, String> getFeeds() {
+        return Collections.unmodifiableMap(feeds);
+    }
+    
+    public Map<String, String> getCatalogItems() {
+        return Collections.unmodifiableMap(catalogItems);
+    }
+    
+    // to handle reset catalog
+    @Beta
+    public void clearCatalogItems() {
+        catalogItems.clear();
+    }
+    
+    public boolean isEmpty() {
+        return entities.isEmpty() && locations.isEmpty() && policies.isEmpty() && enrichers.isEmpty() && feeds.isEmpty() && catalogItems.isEmpty();
+    }
+    
+    public Map<String, String> getObjectsOfType(BrooklynObjectType type) {
+        switch (type) {
+        case ENTITY: return getEntities();
+        case LOCATION: return getLocations();
+        case POLICY: return getPolicies();
+        case ENRICHER: return getEnrichers();
+        case FEED: return getFeeds();
+        case CATALOG_ITEM: return getCatalogItems();
+        default:
+            throw new IllegalArgumentException("Type "+type+" not supported");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/CatalogItemMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/CatalogItemMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/CatalogItemMemento.java
new file mode 100644
index 0000000..a82cc3a
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/CatalogItemMemento.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Collection;
+
+import org.apache.brooklyn.api.catalog.CatalogItem;
+
+public interface CatalogItemMemento extends Memento {
+
+    String getDescription();
+
+    String getSymbolicName();
+
+    String getIconUrl();
+
+    String getVersion();
+
+    String getPlanYaml();
+
+    String getJavaType();
+
+    Collection<CatalogItem.CatalogBundle> getLibraries();
+
+    CatalogItem.CatalogItemType getCatalogItemType();
+
+    Class<?> getCatalogItemJavaType();
+
+    Class<?> getSpecType();
+
+    boolean isDeprecated();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/EnricherMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/EnricherMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/EnricherMemento.java
new file mode 100644
index 0000000..cd8e60e
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/EnricherMemento.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+
+/**
+ * Represents the state of an enricher, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ */
+public interface EnricherMemento extends Memento {
+
+    Map<String, Object> getConfig();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/EntityMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/EntityMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/EntityMemento.java
new file mode 100644
index 0000000..f45e0eb
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/EntityMemento.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.Effector;
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+import org.apache.brooklyn.api.event.AttributeSensor;
+
+import brooklyn.config.ConfigKey;
+
+/**
+ * Represents the state of an entity, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ * 
+ * @author aled
+ */
+public interface EntityMemento extends Memento, TreeNode {
+
+    /** all dynamic effectors (ie differences between those registered on the entity type */ 
+    public List<Effector<?>> getEffectors();
+
+    public Map<ConfigKey<?>, Object> getConfig();
+
+    /** true if the entity is top-level (parentless) and an application
+     * (there may be parentless "orphaned" entities, for which this is false,
+     * and "application" instances nested inside other apps, for which this is again)
+     */
+    public boolean isTopLevelApp();
+    
+    public Map<String, Object> getConfigUnmatched();
+    
+    public Map<AttributeSensor<?>, Object> getAttributes();
+
+    /**
+     * The ids of the member entities, if this is a Group; otherwise empty.
+     * 
+     * @see Group.getMembers()
+     */
+    public List<String> getMembers();
+    
+    /**
+     * The ids of the locations for this entity.
+     */
+    public List<String> getLocations();
+
+    /**
+     * The ids of the policies of this entity.
+     */
+    public Collection<String> getPolicies();
+
+    /**
+     * The ids of the enrichers of this entity.
+     */
+    public Collection<String> getEnrichers();
+
+    /**
+     * The ids of the sensor feeds attached to this entity.
+     */
+    public Collection<String> getFeeds();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/FeedMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/FeedMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/FeedMemento.java
new file mode 100644
index 0000000..ac52691
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/FeedMemento.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+
+/**
+ * Represents the state of a feed, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ */
+public interface FeedMemento extends Memento {
+
+    Map<String, Object> getConfig();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/LocationMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/LocationMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/LocationMemento.java
new file mode 100644
index 0000000..fef70eb
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/LocationMemento.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+
+/**
+ * Represents the state of a location, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ * 
+ * @author aled
+ */
+public interface LocationMemento extends TreeNode, Memento {
+
+    Map<String, Object> getLocationConfig();
+    Set<String> getLocationConfigUnused();
+    String getLocationConfigDescription();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
new file mode 100644
index 0000000..8c4a005
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.Entity;
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+import org.apache.brooklyn.policy.EntityAdjunct;
+
+/**
+ * Represents the internal state of something in brooklyn, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ * 
+ * @author aled
+ */
+public interface Memento extends Serializable {
+
+    /**
+     * The version of brooklyn used when this memento was generated.
+     */
+    String getBrooklynVersion();
+    
+    String getId();
+    
+    public String getType();
+    
+    public String getCatalogItemId();
+    
+    public String getDisplayName();
+    
+    /**
+     * A (weakly-typed) property set for this memento.
+     * These can be used to avoid sub-classing the entity memento, but developers can sub-class to get strong typing if desired.
+     * 
+     * @deprecated since 0.7.0; use config/attributes so generic persistence will work, rather than requiring "custom fields"
+     */
+    @Deprecated
+    public Object getCustomField(String name);
+
+    /**
+     * @deprecated since 0.7.0; use config/attributes so generic persistence will work, rather than requiring "custom fields"
+     */
+    @Deprecated
+    public Map<String, ? extends Object> getCustomFields();
+    
+    public String toVerboseString();
+    
+    public void injectTypeClass(Class<?> clazz);
+    
+    /**
+     * Returns the injected type class, or null if not injected.
+     * <p>
+     * This is useful for ensuring the correct classloader is used (e.g. for {@link EntityMemento} 
+     * previously calling {@code EntityTypes.getDefinedSensors(getType())}. 
+     */
+    public Class<?> getTypeClass();
+
+    public Collection<Object> getTags();
+    
+    /** Null for {@link Entity}, but important for adjuncts; see {@link EntityAdjunct#getUniqueTag()} */
+    public String getUniqueTag();
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/PolicyMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/PolicyMemento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/PolicyMemento.java
new file mode 100644
index 0000000..d19d84a
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/PolicyMemento.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+
+/**
+ * Represents the state of an policy, so that it can be reconstructed (e.g. after restarting brooklyn).
+ * 
+ * @see RebindSupport
+ * 
+ * @author aled
+ */
+public interface PolicyMemento extends Memento {
+
+    Map<String, Object> getConfig();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/api/mementos/TreeNode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/TreeNode.java b/api/src/main/java/org/apache/brooklyn/api/mementos/TreeNode.java
new file mode 100644
index 0000000..5571f1e
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/TreeNode.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.mementos;
+
+import java.util.List;
+
+/**
+ * A simple tree structure, where a node references a parent and children using their ids.
+ * 
+ * e.g. could be used to represent the entity hierarchy within mementos, where the 
+ * String is the id of parent/child entities.
+ * 
+ * @author aled
+ */
+public interface TreeNode {
+
+    /**
+     * The id of this node in the tree. This id will be used by the parent's getChildren(), 
+     * and by each child's getParent().
+     */
+    String getId();
+    
+    /**
+     * The id of the parent entity, or null if none.
+     */
+    String getParent();
+    
+    /**
+     * The ids of the children.
+     */
+    List<String> getChildren();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMemento.java
deleted file mode 100644
index 836b7e8..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMemento.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * Represents an entire persisted Brooklyn management context, with all its entities and locations.
- * 
- * The referential integrity of this memento is not guaranteed. For example, an entity memento might
- * reference a child entity that does not exist. This is an inevitable consequence of not using a
- * stop-the-world persistence strategy, and is essential for a distributed brooklyn to be performant.
- * 
- * Code using this memento should be tolerant of such inconsistencies (e.g. log a warning about the 
- * missing entity, and then ignore dangling references when constructing the entities/locations, so
- * that code will not subsequently get NPEs when iterating over children for example).
- * 
- * @author aled
- */
-public interface BrooklynMemento extends Serializable {
-
-    public EntityMemento getEntityMemento(String id);
-    public LocationMemento getLocationMemento(String id);
-    public PolicyMemento getPolicyMemento(String id);
-    public EnricherMemento getEnricherMemento(String id);
-    public FeedMemento getFeedMemento(String id);
-    public CatalogItemMemento getCatalogItemMemento(String id);
-
-    public Collection<String> getApplicationIds();
-    public Collection<String> getTopLevelLocationIds();
-
-    public Collection<String> getEntityIds();
-    public Collection<String> getLocationIds();
-    public Collection<String> getPolicyIds();
-    public Collection<String> getEnricherIds();
-    public Collection<String> getFeedIds();
-    public Collection<String> getCatalogItemIds();
-
-    public Map<String, EntityMemento> getEntityMementos();
-    public Map<String, LocationMemento> getLocationMementos();
-    public Map<String, PolicyMemento> getPolicyMementos();
-    public Map<String, EnricherMemento> getEnricherMementos();
-    public Map<String, FeedMemento> getFeedMementos();
-    public Map<String, CatalogItemMemento> getCatalogItemMementos();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoManifest.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoManifest.java b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoManifest.java
deleted file mode 100644
index 3341a0f..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoManifest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.trait.Identifiable;
-
-/**
- * Represents a manifest of the entities etc in the overall memento.
- * 
- * @author aled
- */
-public interface BrooklynMementoManifest extends Serializable {
-    public interface EntityMementoManifest extends Identifiable{
-        public String getId();
-        public String getType();
-        public String getParent();
-        public String getCatalogItemId();
-    }
-
-    public Map<String, EntityMementoManifest> getEntityIdToManifest();
-
-    public Map<String, String> getLocationIdToType();
-
-    public Map<String, String> getPolicyIdToType();
-
-    public Map<String, String> getEnricherIdToType();
-
-    public Map<String, String> getFeedIdToType();
-    
-    public CatalogItemMemento getCatalogItemMemento(String id);
-
-    public Collection<String> getCatalogItemIds();
-
-    public Map<String, CatalogItemMemento> getCatalogItemMementos();
-
-    public boolean isEmpty();
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
deleted file mode 100644
index 4727f50..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Set;
-import java.util.concurrent.TimeoutException;
-
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.api.basic.BrooklynObject;
-import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.Feed;
-import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
-import org.apache.brooklyn.api.entity.rebind.PersistenceExceptionHandler;
-import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
-import org.apache.brooklyn.api.entity.rebind.RebindManager;
-import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
-
-import brooklyn.util.time.Duration;
-
-import com.google.common.annotations.Beta;
-import com.google.common.annotations.VisibleForTesting;
-
-/**
- * Controls the persisting and reading back of mementos. Used by {@link RebindManager} 
- * to support brooklyn restart.
- */
-public interface BrooklynMementoPersister {
-
-    public static interface LookupContext {
-        ManagementContext lookupManagementContext();
-        Entity lookupEntity(String id);
-        Location lookupLocation(String id);
-        Policy lookupPolicy(String id);
-        Enricher lookupEnricher(String id);
-        Feed lookupFeed(String id);
-        CatalogItem<?, ?> lookupCatalogItem(String id);
-        
-        BrooklynObject lookup(BrooklynObjectType type, String objectId);
-        /** like {@link #lookup(BrooklynObjectType, String)} but doesn't record an exception if not found */
-        BrooklynObject peek(BrooklynObjectType type, String objectId);
-    }
-    
-    /**
-     * Loads raw data contents of the mementos.
-     * <p>
-     * Some classes (esp deprecated ones) may return null here,
-     * meaning that the {@link #loadMementoManifest(BrooklynMementoRawData, RebindExceptionHandler)}
-     * and {@link #loadMemento(BrooklynMementoRawData, LookupContext, RebindExceptionHandler)} methods
-     * will populate the raw data via another source.
-     */
-    BrooklynMementoRawData loadMementoRawData(RebindExceptionHandler exceptionHandler);
-
-    /**
-     * Loads minimal manifest information (almost entirely *not* deserialized).
-     * Implementations should load the raw data if {@link BrooklynMementoRawData} is not supplied,
-     * but callers are encouraged to supply that for optimal performance.
-     */
-    BrooklynMementoManifest loadMementoManifest(@Nullable BrooklynMementoRawData mementoData, RebindExceptionHandler exceptionHandler) throws IOException;
-
-     /**
-      * Retrieves the memento class, containing deserialized objects (but not the {@link BrooklynObject} class).
-      * Implementations should load the raw data if {@link BrooklynMementoRawData} is not supplied,
-      * but callers are encouraged to supply that for optimal performance.
-      * <p>
-      * Note that this method is *not* thread safe.
-      */
-    BrooklynMemento loadMemento(@Nullable BrooklynMementoRawData mementoData, LookupContext lookupContext, RebindExceptionHandler exceptionHandler) throws IOException;
-
-    /** applies a full checkpoint (write) of all state */  
-    void checkpoint(BrooklynMementoRawData newMemento, PersistenceExceptionHandler exceptionHandler);
-    /** applies a partial write of state delta */  
-    void delta(Delta delta, PersistenceExceptionHandler exceptionHandler);
-    /** inserts an additional delta to be written on the next delta request */
-    @Beta
-    void queueDelta(Delta delta);
-
-    void enableWriteAccess();
-    void disableWriteAccess(boolean graceful);
-    /** permanently shuts down all access to the remote store */
-    void stop(boolean graceful);
-
-    @VisibleForTesting
-    void waitForWritesCompleted(Duration timeout) throws InterruptedException, TimeoutException;
-
-    String getBackingStoreDescription();
-    
-    /** All methods on this interface are unmodifiable by the caller. Sub-interfaces may introduce modifiers. */
-    // NB: the type-specific methods aren't actually used anymore; we could remove them to simplify the impl (and use a multiset there)
-    public interface Delta {
-        Collection<LocationMemento> locations();
-        Collection<EntityMemento> entities();
-        Collection<PolicyMemento> policies();
-        Collection<EnricherMemento> enrichers();
-        Collection<FeedMemento> feeds();
-        Collection<CatalogItemMemento> catalogItems();
-        
-        Collection<String> removedLocationIds();
-        Collection<String> removedEntityIds();
-        Collection<String> removedPolicyIds();
-        Collection<String> removedEnricherIds();
-        Collection<String> removedFeedIds();
-        Collection<String> removedCatalogItemIds();
-        
-        Collection<? extends Memento> getObjectsOfType(BrooklynObjectType type);
-        Collection<String> getRemovedIdsOfType(BrooklynObjectType type);
-    }
-    
-    @Beta
-    public interface MutableDelta extends Delta {
-        void add(BrooklynObjectType type, Memento memento);
-        void addAll(BrooklynObjectType type, Iterable<? extends Memento> memento);
-        void removed(BrooklynObjectType type, Set<String> removedIdsOfType);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoRawData.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoRawData.java b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoRawData.java
deleted file mode 100644
index ea77e90..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoRawData.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.Maps;
-
-/**
- * Represents the raw persisted data.
- */
-@Beta
-public class BrooklynMementoRawData {
-
-    // TODO Should this be on an interface?
-    // The file-based (or object-store based) structure for storing data may well change; is this representation sufficient?
-
-    public static Builder builder() {
-        return new Builder();
-    }
-    
-    public static class Builder {
-        protected String brooklynVersion;
-        protected final Map<String, String> entities = Maps.newConcurrentMap();
-        protected final Map<String, String> locations = Maps.newConcurrentMap();
-        protected final Map<String, String> policies = Maps.newConcurrentMap();
-        protected final Map<String, String> enrichers = Maps.newConcurrentMap();
-        protected final Map<String, String> feeds = Maps.newConcurrentMap();
-        protected final Map<String, String> catalogItems = Maps.newConcurrentMap();
-        
-        public Builder brooklynVersion(String val) {
-            brooklynVersion = val; return this;
-        }
-        public Builder entity(String id, String val) {
-            entities.put(id, val); return this;
-        }
-        public Builder entities(Map<String, String> vals) {
-            entities.putAll(vals); return this;
-        }
-        public Builder location(String id, String val) {
-            locations.put(id, val); return this;
-        }
-        public Builder locations(Map<String, String> vals) {
-            locations.putAll(vals); return this;
-        }
-        public Builder policy(String id, String val) {
-            policies.put(id, val); return this;
-        }
-        public Builder policies(Map<String, String> vals) {
-            policies.putAll(vals); return this;
-        }
-        public Builder enricher(String id, String val) {
-            enrichers.put(id, val); return this;
-        }
-        public Builder enrichers(Map<String, String> vals) {
-            enrichers.putAll(vals); return this;
-        }
-        public Builder feed(String id, String val) {
-            feeds.put(id, val); return this;
-        }
-        public Builder feeds(Map<String, String> vals) {
-            feeds.putAll(vals); return this;
-        }
-        public Builder catalogItem(String id, String val) {
-            catalogItems.put(id, val); return this;
-        }
-        public Builder catalogItems(Map<String, String> vals) {
-            catalogItems.putAll(vals); return this;
-        }
-        
-        public Builder put(BrooklynObjectType type, String id, String val) {
-            switch (type) {
-            case ENTITY: return entity(id, val);
-            case LOCATION: return location(id, val);
-            case POLICY: return policy(id, val);
-            case ENRICHER: return enricher(id, val);
-            case FEED: return feed(id, val);
-            case CATALOG_ITEM: return catalogItem(id, val);
-            case UNKNOWN:
-            default:
-                throw new IllegalArgumentException(type+" not supported");
-            }
-        }
-        public Builder putAll(BrooklynObjectType type, Map<String,String> vals) {
-            switch (type) {
-            case ENTITY: return entities(vals);
-            case LOCATION: return locations(vals);
-            case POLICY: return policies(vals);
-            case ENRICHER: return enrichers(vals);
-            case FEED: return feeds(vals);
-            case CATALOG_ITEM: return catalogItems(vals);
-            case UNKNOWN:
-            default:
-                throw new IllegalArgumentException(type+" not supported");
-            }
-        }
-
-        public BrooklynMementoRawData build() {
-            return new BrooklynMementoRawData(this);
-        }
-    }
-
-    private final Map<String, String> entities;
-    private final Map<String, String> locations;
-    private final Map<String, String> policies;
-    private final Map<String, String> enrichers;
-    private final Map<String, String> feeds;
-    private final Map<String, String> catalogItems;
-    
-    private BrooklynMementoRawData(Builder builder) {
-        entities = builder.entities;
-        locations = builder.locations;
-        policies = builder.policies;
-        enrichers = builder.enrichers;
-        feeds = builder.feeds;
-        catalogItems = builder.catalogItems;
-    }
-
-    public Map<String, String> getEntities() {
-        return Collections.unmodifiableMap(entities);
-    }
-
-    public Map<String, String> getLocations() {
-        return Collections.unmodifiableMap(locations);
-    }
-
-    public Map<String, String> getPolicies() {
-        return Collections.unmodifiableMap(policies);
-    }
-
-    public Map<String, String> getEnrichers() {
-        return Collections.unmodifiableMap(enrichers);
-    }
-    
-    public Map<String, String> getFeeds() {
-        return Collections.unmodifiableMap(feeds);
-    }
-    
-    public Map<String, String> getCatalogItems() {
-        return Collections.unmodifiableMap(catalogItems);
-    }
-    
-    // to handle reset catalog
-    @Beta
-    public void clearCatalogItems() {
-        catalogItems.clear();
-    }
-    
-    public boolean isEmpty() {
-        return entities.isEmpty() && locations.isEmpty() && policies.isEmpty() && enrichers.isEmpty() && feeds.isEmpty() && catalogItems.isEmpty();
-    }
-    
-    public Map<String, String> getObjectsOfType(BrooklynObjectType type) {
-        switch (type) {
-        case ENTITY: return getEntities();
-        case LOCATION: return getLocations();
-        case POLICY: return getPolicies();
-        case ENRICHER: return getEnrichers();
-        case FEED: return getFeeds();
-        case CATALOG_ITEM: return getCatalogItems();
-        default:
-            throw new IllegalArgumentException("Type "+type+" not supported");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/CatalogItemMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/CatalogItemMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/CatalogItemMemento.java
deleted file mode 100644
index 3bf84d0..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/CatalogItemMemento.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Collection;
-
-import org.apache.brooklyn.api.catalog.CatalogItem;
-
-public interface CatalogItemMemento extends Memento {
-
-    String getDescription();
-
-    String getSymbolicName();
-
-    String getIconUrl();
-
-    String getVersion();
-
-    String getPlanYaml();
-
-    String getJavaType();
-
-    Collection<CatalogItem.CatalogBundle> getLibraries();
-
-    CatalogItem.CatalogItemType getCatalogItemType();
-
-    Class<?> getCatalogItemJavaType();
-
-    Class<?> getSpecType();
-
-    boolean isDeprecated();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/EnricherMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/EnricherMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/EnricherMemento.java
deleted file mode 100644
index c3458fd..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/EnricherMemento.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-
-/**
- * Represents the state of an enricher, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- */
-public interface EnricherMemento extends Memento {
-
-    Map<String, Object> getConfig();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/EntityMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/EntityMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/EntityMemento.java
deleted file mode 100644
index 2b1fb14..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/EntityMemento.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.Effector;
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.api.event.AttributeSensor;
-
-import brooklyn.config.ConfigKey;
-
-/**
- * Represents the state of an entity, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- * 
- * @author aled
- */
-public interface EntityMemento extends Memento, TreeNode {
-
-    /** all dynamic effectors (ie differences between those registered on the entity type */ 
-    public List<Effector<?>> getEffectors();
-
-    public Map<ConfigKey<?>, Object> getConfig();
-
-    /** true if the entity is top-level (parentless) and an application
-     * (there may be parentless "orphaned" entities, for which this is false,
-     * and "application" instances nested inside other apps, for which this is again)
-     */
-    public boolean isTopLevelApp();
-    
-    public Map<String, Object> getConfigUnmatched();
-    
-    public Map<AttributeSensor<?>, Object> getAttributes();
-
-    /**
-     * The ids of the member entities, if this is a Group; otherwise empty.
-     * 
-     * @see Group.getMembers()
-     */
-    public List<String> getMembers();
-    
-    /**
-     * The ids of the locations for this entity.
-     */
-    public List<String> getLocations();
-
-    /**
-     * The ids of the policies of this entity.
-     */
-    public Collection<String> getPolicies();
-
-    /**
-     * The ids of the enrichers of this entity.
-     */
-    public Collection<String> getEnrichers();
-
-    /**
-     * The ids of the sensor feeds attached to this entity.
-     */
-    public Collection<String> getFeeds();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/FeedMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/FeedMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/FeedMemento.java
deleted file mode 100644
index e9e371b..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/FeedMemento.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-
-/**
- * Represents the state of a feed, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- */
-public interface FeedMemento extends Memento {
-
-    Map<String, Object> getConfig();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/LocationMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/LocationMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/LocationMemento.java
deleted file mode 100644
index 92d378f..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/LocationMemento.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-
-/**
- * Represents the state of a location, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- * 
- * @author aled
- */
-public interface LocationMemento extends TreeNode, Memento {
-
-    Map<String, Object> getLocationConfig();
-    Set<String> getLocationConfigUnused();
-    String getLocationConfigDescription();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/Memento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/Memento.java b/api/src/main/java/org/apache/brooklyn/mementos/Memento.java
deleted file mode 100644
index d63d003..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/Memento.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.policy.EntityAdjunct;
-
-/**
- * Represents the internal state of something in brooklyn, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- * 
- * @author aled
- */
-public interface Memento extends Serializable {
-
-    /**
-     * The version of brooklyn used when this memento was generated.
-     */
-    String getBrooklynVersion();
-    
-    String getId();
-    
-    public String getType();
-    
-    public String getCatalogItemId();
-    
-    public String getDisplayName();
-    
-    /**
-     * A (weakly-typed) property set for this memento.
-     * These can be used to avoid sub-classing the entity memento, but developers can sub-class to get strong typing if desired.
-     * 
-     * @deprecated since 0.7.0; use config/attributes so generic persistence will work, rather than requiring "custom fields"
-     */
-    @Deprecated
-    public Object getCustomField(String name);
-
-    /**
-     * @deprecated since 0.7.0; use config/attributes so generic persistence will work, rather than requiring "custom fields"
-     */
-    @Deprecated
-    public Map<String, ? extends Object> getCustomFields();
-    
-    public String toVerboseString();
-    
-    public void injectTypeClass(Class<?> clazz);
-    
-    /**
-     * Returns the injected type class, or null if not injected.
-     * <p>
-     * This is useful for ensuring the correct classloader is used (e.g. for {@link EntityMemento} 
-     * previously calling {@code EntityTypes.getDefinedSensors(getType())}. 
-     */
-    public Class<?> getTypeClass();
-
-    public Collection<Object> getTags();
-    
-    /** Null for {@link Entity}, but important for adjuncts; see {@link EntityAdjunct#getUniqueTag()} */
-    public String getUniqueTag();
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/458d1b17/api/src/main/java/org/apache/brooklyn/mementos/PolicyMemento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/mementos/PolicyMemento.java b/api/src/main/java/org/apache/brooklyn/mementos/PolicyMemento.java
deleted file mode 100644
index b9b5e7b..0000000
--- a/api/src/main/java/org/apache/brooklyn/mementos/PolicyMemento.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.mementos;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-
-/**
- * Represents the state of an policy, so that it can be reconstructed (e.g. after restarting brooklyn).
- * 
- * @see RebindSupport
- * 
- * @author aled
- */
-public interface PolicyMemento extends Memento {
-
-    Map<String, Object> getConfig();
-}



[6/7] incubator-brooklyn git commit: [BROOKLYN-162] Move ./api/policy to the right package

Posted by ha...@apache.org.
[BROOKLYN-162] Move ./api/policy to the right package


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

Branch: refs/heads/master
Commit: 904f9508035fc9e56c99c35b92786def7e33e729
Parents: 458d1b1
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Aug 14 00:09:18 2015 -0400
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Aug 14 00:09:18 2015 -0400

----------------------------------------------------------------------
 .../org/apache/brooklyn/api/entity/Entity.java  |   8 +-
 .../org/apache/brooklyn/api/entity/Feed.java    |   2 +-
 .../api/entity/proxying/EntitySpec.java         |   8 +-
 .../api/entity/rebind/BrooklynObjectType.java   |   4 +-
 .../entity/rebind/RebindExceptionHandler.java   |   4 +-
 .../brooklyn/api/management/EntityManager.java  |   8 +-
 .../api/mementos/BrooklynMementoPersister.java  |   4 +-
 .../apache/brooklyn/api/mementos/Memento.java   |   2 +-
 .../apache/brooklyn/api/policy/Enricher.java    |  71 ++++++
 .../brooklyn/api/policy/EnricherSpec.java       | 214 +++++++++++++++++++
 .../brooklyn/api/policy/EnricherType.java       |  36 ++++
 .../brooklyn/api/policy/EntityAdjunct.java      |  55 +++++
 .../org/apache/brooklyn/api/policy/Policy.java  |  83 +++++++
 .../apache/brooklyn/api/policy/PolicySpec.java  | 152 +++++++++++++
 .../apache/brooklyn/api/policy/PolicyType.java  |  36 ++++
 .../org/apache/brooklyn/policy/Enricher.java    |  71 ------
 .../apache/brooklyn/policy/EnricherSpec.java    | 214 -------------------
 .../apache/brooklyn/policy/EnricherType.java    |  36 ----
 .../apache/brooklyn/policy/EntityAdjunct.java   |  55 -----
 .../java/org/apache/brooklyn/policy/Policy.java |  83 -------
 .../org/apache/brooklyn/policy/PolicySpec.java  | 152 -------------
 .../org/apache/brooklyn/policy/PolicyType.java  |  36 ----
 .../main/java/brooklyn/basic/BrooklynTypes.java |   4 +-
 .../brooklyn/catalog/CatalogPredicates.java     |   4 +-
 .../catalog/internal/BasicBrooklynCatalog.java  |   4 +-
 .../catalog/internal/CatalogClasspathDo.java    |   2 +-
 .../catalog/internal/CatalogPolicyItemDto.java  |   4 +-
 .../main/java/brooklyn/enricher/Enrichers.java  |   4 +-
 .../enricher/basic/AbstractEnricher.java        |   4 +-
 .../enricher/basic/EnricherDynamicType.java     |   4 +-
 .../enricher/basic/EnricherTypeSnapshot.java    |   2 +-
 .../brooklyn/entity/basic/AbstractEntity.java   |  10 +-
 .../java/brooklyn/entity/basic/Entities.java    |   4 +-
 .../brooklyn/entity/basic/EntityAdjuncts.java   |   4 +-
 .../basic/EntityTransientCopyInternal.java      |   4 +-
 .../brooklyn/entity/basic/PolicyDescriptor.java |   2 +-
 .../entity/basic/ServiceStateLogic.java         |   6 +-
 .../entity/group/DynamicClusterImpl.java        |   2 +-
 .../entity/proxying/InternalEntityFactory.java  |   8 +-
 .../entity/proxying/InternalPolicyFactory.java  |   8 +-
 .../AbstractBrooklynObjectRebindSupport.java    |   2 +-
 .../rebind/ImmediateDeltaChangeListener.java    |   4 +-
 .../rebind/PeriodicDeltaChangeListener.java     |   4 +-
 .../entity/rebind/RebindContextImpl.java        |   4 +-
 .../rebind/RebindContextLookupContext.java      |   4 +-
 .../rebind/RebindExceptionHandlerImpl.java      |   4 +-
 .../brooklyn/entity/rebind/RebindIteration.java |   4 +-
 .../entity/rebind/dto/MementosGenerators.java   |   6 +-
 .../persister/BrooklynPersistenceUtils.java     |   4 +-
 .../rebind/persister/XmlMementoSerializer.java  |   4 +-
 .../internal/EntityChangeListener.java          |   4 +-
 .../internal/EntityManagementSupport.java       |   4 +-
 .../management/internal/LocalEntityManager.java |   8 +-
 .../internal/NonDeploymentEntityManager.java    |   8 +-
 .../policy/basic/AbstractEntityAdjunct.java     |   2 +-
 .../brooklyn/policy/basic/AbstractPolicy.java   |   4 +-
 .../java/brooklyn/policy/basic/AdjunctType.java |   2 +-
 .../java/brooklyn/policy/basic/Policies.java    |   2 +-
 .../policy/basic/PolicyDynamicType.java         |   4 +-
 .../policy/basic/PolicyTypeSnapshot.java        |   2 +-
 .../location/basic/LocationTypeSnapshot.java    |   2 +-
 .../java/brooklyn/enricher/EnrichersTest.java   |   2 +-
 .../enricher/SensorPropagatingEnricherTest.java |   2 +-
 .../enricher/basic/BasicEnricherTest.java       |   4 +-
 .../YamlRollingTimeWindowMeanEnricherTest.java  |   2 +-
 .../YamlTimeWeightedDeltaEnricherTest.java      |   2 +-
 .../brooklyn/entity/basic/EntitySpecTest.java   |  10 +-
 .../entity/basic/PolicyRegistrationTest.java    |   6 +-
 .../entity/basic/ServiceStateLogicTest.java     |   2 +-
 .../entity/group/GroupPickUpEntitiesTest.java   |   2 +-
 .../group/MembershipTrackingPolicyTest.java     |   2 +-
 .../entity/rebind/RebindEnricherTest.java       |   4 +-
 .../entity/rebind/RebindFailuresTest.java       |   8 +-
 .../entity/rebind/RebindPolicyTest.java         |   6 +-
 .../BrooklynMementoPersisterTestFixture.java    |   4 +-
 .../persister/XmlMementoSerializerTest.java     |   4 +-
 .../osgi/OsgiVersionMoreEntityTest.java         |   2 +-
 .../brooklyn/policy/basic/BasicPolicyTest.java  |   2 +-
 .../brooklyn/policy/basic/EnricherTypeTest.java |   2 +-
 .../brooklyn/policy/basic/PolicyTypeTest.java   |   2 +-
 .../EntityPersistencePerformanceTest.java       |   4 +-
 .../brooklyn/demo/CumulusRDFApplication.java    |   4 +-
 .../demo/HighAvailabilityCassandraCluster.java  |   4 +-
 .../brooklyn/demo/RiakClusterExample.java       |   4 +-
 .../brooklyn/demo/WideAreaCassandraCluster.java |   4 +-
 ...lusterDatabaseExampleAppIntegrationTest.java |   2 +-
 .../os/AdvertiseWinrmLoginPolicyTest.java       |   2 +-
 .../policy/os/CreateUserPolicyLiveTest.java     |   2 +-
 .../policy/os/CreateUserPolicyTest.java         |   2 +-
 .../policy/autoscaling/AutoScalerPolicy.java    |   2 +-
 .../policy/ha/ConditionalSuspendPolicy.java     |   2 +-
 .../autoscaling/AutoScalerPolicyTest.java       |   2 +-
 .../ha/ConnectionFailureDetectorTest.java       |   2 +-
 .../brooklyn/policy/ha/HaPolicyRebindTest.java  |   4 +-
 ...ServiceFailureDetectorStabilizationTest.java |   2 +-
 .../policy/ha/ServiceFailureDetectorTest.java   |   2 +-
 .../brooklyn/policy/ha/ServiceReplacerTest.java |   2 +-
 .../policy/ha/ServiceRestarterTest.java         |   2 +-
 .../entity/basic/SoftwareProcessImpl.java       |   2 +-
 .../brooklyn/entity/pool/ServerPoolImpl.java    |   2 +-
 .../entity/service/InitdServiceInstaller.java   |   4 +-
 .../entity/service/SystemServiceEnricher.java   |   4 +-
 .../service/SystemServiceInstallerFactory.java  |   2 +-
 .../service/SystemServiceEnricherTest.java      |   4 +-
 .../entity/messaging/kafka/KafkaCluster.java    |   2 +-
 .../entity/zookeeper/ZooKeeperEnsembleImpl.java |   2 +-
 .../entity/network/bind/BindDnsServerImpl.java  |   4 +-
 .../bind/BindDnsServerIntegrationTest.java      |   2 +-
 .../network/bind/BindDnsServerLiveTest.java     |   2 +-
 .../cassandra/CassandraDatacenterImpl.java      |   2 +-
 .../nosql/cassandra/CassandraFabricImpl.java    |   2 +-
 .../nosql/couchbase/CouchbaseClusterImpl.java   |   4 +-
 .../nosql/mongodb/MongoDBReplicaSetImpl.java    |   2 +-
 .../sharding/MongoDBRouterClusterImpl.java      |   2 +-
 .../sharding/MongoDBShardedDeploymentImpl.java  |   2 +-
 .../entity/nosql/riak/RiakClusterImpl.java      |   4 +-
 .../entity/dns/AbstractGeoDnsServiceImpl.java   |   4 +-
 .../entity/proxy/AbstractControllerImpl.java    |   6 +-
 .../AbstractNonProvisionedControllerImpl.java   |   2 +-
 .../entity/proxy/nginx/NginxControllerImpl.java |   2 +-
 .../BrooklynEntityDecorationResolver.java       |   8 +-
 .../BrooklynYamlTypeInstantiatorTest.java       |   2 +-
 .../camp/brooklyn/EnrichersYamlTest.java        |   2 +-
 .../brooklyn/JavaWebAppsIntegrationTest.java    |   2 +-
 .../camp/brooklyn/PoliciesYamlTest.java         |   2 +-
 .../CatalogOsgiVersionMoreEntityTest.java       |   4 +-
 .../brooklyn/catalog/CatalogYamlCombiTest.java  |   2 +-
 .../brooklyn/catalog/CatalogYamlPolicyTest.java |   2 +-
 .../brooklyn/catalog/CatalogYamlRebindTest.java |   4 +-
 .../org/apache/brooklyn/cli/ItemLister.java     |   4 +-
 .../apache/brooklyn/cli/lister/ClassFinder.java |   4 +-
 .../qa/load/SimulatedNginxControllerImpl.java   |   4 +-
 .../qa/longevity/webcluster/WebClusterApp.java  |   2 +-
 .../rest/resources/CatalogResource.java         |   4 +-
 .../rest/resources/PolicyConfigResource.java    |   2 +-
 .../brooklyn/rest/resources/PolicyResource.java |   4 +-
 .../rest/transform/CatalogTransformer.java      |   4 +-
 .../rest/transform/PolicyTransformer.java       |   2 +-
 .../rest/util/BrooklynRestResourceUtils.java    |   2 +-
 .../util/BrooklynRestResourceUtilsTest.java     |   2 +-
 .../osgi/tests/more/MoreEntityImpl.java         |   2 +-
 .../osgi/tests/more/MoreEntityImpl.java         |   2 +-
 142 files changed, 879 insertions(+), 861 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java b/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
index 0918d14..9734f25 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
@@ -28,10 +28,10 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.config.ConfigKey.HasConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java b/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
index 0a2205c..5530cd0 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/Feed.java
@@ -21,7 +21,7 @@ package org.apache.brooklyn.api.entity;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
 import org.apache.brooklyn.api.mementos.FeedMemento;
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/entity/proxying/EntitySpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/proxying/EntitySpec.java b/api/src/main/java/org/apache/brooklyn/api/entity/proxying/EntitySpec.java
index 7a0d351..aa7113b 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/proxying/EntitySpec.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/proxying/EntitySpec.java
@@ -32,10 +32,10 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/entity/rebind/BrooklynObjectType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/BrooklynObjectType.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/BrooklynObjectType.java
index b4a120e..a7c924f 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/BrooklynObjectType.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/BrooklynObjectType.java
@@ -23,8 +23,8 @@ import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import com.google.common.annotations.Beta;
 import com.google.common.base.CaseFormat;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindExceptionHandler.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindExceptionHandler.java b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindExceptionHandler.java
index 24e5997..5fdd121 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindExceptionHandler.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/rebind/RebindExceptionHandler.java
@@ -26,8 +26,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import com.google.common.annotations.Beta;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/management/EntityManager.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/management/EntityManager.java b/api/src/main/java/org/apache/brooklyn/api/management/EntityManager.java
index 4120587..98efc4c 100644
--- a/api/src/main/java/org/apache/brooklyn/api/management/EntityManager.java
+++ b/api/src/main/java/org/apache/brooklyn/api/management/EntityManager.java
@@ -27,10 +27,10 @@ import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.proxying.EntityTypeRegistry;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import com.google.common.base.Predicate;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
index 07a258f..ff94a68 100644
--- a/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/BrooklynMementoPersister.java
@@ -35,8 +35,8 @@ import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.entity.rebind.RebindManager;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.util.time.Duration;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java b/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
index 8c4a005..debdec7 100644
--- a/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
+++ b/api/src/main/java/org/apache/brooklyn/api/mementos/Memento.java
@@ -24,7 +24,7 @@ import java.util.Map;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 
 /**
  * Represents the internal state of something in brooklyn, so that it can be reconstructed (e.g. after restarting brooklyn).

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/Enricher.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/Enricher.java b/api/src/main/java/org/apache/brooklyn/api/policy/Enricher.java
new file mode 100644
index 0000000..1da1ace
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/Enricher.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+import org.apache.brooklyn.api.entity.rebind.Rebindable;
+import org.apache.brooklyn.api.entity.trait.Configurable;
+import org.apache.brooklyn.api.mementos.EnricherMemento;
+
+import brooklyn.config.ConfigKey;
+
+import com.google.common.annotations.Beta;
+
+/**
+ * Publishes metrics for an entity, e.g. aggregating information from other sensors/entities.
+ *
+ * Has some similarities to {@link Policy}. However, enrichers specifically do not invoke
+ * effectors and should only function to publish new metrics.
+ */
+public interface Enricher extends EntityAdjunct, Rebindable, Configurable {
+    /**
+     * A unique id for this enricher.
+     */
+    @Override
+    String getId();
+
+    /**
+     * Information about the type of this entity; analogous to Java's object.getClass.
+     */
+    @Beta
+    EnricherType getEnricherType();
+
+    /**
+     * Convenience method for {@code config().get(key)}
+     */
+    <T> T getConfig(ConfigKey<T> key);
+    
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
+     */
+    @Deprecated
+    <T> T setConfig(ConfigKey<T> key, T val);
+
+    /**
+     * Users are strongly discouraged from calling or overriding this method.
+     * It is for internal calls only, relating to persisting/rebinding entities.
+     * This method may change (or be removed) in a future release without notice.
+     */
+    @Override
+    @Beta
+    RebindSupport<EnricherMemento> getRebindSupport();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/EnricherSpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/EnricherSpec.java b/api/src/main/java/org/apache/brooklyn/api/policy/EnricherSpec.java
new file mode 100644
index 0000000..6cdc742
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/EnricherSpec.java
@@ -0,0 +1,214 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
+import org.apache.brooklyn.api.management.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import brooklyn.config.ConfigKey;
+import brooklyn.config.ConfigKey.HasConfigKey;
+
+import com.google.common.collect.Maps;
+
+/**
+ * Gives details of an enricher to be created. It describes the enricher's configuration, and is
+ * reusable to create multiple enrichers with the same configuration.
+ * 
+ * To create an EnricherSpec, it is strongly encouraged to use {@code create(...)} methods.
+ * 
+ * @param <T> The type of enricher to be created
+ * 
+ * @author aled
+ */
+public class EnricherSpec<T extends Enricher> extends AbstractBrooklynObjectSpec<T,EnricherSpec<T>> {
+
+    private static final Logger log = LoggerFactory.getLogger(EnricherSpec.class);
+
+    private final static long serialVersionUID = 1L;
+
+
+    /**
+     * Creates a new {@link EnricherSpec} instance for an enricher of the given type. The returned 
+     * {@link EnricherSpec} can then be customized.
+     * 
+     * @param type A {@link Enricher} class
+     */
+    public static <T extends Enricher> EnricherSpec<T> create(Class<? extends T> type) {
+        return new EnricherSpec<T>(type);
+    }
+    
+    /**
+     * Creates a new {@link EnricherSpec} instance with the given config, for an enricher of the given type.
+     * 
+     * This is primarily for groovy code; equivalent to {@code EnricherSpec.create(type).configure(config)}.
+     * 
+     * @param config The spec's configuration (see {@link EnricherSpec#configure(Map)}).
+     * @param type   An {@link Enricher} class
+     */
+    public static <T extends Enricher> EnricherSpec<T> create(Map<?,?> config, Class<? extends T> type) {
+        return EnricherSpec.create(type).configure(config);
+    }
+    
+    private final Map<String, Object> flags = Maps.newLinkedHashMap();
+    private final Map<ConfigKey<?>, Object> config = Maps.newLinkedHashMap();
+
+    protected EnricherSpec(Class<? extends T> type) {
+        super(type);
+    }
+    
+    protected void checkValidType(Class<? extends T> type) {
+        checkIsImplementation(type, Enricher.class);
+        checkIsNewStyleImplementation(type);
+    }
+    
+    public EnricherSpec<T> uniqueTag(String uniqueTag) {
+        flags.put("uniqueTag", uniqueTag);
+        return this;
+    }
+    
+    public EnricherSpec<T> configure(Map<?,?> val) {
+        for (Map.Entry<?, ?> entry: val.entrySet()) {
+            if (entry.getKey()==null) throw new NullPointerException("Null key not permitted");
+            if (entry.getKey() instanceof CharSequence)
+                flags.put(entry.getKey().toString(), entry.getValue());
+            else if (entry.getKey() instanceof ConfigKey<?>)
+                config.put((ConfigKey<?>)entry.getKey(), entry.getValue());
+            else if (entry.getKey() instanceof HasConfigKey<?>)
+                config.put(((HasConfigKey<?>)entry.getKey()).getConfigKey(), entry.getValue());
+            else {
+                log.warn("Spec "+this+" ignoring unknown config key "+entry.getKey());
+            }
+        }
+        return this;
+    }
+    
+    public EnricherSpec<T> configure(CharSequence key, Object val) {
+        flags.put(checkNotNull(key, "key").toString(), val);
+        return this;
+    }
+    
+    public <V> EnricherSpec<T> configure(ConfigKey<V> key, V val) {
+        config.put(checkNotNull(key, "key"), val);
+        return this;
+    }
+
+    public <V> EnricherSpec<T> configureIfNotNull(ConfigKey<V> key, V val) {
+        return (val != null) ? configure(key, val) : this;
+    }
+
+    public <V> EnricherSpec<T> configure(ConfigKey<V> key, Task<? extends V> val) {
+        config.put(checkNotNull(key, "key"), val);
+        return this;
+    }
+
+    public <V> EnricherSpec<T> configure(HasConfigKey<V> key, V val) {
+        config.put(checkNotNull(key, "key").getConfigKey(), val);
+        return this;
+    }
+
+    public <V> EnricherSpec<T> configure(HasConfigKey<V> key, Task<? extends V> val) {
+        config.put(checkNotNull(key, "key").getConfigKey(), val);
+        return this;
+    }
+
+    /**
+     * @return Read-only construction flags
+     * @see SetFromFlag declarations on the enricher type
+     */
+    public Map<String, ?> getFlags() {
+        return Collections.unmodifiableMap(flags);
+    }
+    
+    /**
+     * @return Read-only configuration values
+     */
+    public Map<ConfigKey<?>, Object> getConfig() {
+        return Collections.unmodifiableMap(config);
+    }
+
+    public abstract static class ExtensibleEnricherSpec<T extends Enricher,K extends ExtensibleEnricherSpec<T,K>> extends EnricherSpec<T> {
+        private static final long serialVersionUID = -3649347642882809739L;
+        
+        protected ExtensibleEnricherSpec(Class<? extends T> type) {
+            super(type);
+        }
+
+        @SuppressWarnings("unchecked")
+        protected K self() {
+            // we override the AbstractBrooklynObjectSpec method -- it's a different K here because
+            // EnricherSpec does not contain a parametrisable generic return type (Self)
+            return (K) this;
+        }
+        
+        @Override
+        public K uniqueTag(String uniqueTag) {
+            super.uniqueTag(uniqueTag);
+            return self();
+        }
+
+        @Override
+        public K configure(Map<?, ?> val) {
+            super.configure(val);
+            return self();
+        }
+
+        @Override
+        public K configure(CharSequence key, Object val) {
+            super.configure(key, val);
+            return self();
+        }
+
+        @Override
+        public <V> K configure(ConfigKey<V> key, V val) {
+            super.configure(key, val);
+            return self();
+        }
+
+        @Override
+        public <V> K configureIfNotNull(ConfigKey<V> key, V val) {
+            super.configureIfNotNull(key, val);
+            return self();
+        }
+
+        @Override
+        public <V> K configure(ConfigKey<V> key, Task<? extends V> val) {
+            super.configure(key, val);
+            return self();
+        }
+
+        @Override
+        public <V> K configure(HasConfigKey<V> key, V val) {
+            super.configure(key, val);
+            return self();
+        }
+
+        @Override
+        public <V> K configure(HasConfigKey<V> key, Task<? extends V> val) {
+            super.configure(key, val);
+            return self();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/EnricherType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/EnricherType.java b/api/src/main/java/org/apache/brooklyn/api/policy/EnricherType.java
new file mode 100644
index 0000000..e9706cc
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/EnricherType.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import org.apache.brooklyn.api.basic.BrooklynType;
+
+import com.google.common.annotations.Beta;
+
+/**
+ * Gives type information for an {@link Enricher}. It is immutable.
+ * 
+ * For enrichers that can support config keys etc being added on-the-fly,
+ * then this EnricherType will be a snapshot and subsequent snapshots will
+ * include the changes.
+ * 
+ * @since 0.6
+ */
+@Beta
+public interface EnricherType extends BrooklynType {
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/EntityAdjunct.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/EntityAdjunct.java b/api/src/main/java/org/apache/brooklyn/api/policy/EntityAdjunct.java
new file mode 100644
index 0000000..a703c1a
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/EntityAdjunct.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import javax.annotation.Nullable;
+
+import org.apache.brooklyn.api.basic.BrooklynObject;
+
+/**
+ * EntityAdjuncts are supplementary logic that can be attached to Entities, 
+ * such as providing sensor enrichment or event-driven policy behavior
+ */
+public interface EntityAdjunct extends BrooklynObject {
+    /**
+     * A unique id for this adjunct, typically created by the system with no meaning
+     */
+    @Override
+    String getId();
+
+    /**
+     * Whether the adjunct is destroyed
+     */
+    boolean isDestroyed();
+    
+    /**
+     * Whether the adjunct is available/active, ie started and not stopped or interrupted
+     */
+    boolean isRunning();
+    
+    /**
+     * An optional tag used to identify adjuncts with a specific purpose, typically created by the caller.
+     * This is used to prevent multiple instances with the same purpose from being created,
+     * and to access and customize adjuncts so created.
+     * <p>
+     * This will be included in the call to {@link #getTags()}.
+     */
+    @Nullable String getUniqueTag();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/Policy.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/Policy.java b/api/src/main/java/org/apache/brooklyn/api/policy/Policy.java
new file mode 100644
index 0000000..92b57b2
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/Policy.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.rebind.RebindSupport;
+import org.apache.brooklyn.api.entity.rebind.Rebindable;
+import org.apache.brooklyn.api.entity.trait.Configurable;
+import org.apache.brooklyn.api.mementos.PolicyMemento;
+
+import brooklyn.config.ConfigKey;
+
+import com.google.common.annotations.Beta;
+
+/**
+ * Policies implement actions and thus must be suspendable; policies should continue to evaluate their sensors
+ * and indicate their desired planned action even if they aren't invoking them
+ */
+public interface Policy extends EntityAdjunct, Rebindable, Configurable {
+    /**
+     * A unique id for this policy.
+     */
+    @Override
+    String getId();
+
+    /**
+     * Information about the type of this entity; analogous to Java's object.getClass.
+     */
+    @Beta
+    PolicyType getPolicyType();
+
+    /**
+     * Resume the policy
+     */
+    void resume();
+
+    /**
+     * Suspend the policy
+     */
+    void suspend();
+    
+    /**
+     * Whether the policy is suspended
+     */
+    boolean isSuspended();
+    
+    /**
+     * Convenience method for {@code config().get(key)}
+     */
+    <T> T getConfig(ConfigKey<T> key);
+    
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
+     */
+    @Deprecated
+    <T> T setConfig(ConfigKey<T> key, T val);
+    
+    /**
+     * Users are strongly discouraged from calling or overriding this method.
+     * It is for internal calls only, relating to persisting/rebinding entities.
+     * This method may change (or be removed) in a future release without notice.
+     */
+    @Override
+    @Beta
+    RebindSupport<PolicyMemento> getRebindSupport();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java b/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
new file mode 100644
index 0000000..3e13db6
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
+import org.apache.brooklyn.api.management.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import brooklyn.config.ConfigKey;
+import brooklyn.config.ConfigKey.HasConfigKey;
+
+import com.google.common.collect.Maps;
+
+/**
+ * Gives details of a policy to be created. It describes the policy's configuration, and is
+ * reusable to create multiple policies with the same configuration.
+ * 
+ * To create a PolicySpec, it is strongly encouraged to use {@code create(...)} methods.
+ * 
+ * @param <T> The type of policy to be created
+ * 
+ * @author aled
+ */
+public class PolicySpec<T extends Policy> extends AbstractBrooklynObjectSpec<T,PolicySpec<T>> {
+
+    private static final Logger log = LoggerFactory.getLogger(PolicySpec.class);
+
+    private final static long serialVersionUID = 1L;
+
+
+    /**
+     * Creates a new {@link PolicySpec} instance for a policy of the given type. The returned 
+     * {@link PolicySpec} can then be customized.
+     * 
+     * @param type A {@link Policy} class
+     */
+    public static <T extends Policy> PolicySpec<T> create(Class<T> type) {
+        return new PolicySpec<T>(type);
+    }
+    
+    /**
+     * Creates a new {@link PolicySpec} instance with the given config, for a policy of the given type.
+     * 
+     * This is primarily for groovy code; equivalent to {@code PolicySpec.create(type).configure(config)}.
+     * 
+     * @param config The spec's configuration (see {@link PolicySpec#configure(Map)}).
+     * @param type   A {@link Policy} class
+     */
+    public static <T extends Policy> PolicySpec<T> create(Map<?,?> config, Class<T> type) {
+        return PolicySpec.create(type).configure(config);
+    }
+    
+    private final Map<String, Object> flags = Maps.newLinkedHashMap();
+    private final Map<ConfigKey<?>, Object> config = Maps.newLinkedHashMap();
+
+    protected PolicySpec(Class<T> type) {
+        super(type);
+    }
+    
+    protected void checkValidType(Class<? extends T> type) {
+        checkIsImplementation(type, Policy.class);
+        checkIsNewStyleImplementation(type);
+    }
+    
+    public PolicySpec<T> uniqueTag(String uniqueTag) {
+        flags.put("uniqueTag", uniqueTag);
+        return this;
+    }
+
+    public PolicySpec<T> configure(Map<?,?> val) {
+        for (Map.Entry<?, ?> entry: val.entrySet()) {
+            if (entry.getKey()==null) throw new NullPointerException("Null key not permitted");
+            if (entry.getKey() instanceof CharSequence)
+                flags.put(entry.getKey().toString(), entry.getValue());
+            else if (entry.getKey() instanceof ConfigKey<?>)
+                config.put((ConfigKey<?>)entry.getKey(), entry.getValue());
+            else if (entry.getKey() instanceof HasConfigKey<?>)
+                config.put(((HasConfigKey<?>)entry.getKey()).getConfigKey(), entry.getValue());
+            else {
+                log.warn("Spec "+this+" ignoring unknown config key "+entry.getKey());
+            }
+        }
+        return this;
+    }
+    
+    public PolicySpec<T> configure(CharSequence key, Object val) {
+        flags.put(checkNotNull(key, "key").toString(), val);
+        return this;
+    }
+    
+    public <V> PolicySpec<T> configure(ConfigKey<V> key, V val) {
+        config.put(checkNotNull(key, "key"), val);
+        return this;
+    }
+
+    public <V> PolicySpec<T> configureIfNotNull(ConfigKey<V> key, V val) {
+        return (val != null) ? configure(key, val) : this;
+    }
+
+    public <V> PolicySpec<T> configure(ConfigKey<V> key, Task<? extends V> val) {
+        config.put(checkNotNull(key, "key"), val);
+        return this;
+    }
+
+    public <V> PolicySpec<T> configure(HasConfigKey<V> key, V val) {
+        config.put(checkNotNull(key, "key").getConfigKey(), val);
+        return this;
+    }
+
+    public <V> PolicySpec<T> configure(HasConfigKey<V> key, Task<? extends V> val) {
+        config.put(checkNotNull(key, "key").getConfigKey(), val);
+        return this;
+    }
+
+    /**
+     * @return Read-only construction flags
+     * @see SetFromFlag declarations on the policy type
+     */
+    public Map<String, ?> getFlags() {
+        return Collections.unmodifiableMap(flags);
+    }
+    
+    /**
+     * @return Read-only configuration values
+     */
+    public Map<ConfigKey<?>, Object> getConfig() {
+        return Collections.unmodifiableMap(config);
+    }
+        
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java b/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
new file mode 100644
index 0000000..2703e1f
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.api.policy;
+
+import org.apache.brooklyn.api.basic.BrooklynType;
+
+import com.google.common.annotations.Beta;
+
+/**
+ * Gives type information for a {@link Policy}. It is immutable.
+ * 
+ * For policies that can support config keys etc being added on-the-fly,
+ * then this PolicyType will be a snapshot and subsequent snapshots will
+ * include the changes.
+ * 
+ * @since 0.5
+ */
+@Beta
+public interface PolicyType extends BrooklynType {
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/Enricher.java b/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
deleted file mode 100644
index 3b7608d..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/Enricher.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.api.entity.rebind.Rebindable;
-import org.apache.brooklyn.api.entity.trait.Configurable;
-import org.apache.brooklyn.api.mementos.EnricherMemento;
-
-import brooklyn.config.ConfigKey;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Publishes metrics for an entity, e.g. aggregating information from other sensors/entities.
- *
- * Has some similarities to {@link Policy}. However, enrichers specifically do not invoke
- * effectors and should only function to publish new metrics.
- */
-public interface Enricher extends EntityAdjunct, Rebindable, Configurable {
-    /**
-     * A unique id for this enricher.
-     */
-    @Override
-    String getId();
-
-    /**
-     * Information about the type of this entity; analogous to Java's object.getClass.
-     */
-    @Beta
-    EnricherType getEnricherType();
-
-    /**
-     * Convenience method for {@code config().get(key)}
-     */
-    <T> T getConfig(ConfigKey<T> key);
-    
-    /**
-     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
-     */
-    @Deprecated
-    <T> T setConfig(ConfigKey<T> key, T val);
-
-    /**
-     * Users are strongly discouraged from calling or overriding this method.
-     * It is for internal calls only, relating to persisting/rebinding entities.
-     * This method may change (or be removed) in a future release without notice.
-     */
-    @Override
-    @Beta
-    RebindSupport<EnricherMemento> getRebindSupport();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java b/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java
deleted file mode 100644
index 4878250..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.api.management.Task;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.ConfigKey;
-import brooklyn.config.ConfigKey.HasConfigKey;
-
-import com.google.common.collect.Maps;
-
-/**
- * Gives details of an enricher to be created. It describes the enricher's configuration, and is
- * reusable to create multiple enrichers with the same configuration.
- * 
- * To create an EnricherSpec, it is strongly encouraged to use {@code create(...)} methods.
- * 
- * @param <T> The type of enricher to be created
- * 
- * @author aled
- */
-public class EnricherSpec<T extends Enricher> extends AbstractBrooklynObjectSpec<T,EnricherSpec<T>> {
-
-    private static final Logger log = LoggerFactory.getLogger(EnricherSpec.class);
-
-    private final static long serialVersionUID = 1L;
-
-
-    /**
-     * Creates a new {@link EnricherSpec} instance for an enricher of the given type. The returned 
-     * {@link EnricherSpec} can then be customized.
-     * 
-     * @param type A {@link Enricher} class
-     */
-    public static <T extends Enricher> EnricherSpec<T> create(Class<? extends T> type) {
-        return new EnricherSpec<T>(type);
-    }
-    
-    /**
-     * Creates a new {@link EnricherSpec} instance with the given config, for an enricher of the given type.
-     * 
-     * This is primarily for groovy code; equivalent to {@code EnricherSpec.create(type).configure(config)}.
-     * 
-     * @param config The spec's configuration (see {@link EnricherSpec#configure(Map)}).
-     * @param type   An {@link Enricher} class
-     */
-    public static <T extends Enricher> EnricherSpec<T> create(Map<?,?> config, Class<? extends T> type) {
-        return EnricherSpec.create(type).configure(config);
-    }
-    
-    private final Map<String, Object> flags = Maps.newLinkedHashMap();
-    private final Map<ConfigKey<?>, Object> config = Maps.newLinkedHashMap();
-
-    protected EnricherSpec(Class<? extends T> type) {
-        super(type);
-    }
-    
-    protected void checkValidType(Class<? extends T> type) {
-        checkIsImplementation(type, Enricher.class);
-        checkIsNewStyleImplementation(type);
-    }
-    
-    public EnricherSpec<T> uniqueTag(String uniqueTag) {
-        flags.put("uniqueTag", uniqueTag);
-        return this;
-    }
-    
-    public EnricherSpec<T> configure(Map<?,?> val) {
-        for (Map.Entry<?, ?> entry: val.entrySet()) {
-            if (entry.getKey()==null) throw new NullPointerException("Null key not permitted");
-            if (entry.getKey() instanceof CharSequence)
-                flags.put(entry.getKey().toString(), entry.getValue());
-            else if (entry.getKey() instanceof ConfigKey<?>)
-                config.put((ConfigKey<?>)entry.getKey(), entry.getValue());
-            else if (entry.getKey() instanceof HasConfigKey<?>)
-                config.put(((HasConfigKey<?>)entry.getKey()).getConfigKey(), entry.getValue());
-            else {
-                log.warn("Spec "+this+" ignoring unknown config key "+entry.getKey());
-            }
-        }
-        return this;
-    }
-    
-    public EnricherSpec<T> configure(CharSequence key, Object val) {
-        flags.put(checkNotNull(key, "key").toString(), val);
-        return this;
-    }
-    
-    public <V> EnricherSpec<T> configure(ConfigKey<V> key, V val) {
-        config.put(checkNotNull(key, "key"), val);
-        return this;
-    }
-
-    public <V> EnricherSpec<T> configureIfNotNull(ConfigKey<V> key, V val) {
-        return (val != null) ? configure(key, val) : this;
-    }
-
-    public <V> EnricherSpec<T> configure(ConfigKey<V> key, Task<? extends V> val) {
-        config.put(checkNotNull(key, "key"), val);
-        return this;
-    }
-
-    public <V> EnricherSpec<T> configure(HasConfigKey<V> key, V val) {
-        config.put(checkNotNull(key, "key").getConfigKey(), val);
-        return this;
-    }
-
-    public <V> EnricherSpec<T> configure(HasConfigKey<V> key, Task<? extends V> val) {
-        config.put(checkNotNull(key, "key").getConfigKey(), val);
-        return this;
-    }
-
-    /**
-     * @return Read-only construction flags
-     * @see SetFromFlag declarations on the enricher type
-     */
-    public Map<String, ?> getFlags() {
-        return Collections.unmodifiableMap(flags);
-    }
-    
-    /**
-     * @return Read-only configuration values
-     */
-    public Map<ConfigKey<?>, Object> getConfig() {
-        return Collections.unmodifiableMap(config);
-    }
-
-    public abstract static class ExtensibleEnricherSpec<T extends Enricher,K extends ExtensibleEnricherSpec<T,K>> extends EnricherSpec<T> {
-        private static final long serialVersionUID = -3649347642882809739L;
-        
-        protected ExtensibleEnricherSpec(Class<? extends T> type) {
-            super(type);
-        }
-
-        @SuppressWarnings("unchecked")
-        protected K self() {
-            // we override the AbstractBrooklynObjectSpec method -- it's a different K here because
-            // EnricherSpec does not contain a parametrisable generic return type (Self)
-            return (K) this;
-        }
-        
-        @Override
-        public K uniqueTag(String uniqueTag) {
-            super.uniqueTag(uniqueTag);
-            return self();
-        }
-
-        @Override
-        public K configure(Map<?, ?> val) {
-            super.configure(val);
-            return self();
-        }
-
-        @Override
-        public K configure(CharSequence key, Object val) {
-            super.configure(key, val);
-            return self();
-        }
-
-        @Override
-        public <V> K configure(ConfigKey<V> key, V val) {
-            super.configure(key, val);
-            return self();
-        }
-
-        @Override
-        public <V> K configureIfNotNull(ConfigKey<V> key, V val) {
-            super.configureIfNotNull(key, val);
-            return self();
-        }
-
-        @Override
-        public <V> K configure(ConfigKey<V> key, Task<? extends V> val) {
-            super.configure(key, val);
-            return self();
-        }
-
-        @Override
-        public <V> K configure(HasConfigKey<V> key, V val) {
-            super.configure(key, val);
-            return self();
-        }
-
-        @Override
-        public <V> K configure(HasConfigKey<V> key, Task<? extends V> val) {
-            super.configure(key, val);
-            return self();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/EnricherType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/EnricherType.java b/api/src/main/java/org/apache/brooklyn/policy/EnricherType.java
deleted file mode 100644
index e96b3cd..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/EnricherType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import org.apache.brooklyn.api.basic.BrooklynType;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Gives type information for an {@link Enricher}. It is immutable.
- * 
- * For enrichers that can support config keys etc being added on-the-fly,
- * then this EnricherType will be a snapshot and subsequent snapshots will
- * include the changes.
- * 
- * @since 0.6
- */
-@Beta
-public interface EnricherType extends BrooklynType {
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/EntityAdjunct.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/EntityAdjunct.java b/api/src/main/java/org/apache/brooklyn/policy/EntityAdjunct.java
deleted file mode 100644
index daa6cd0..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/EntityAdjunct.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.api.basic.BrooklynObject;
-
-/**
- * EntityAdjuncts are supplementary logic that can be attached to Entities, 
- * such as providing sensor enrichment or event-driven policy behavior
- */
-public interface EntityAdjunct extends BrooklynObject {
-    /**
-     * A unique id for this adjunct, typically created by the system with no meaning
-     */
-    @Override
-    String getId();
-
-    /**
-     * Whether the adjunct is destroyed
-     */
-    boolean isDestroyed();
-    
-    /**
-     * Whether the adjunct is available/active, ie started and not stopped or interrupted
-     */
-    boolean isRunning();
-    
-    /**
-     * An optional tag used to identify adjuncts with a specific purpose, typically created by the caller.
-     * This is used to prevent multiple instances with the same purpose from being created,
-     * and to access and customize adjuncts so created.
-     * <p>
-     * This will be included in the call to {@link #getTags()}.
-     */
-    @Nullable String getUniqueTag();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/Policy.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/Policy.java b/api/src/main/java/org/apache/brooklyn/policy/Policy.java
deleted file mode 100644
index 7bf6e9f..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/Policy.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.api.entity.rebind.Rebindable;
-import org.apache.brooklyn.api.entity.trait.Configurable;
-import org.apache.brooklyn.api.mementos.PolicyMemento;
-
-import brooklyn.config.ConfigKey;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Policies implement actions and thus must be suspendable; policies should continue to evaluate their sensors
- * and indicate their desired planned action even if they aren't invoking them
- */
-public interface Policy extends EntityAdjunct, Rebindable, Configurable {
-    /**
-     * A unique id for this policy.
-     */
-    @Override
-    String getId();
-
-    /**
-     * Information about the type of this entity; analogous to Java's object.getClass.
-     */
-    @Beta
-    PolicyType getPolicyType();
-
-    /**
-     * Resume the policy
-     */
-    void resume();
-
-    /**
-     * Suspend the policy
-     */
-    void suspend();
-    
-    /**
-     * Whether the policy is suspended
-     */
-    boolean isSuspended();
-    
-    /**
-     * Convenience method for {@code config().get(key)}
-     */
-    <T> T getConfig(ConfigKey<T> key);
-    
-    /**
-     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
-     */
-    @Deprecated
-    <T> T setConfig(ConfigKey<T> key, T val);
-    
-    /**
-     * Users are strongly discouraged from calling or overriding this method.
-     * It is for internal calls only, relating to persisting/rebinding entities.
-     * This method may change (or be removed) in a future release without notice.
-     */
-    @Override
-    @Beta
-    RebindSupport<PolicyMemento> getRebindSupport();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java b/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java
deleted file mode 100644
index de76513..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.api.management.Task;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.ConfigKey;
-import brooklyn.config.ConfigKey.HasConfigKey;
-
-import com.google.common.collect.Maps;
-
-/**
- * Gives details of a policy to be created. It describes the policy's configuration, and is
- * reusable to create multiple policies with the same configuration.
- * 
- * To create a PolicySpec, it is strongly encouraged to use {@code create(...)} methods.
- * 
- * @param <T> The type of policy to be created
- * 
- * @author aled
- */
-public class PolicySpec<T extends Policy> extends AbstractBrooklynObjectSpec<T,PolicySpec<T>> {
-
-    private static final Logger log = LoggerFactory.getLogger(PolicySpec.class);
-
-    private final static long serialVersionUID = 1L;
-
-
-    /**
-     * Creates a new {@link PolicySpec} instance for a policy of the given type. The returned 
-     * {@link PolicySpec} can then be customized.
-     * 
-     * @param type A {@link Policy} class
-     */
-    public static <T extends Policy> PolicySpec<T> create(Class<T> type) {
-        return new PolicySpec<T>(type);
-    }
-    
-    /**
-     * Creates a new {@link PolicySpec} instance with the given config, for a policy of the given type.
-     * 
-     * This is primarily for groovy code; equivalent to {@code PolicySpec.create(type).configure(config)}.
-     * 
-     * @param config The spec's configuration (see {@link PolicySpec#configure(Map)}).
-     * @param type   A {@link Policy} class
-     */
-    public static <T extends Policy> PolicySpec<T> create(Map<?,?> config, Class<T> type) {
-        return PolicySpec.create(type).configure(config);
-    }
-    
-    private final Map<String, Object> flags = Maps.newLinkedHashMap();
-    private final Map<ConfigKey<?>, Object> config = Maps.newLinkedHashMap();
-
-    protected PolicySpec(Class<T> type) {
-        super(type);
-    }
-    
-    protected void checkValidType(Class<? extends T> type) {
-        checkIsImplementation(type, Policy.class);
-        checkIsNewStyleImplementation(type);
-    }
-    
-    public PolicySpec<T> uniqueTag(String uniqueTag) {
-        flags.put("uniqueTag", uniqueTag);
-        return this;
-    }
-
-    public PolicySpec<T> configure(Map<?,?> val) {
-        for (Map.Entry<?, ?> entry: val.entrySet()) {
-            if (entry.getKey()==null) throw new NullPointerException("Null key not permitted");
-            if (entry.getKey() instanceof CharSequence)
-                flags.put(entry.getKey().toString(), entry.getValue());
-            else if (entry.getKey() instanceof ConfigKey<?>)
-                config.put((ConfigKey<?>)entry.getKey(), entry.getValue());
-            else if (entry.getKey() instanceof HasConfigKey<?>)
-                config.put(((HasConfigKey<?>)entry.getKey()).getConfigKey(), entry.getValue());
-            else {
-                log.warn("Spec "+this+" ignoring unknown config key "+entry.getKey());
-            }
-        }
-        return this;
-    }
-    
-    public PolicySpec<T> configure(CharSequence key, Object val) {
-        flags.put(checkNotNull(key, "key").toString(), val);
-        return this;
-    }
-    
-    public <V> PolicySpec<T> configure(ConfigKey<V> key, V val) {
-        config.put(checkNotNull(key, "key"), val);
-        return this;
-    }
-
-    public <V> PolicySpec<T> configureIfNotNull(ConfigKey<V> key, V val) {
-        return (val != null) ? configure(key, val) : this;
-    }
-
-    public <V> PolicySpec<T> configure(ConfigKey<V> key, Task<? extends V> val) {
-        config.put(checkNotNull(key, "key"), val);
-        return this;
-    }
-
-    public <V> PolicySpec<T> configure(HasConfigKey<V> key, V val) {
-        config.put(checkNotNull(key, "key").getConfigKey(), val);
-        return this;
-    }
-
-    public <V> PolicySpec<T> configure(HasConfigKey<V> key, Task<? extends V> val) {
-        config.put(checkNotNull(key, "key").getConfigKey(), val);
-        return this;
-    }
-
-    /**
-     * @return Read-only construction flags
-     * @see SetFromFlag declarations on the policy type
-     */
-    public Map<String, ?> getFlags() {
-        return Collections.unmodifiableMap(flags);
-    }
-    
-    /**
-     * @return Read-only configuration values
-     */
-    public Map<ConfigKey<?>, Object> getConfig() {
-        return Collections.unmodifiableMap(config);
-    }
-        
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/api/src/main/java/org/apache/brooklyn/policy/PolicyType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/policy/PolicyType.java b/api/src/main/java/org/apache/brooklyn/policy/PolicyType.java
deleted file mode 100644
index 8d83c28..0000000
--- a/api/src/main/java/org/apache/brooklyn/policy/PolicyType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.policy;
-
-import org.apache.brooklyn.api.basic.BrooklynType;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Gives type information for a {@link Policy}. It is immutable.
- * 
- * For policies that can support config keys etc being added on-the-fly,
- * then this PolicyType will be a snapshot and subsequent snapshots will
- * include the changes.
- * 
- * @since 0.5
- */
-@Beta
-public interface PolicyType extends BrooklynType {
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/basic/BrooklynTypes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/BrooklynTypes.java b/core/src/main/java/brooklyn/basic/BrooklynTypes.java
index 4423bed..64dbcd0 100644
--- a/core/src/main/java/brooklyn/basic/BrooklynTypes.java
+++ b/core/src/main/java/brooklyn/basic/BrooklynTypes.java
@@ -24,8 +24,8 @@ import org.apache.brooklyn.api.basic.BrooklynObject;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.enricher.basic.EnricherDynamicType;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/CatalogPredicates.java b/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
index e8e0e7e..a873726 100644
--- a/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
+++ b/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
@@ -28,8 +28,8 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.management.entitlement.Entitlements;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
index 5dec71b..f129f4c 100644
--- a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
+++ b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
@@ -50,8 +50,8 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.catalog.CatalogPredicates;
 import brooklyn.catalog.internal.CatalogClasspathDo.CatalogScanningModes;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java b/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
index af0713a..3acd165 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
@@ -37,7 +37,7 @@ import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.entity.basic.ApplicationBuilder;
 import brooklyn.management.internal.ManagementContextInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/catalog/internal/CatalogPolicyItemDto.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogPolicyItemDto.java b/core/src/main/java/brooklyn/catalog/internal/CatalogPolicyItemDto.java
index 379783f..0475876 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogPolicyItemDto.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogPolicyItemDto.java
@@ -18,8 +18,8 @@
  */
 package brooklyn.catalog.internal;
 
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 
 public class CatalogPolicyItemDto extends CatalogItemDtoAbstract<Policy,PolicySpec<?>> {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/enricher/Enrichers.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/Enrichers.java b/core/src/main/java/brooklyn/enricher/Enrichers.java
index 146d928..54af8d1 100644
--- a/core/src/main/java/brooklyn/enricher/Enrichers.java
+++ b/core/src/main/java/brooklyn/enricher/Enrichers.java
@@ -30,8 +30,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 
 import brooklyn.enricher.basic.AbstractEnricher;
 import brooklyn.enricher.basic.Aggregator;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java b/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
index 71e8391..da5e822 100644
--- a/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
+++ b/core/src/main/java/brooklyn/enricher/basic/AbstractEnricher.java
@@ -27,8 +27,8 @@ import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.mementos.EnricherMemento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherType;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherType;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.ConfigKeys;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/enricher/basic/EnricherDynamicType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/EnricherDynamicType.java b/core/src/main/java/brooklyn/enricher/basic/EnricherDynamicType.java
index 39705d0..0604941 100644
--- a/core/src/main/java/brooklyn/enricher/basic/EnricherDynamicType.java
+++ b/core/src/main/java/brooklyn/enricher/basic/EnricherDynamicType.java
@@ -18,8 +18,8 @@
  */
 package brooklyn.enricher.basic;
 
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherType;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherType;
 
 import brooklyn.basic.BrooklynDynamicType;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/enricher/basic/EnricherTypeSnapshot.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/enricher/basic/EnricherTypeSnapshot.java b/core/src/main/java/brooklyn/enricher/basic/EnricherTypeSnapshot.java
index 0c91461..a8d240d 100644
--- a/core/src/main/java/brooklyn/enricher/basic/EnricherTypeSnapshot.java
+++ b/core/src/main/java/brooklyn/enricher/basic/EnricherTypeSnapshot.java
@@ -20,7 +20,7 @@ package brooklyn.enricher.basic;
 
 import java.util.Map;
 
-import org.apache.brooklyn.policy.EnricherType;
+import org.apache.brooklyn.api.policy.EnricherType;
 
 import brooklyn.basic.BrooklynTypeSnapshot;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
index 855bfbf..89a691e 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
@@ -48,11 +48,11 @@ import org.apache.brooklyn.api.management.SubscriptionContext;
 import org.apache.brooklyn.api.management.SubscriptionHandle;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.mementos.EntityMemento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.EntityAdjunct;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/Entities.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/Entities.java b/core/src/main/java/brooklyn/entity/basic/Entities.java
index 45be84b..1f09903 100644
--- a/core/src/main/java/brooklyn/entity/basic/Entities.java
+++ b/core/src/main/java/brooklyn/entity/basic/Entities.java
@@ -57,8 +57,8 @@ import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.management.TaskAdaptable;
 import org.apache.brooklyn.api.management.TaskFactory;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/EntityAdjuncts.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityAdjuncts.java b/core/src/main/java/brooklyn/entity/basic/EntityAdjuncts.java
index f105741..4c894d5 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityAdjuncts.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityAdjuncts.java
@@ -22,8 +22,8 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 
 import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers;
 import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceState;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
index be97b32..a25d17e 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
@@ -35,8 +35,8 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.mementos.EntityMemento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.config.ConfigKey.HasConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/PolicyDescriptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/PolicyDescriptor.java b/core/src/main/java/brooklyn/entity/basic/PolicyDescriptor.java
index d99432c..15716a4 100644
--- a/core/src/main/java/brooklyn/entity/basic/PolicyDescriptor.java
+++ b/core/src/main/java/brooklyn/entity/basic/PolicyDescriptor.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.entity.basic;
 
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 
 import com.google.common.base.Objects;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/basic/ServiceStateLogic.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/ServiceStateLogic.java b/core/src/main/java/brooklyn/entity/basic/ServiceStateLogic.java
index da6bffc..2a551b4 100644
--- a/core/src/main/java/brooklyn/entity/basic/ServiceStateLogic.java
+++ b/core/src/main/java/brooklyn/entity/basic/ServiceStateLogic.java
@@ -34,9 +34,9 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.EnricherSpec.ExtensibleEnricherSpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec.ExtensibleEnricherSpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java b/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
index ba487de..5025026 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
@@ -37,7 +37,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.MachineProvisioningLocation;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java b/core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java
index b43e32f..42c532f 100644
--- a/core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java
+++ b/core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java
@@ -32,10 +32,10 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.proxying.EntityInitializer;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.proxying.EntityTypeRegistry;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/proxying/InternalPolicyFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/proxying/InternalPolicyFactory.java b/core/src/main/java/brooklyn/entity/proxying/InternalPolicyFactory.java
index dc79c9a..52fd7ba 100644
--- a/core/src/main/java/brooklyn/entity/proxying/InternalPolicyFactory.java
+++ b/core/src/main/java/brooklyn/entity/proxying/InternalPolicyFactory.java
@@ -22,10 +22,10 @@ import java.util.Map;
 
 import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.enricher.basic.AbstractEnricher;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
index 7f556a1..19a6cd6 100644
--- a/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/AbstractBrooklynObjectRebindSupport.java
@@ -21,7 +21,7 @@ package brooklyn.entity.rebind;
 import org.apache.brooklyn.api.entity.rebind.RebindContext;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.mementos.Memento;
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 



[7/7] incubator-brooklyn git commit: This closes #826

Posted by ha...@apache.org.
This closes #826


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

Branch: refs/heads/master
Commit: 2a0d9e4aeee5f6c5bdd8667d5ef66df394cd69db
Parents: 706ab17 904f950
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Fri Aug 14 00:38:36 2015 -0400
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Fri Aug 14 00:38:36 2015 -0400

----------------------------------------------------------------------
 .../brooklyn/location/AddressableLocation.java  |   43 -
 .../BasicMachineLocationCustomizer.java         |   41 -
 .../java/brooklyn/location/HardwareDetails.java |   40 -
 .../main/java/brooklyn/location/Location.java   |  146 -
 .../brooklyn/location/LocationDefinition.java   |   42 -
 .../location/LocationNotAvailableException.java |   35 -
 .../brooklyn/location/LocationRegistry.java     |  128 -
 .../brooklyn/location/LocationResolver.java     |   57 -
 .../java/brooklyn/location/LocationSpec.java    |  229 --
 .../java/brooklyn/location/LocationType.java    |   32 -
 .../java/brooklyn/location/MachineDetails.java  |   34 -
 .../java/brooklyn/location/MachineLocation.java |   46 -
 .../location/MachineLocationCustomizer.java     |   42 -
 .../location/MachineManagementMixins.java       |   92 -
 .../location/MachineProvisioningLocation.java   |   72 -
 .../location/NoMachinesAvailableException.java  |   35 -
 .../main/java/brooklyn/location/OsDetails.java  |   46 -
 .../main/java/brooklyn/location/PortRange.java  |   48 -
 .../java/brooklyn/location/PortSupplier.java    |   50 -
 .../brooklyn/location/ProvisioningLocation.java |   44 -
 .../brooklyn/api/catalog/CatalogItem.java       |    2 +-
 .../org/apache/brooklyn/api/entity/Entity.java  |   10 +-
 .../org/apache/brooklyn/api/entity/Feed.java    |    4 +-
 .../api/entity/drivers/EntityDriver.java        |    3 +-
 .../api/entity/drivers/EntityDriverManager.java |    2 +-
 .../api/entity/proxying/EntitySpec.java         |   10 +-
 .../api/entity/proxying/EntityTypeRegistry.java |    3 +-
 .../api/entity/rebind/BrooklynObjectType.java   |    7 +-
 .../rebind/PersistenceExceptionHandler.java     |    2 +-
 .../api/entity/rebind/RebindContext.java        |    2 +-
 .../entity/rebind/RebindExceptionHandler.java   |    7 +-
 .../api/entity/rebind/RebindManager.java        |    4 +-
 .../api/entity/rebind/RebindSupport.java        |    4 +-
 .../brooklyn/api/entity/rebind/Rebindable.java  |    2 +-
 .../api/location/AddressableLocation.java       |   43 +
 .../BasicMachineLocationCustomizer.java         |   41 +
 .../brooklyn/api/location/HardwareDetails.java  |   40 +
 .../apache/brooklyn/api/location/Location.java  |  146 +
 .../api/location/LocationDefinition.java        |   42 +
 .../location/LocationNotAvailableException.java |   35 +
 .../brooklyn/api/location/LocationRegistry.java |  128 +
 .../brooklyn/api/location/LocationResolver.java |   57 +
 .../brooklyn/api/location/LocationSpec.java     |  229 ++
 .../brooklyn/api/location/LocationType.java     |   32 +
 .../brooklyn/api/location/MachineDetails.java   |   34 +
 .../brooklyn/api/location/MachineLocation.java  |   46 +
 .../api/location/MachineLocationCustomizer.java |   42 +
 .../api/location/MachineManagementMixins.java   |   92 +
 .../location/MachineProvisioningLocation.java   |   72 +
 .../location/NoMachinesAvailableException.java  |   35 +
 .../apache/brooklyn/api/location/OsDetails.java |   46 +
 .../apache/brooklyn/api/location/PortRange.java |   48 +
 .../brooklyn/api/location/PortSupplier.java     |   50 +
 .../api/location/ProvisioningLocation.java      |   44 +
 .../api/management/AccessController.java        |    3 +-
 .../brooklyn/api/management/EntityManager.java  |    8 +-
 .../api/management/LocationManager.java         |    4 +-
 .../api/management/ManagementContext.java       |    2 +-
 .../ha/ManagementPlaneSyncRecord.java           |    4 +-
 .../ha/ManagementPlaneSyncRecordPersister.java  |    4 +-
 .../brooklyn/api/mementos/BrooklynMemento.java  |   64 +
 .../api/mementos/BrooklynMementoManifest.java   |   58 +
 .../api/mementos/BrooklynMementoPersister.java  |  138 +
 .../api/mementos/BrooklynMementoRawData.java    |  185 ++
 .../api/mementos/CatalogItemMemento.java        |   49 +
 .../brooklyn/api/mementos/EnricherMemento.java  |   33 +
 .../brooklyn/api/mementos/EntityMemento.java    |   81 +
 .../brooklyn/api/mementos/FeedMemento.java      |   33 +
 .../brooklyn/api/mementos/LocationMemento.java  |   38 +
 .../apache/brooklyn/api/mementos/Memento.java   |   83 +
 .../brooklyn/api/mementos/PolicyMemento.java    |   35 +
 .../apache/brooklyn/api/mementos/TreeNode.java  |   48 +
 .../apache/brooklyn/api/policy/Enricher.java    |   71 +
 .../brooklyn/api/policy/EnricherSpec.java       |  214 ++
 .../brooklyn/api/policy/EnricherType.java       |   36 +
 .../brooklyn/api/policy/EntityAdjunct.java      |   55 +
 .../org/apache/brooklyn/api/policy/Policy.java  |   83 +
 .../apache/brooklyn/api/policy/PolicySpec.java  |  152 +
 .../apache/brooklyn/api/policy/PolicyType.java  |   36 +
 .../brooklyn/mementos/BrooklynMemento.java      |   64 -
 .../mementos/BrooklynMementoManifest.java       |   58 -
 .../mementos/BrooklynMementoPersister.java      |  138 -
 .../mementos/BrooklynMementoRawData.java        |  185 --
 .../brooklyn/mementos/CatalogItemMemento.java   |   49 -
 .../brooklyn/mementos/EnricherMemento.java      |   33 -
 .../apache/brooklyn/mementos/EntityMemento.java |   81 -
 .../apache/brooklyn/mementos/FeedMemento.java   |   33 -
 .../brooklyn/mementos/LocationMemento.java      |   38 -
 .../org/apache/brooklyn/mementos/Memento.java   |   83 -
 .../apache/brooklyn/mementos/PolicyMemento.java |   35 -
 .../org/apache/brooklyn/mementos/TreeNode.java  |   48 -
 .../org/apache/brooklyn/policy/Enricher.java    |   71 -
 .../apache/brooklyn/policy/EnricherSpec.java    |  214 --
 .../apache/brooklyn/policy/EnricherType.java    |   36 -
 .../apache/brooklyn/policy/EntityAdjunct.java   |   55 -
 .../java/org/apache/brooklyn/policy/Policy.java |   83 -
 .../org/apache/brooklyn/policy/PolicySpec.java  |  152 -
 .../org/apache/brooklyn/policy/PolicyType.java  |   36 -
 .../main/java/brooklyn/basic/BrooklynTypes.java |    6 +-
 .../brooklyn/catalog/CatalogPredicates.java     |    8 +-
 .../catalog/internal/BasicBrooklynCatalog.java  |   12 +-
 .../catalog/internal/CatalogClasspathDo.java    |    4 +-
 .../catalog/internal/CatalogItemDo.java         |    2 +-
 .../internal/CatalogItemDtoAbstract.java        |    2 +-
 .../internal/CatalogLocationItemDto.java        |    4 +-
 .../catalog/internal/CatalogPolicyItemDto.java  |    4 +-
 .../main/java/brooklyn/enricher/Enrichers.java  |    4 +-
 .../enricher/basic/AbstractEnricher.java        |    6 +-
 .../enricher/basic/EnricherDynamicType.java     |    4 +-
 .../enricher/basic/EnricherTypeSnapshot.java    |    2 +-
 .../entity/basic/AbstractApplication.java       |    2 +-
 .../brooklyn/entity/basic/AbstractEntity.java   |   18 +-
 .../brooklyn/entity/basic/BasicStartable.java   |    7 +-
 .../entity/basic/BasicStartableImpl.java        |    5 +-
 .../entity/basic/BrooklynConfigKeys.java        |    4 +-
 .../brooklyn/entity/basic/DataEntityImpl.java   |    2 +-
 .../entity/basic/EffectorStartableImpl.java     |    4 +-
 .../java/brooklyn/entity/basic/Entities.java    |   14 +-
 .../brooklyn/entity/basic/EntityAdjuncts.java   |    4 +-
 .../entity/basic/EntityFactoryForLocation.java  |    3 +-
 .../brooklyn/entity/basic/EntityFunctions.java  |    2 +-
 .../brooklyn/entity/basic/EntityInternal.java   |    4 +-
 .../brooklyn/entity/basic/EntityPredicates.java |    2 +-
 .../brooklyn/entity/basic/EntitySuppliers.java  |    4 +-
 .../basic/EntityTransientCopyInternal.java      |   10 +-
 .../java/brooklyn/entity/basic/Lifecycle.java   |    4 +-
 .../brooklyn/entity/basic/PolicyDescriptor.java |    2 +-
 .../entity/basic/ServiceStateLogic.java         |    6 +-
 .../drivers/BasicEntityDriverManager.java       |    3 +-
 .../drivers/ReflectiveEntityDriverFactory.java  |    8 +-
 .../drivers/RegistryEntityDriverFactory.java    |    3 +-
 .../brooklyn/entity/effector/EffectorTasks.java |    6 +-
 .../brooklyn/entity/group/DynamicCluster.java   |    2 +-
 .../entity/group/DynamicClusterImpl.java        |   12 +-
 .../entity/group/DynamicFabricImpl.java         |    2 +-
 .../entity/group/DynamicRegionsFabricImpl.java  |    2 +-
 .../zoneaware/AbstractZoneFailureDetector.java  |    2 +-
 .../BalancingNodePlacementStrategy.java         |    2 +-
 .../zoneaware/CombiningZoneFailureDetector.java |    2 +-
 .../CriticalCauseZoneFailureDetector.java       |    3 +-
 .../ProportionalZoneFailureDetector.java        |    3 +-
 .../entity/proxying/InternalEntityFactory.java  |    8 +-
 .../proxying/InternalLocationFactory.java       |   11 +-
 .../entity/proxying/InternalPolicyFactory.java  |    8 +-
 .../AbstractBrooklynObjectRebindSupport.java    |    4 +-
 .../rebind/ActivePartialRebindIteration.java    |    8 +-
 .../rebind/BasicCatalogItemRebindSupport.java   |    2 +-
 .../rebind/BasicEnricherRebindSupport.java      |    2 +-
 .../entity/rebind/BasicEntityRebindSupport.java |    4 +-
 .../entity/rebind/BasicFeedRebindSupport.java   |    2 +-
 .../rebind/BasicLocationRebindSupport.java      |    8 +-
 .../entity/rebind/BasicPolicyRebindSupport.java |    2 +-
 .../rebind/ImmediateDeltaChangeListener.java    |   23 +-
 .../rebind/InitialFullRebindIteration.java      |    2 +-
 .../rebind/PeriodicDeltaChangeListener.java     |    8 +-
 .../rebind/PersistenceExceptionHandlerImpl.java |    2 +-
 .../entity/rebind/PersisterDeltaImpl.java       |   18 +-
 .../entity/rebind/RebindContextImpl.java        |    8 +-
 .../rebind/RebindContextLookupContext.java      |    8 +-
 .../rebind/RebindExceptionHandlerImpl.java      |    6 +-
 .../brooklyn/entity/rebind/RebindIteration.java |   38 +-
 .../entity/rebind/RebindManagerImpl.java        |    6 +-
 .../java/brooklyn/entity/rebind/TreeUtils.java  |    2 +-
 .../entity/rebind/dto/AbstractMemento.java      |    2 +-
 .../rebind/dto/AbstractTreeNodeMemento.java     |    4 +-
 .../rebind/dto/BasicCatalogItemMemento.java     |    2 +-
 .../entity/rebind/dto/BasicEnricherMemento.java |    2 +-
 .../entity/rebind/dto/BasicEntityMemento.java   |    6 +-
 .../entity/rebind/dto/BasicFeedMemento.java     |    2 +-
 .../entity/rebind/dto/BasicLocationMemento.java |    4 +-
 .../entity/rebind/dto/BasicPolicyMemento.java   |    2 +-
 .../entity/rebind/dto/BrooklynMementoImpl.java  |   16 +-
 .../rebind/dto/BrooklynMementoManifestImpl.java |    4 +-
 .../rebind/dto/EntityMementoManifestImpl.java   |    2 +-
 .../entity/rebind/dto/MementoValidators.java    |    6 +-
 .../entity/rebind/dto/MementosGenerators.java   |   28 +-
 .../rebind/dto/MutableBrooklynMemento.java      |   14 +-
 .../BrooklynMementoPersisterToObjectStore.java  |   12 +-
 .../persister/BrooklynPersistenceUtils.java     |   16 +-
 .../rebind/persister/MementoSerializer.java     |    4 +-
 .../persister/RetryingMementoSerializer.java    |    2 +-
 .../rebind/persister/XmlMementoSerializer.java  |    8 +-
 .../transformer/BrooklynMementoTransformer.java |    2 +-
 .../rebind/transformer/CompoundTransformer.java |    2 +-
 .../DeleteOrphanedLocationsTransformer.java     |    6 +-
 .../java/brooklyn/entity/trait/Startable.java   |    2 +-
 .../brooklyn/entity/trait/StartableMethods.java |    2 +-
 .../basic/PortAttributeSensorAndConfigKey.java  |   12 +-
 .../java/brooklyn/event/feed/AbstractFeed.java  |    2 +-
 .../java/brooklyn/event/feed/ssh/SshFeed.java   |    6 +-
 .../brooklyn/event/feed/ssh/SshPollValue.java   |    2 +-
 .../windows/WindowsPerformanceCounterFeed.java  |    2 +-
 .../internal/BrooklynInitialization.java        |    2 +-
 .../location/access/BrooklynAccessUtils.java    |  143 -
 .../location/access/PortForwardManager.java     |  327 --
 .../access/PortForwardManagerAuthority.java     |   47 -
 .../access/PortForwardManagerClient.java        |  406 ---
 .../location/access/PortForwardManagerImpl.java |  506 ----
 .../PortForwardManagerLocationResolver.java     |   89 -
 .../brooklyn/location/access/PortMapping.java   |  101 -
 .../location/basic/AbstractLocation.java        |  708 -----
 .../basic/AbstractLocationResolver.java         |  189 --
 .../AggregatingMachineProvisioningLocation.java |  139 -
 .../location/basic/BasicHardwareDetails.java    |   56 -
 .../location/basic/BasicLocationDefinition.java |   85 -
 .../location/basic/BasicLocationRegistry.java   |  481 ---
 .../location/basic/BasicMachineDetails.java     |  181 --
 .../location/basic/BasicMachineMetadata.java    |   84 -
 .../brooklyn/location/basic/BasicOsDetails.java |  122 -
 .../location/basic/ByonLocationResolver.java    |  250 --
 .../location/basic/CatalogLocationResolver.java |   80 -
 .../basic/DefinedLocationByIdResolver.java      |   75 -
 .../basic/DeprecatedKeysMappingBuilder.java     |   67 -
 .../FixedListMachineProvisioningLocation.java   |  474 ---
 .../location/basic/HasSubnetHostname.java       |   32 -
 .../location/basic/HostLocationResolver.java    |   90 -
 .../basic/LocalhostLocationResolver.java        |   73 -
 .../LocalhostMachineProvisioningLocation.java   |  346 ---
 ...calhostPropertiesFromBrooklynProperties.java |   57 -
 .../location/basic/LocationConfigKeys.java      |   79 -
 .../location/basic/LocationConfigUtils.java     |  559 ----
 .../location/basic/LocationDynamicType.java     |   39 -
 .../location/basic/LocationInternal.java        |   94 -
 .../location/basic/LocationPredicates.java      |  108 -
 ...ocationPropertiesFromBrooklynProperties.java |  224 --
 .../location/basic/LocationTypeSnapshot.java    |   41 -
 .../java/brooklyn/location/basic/Locations.java |  159 -
 .../java/brooklyn/location/basic/Machines.java  |  188 --
 .../brooklyn/location/basic/MultiLocation.java  |  167 -
 .../location/basic/MultiLocationResolver.java   |  146 -
 .../location/basic/NamedLocationResolver.java   |   97 -
 .../brooklyn/location/basic/PortRanges.java     |  257 --
 .../basic/RegistryLocationResolver.java         |   41 -
 .../basic/SingleMachineLocationResolver.java    |   77 -
 .../SingleMachineProvisioningLocation.java      |   92 -
 .../location/basic/SshMachineLocation.java      | 1031 -------
 .../location/basic/SupportsPortForwarding.java  |   39 -
 .../location/basic/WinRmMachineLocation.java    |  360 ---
 .../AbstractAvailabilityZoneExtension.java      |   83 -
 ...bstractCloudMachineProvisioningLocation.java |   98 -
 .../cloud/AvailabilityZoneExtension.java        |   54 -
 .../location/cloud/CloudLocationConfig.java     |  116 -
 .../cloud/names/AbstractCloudMachineNamer.java  |  151 -
 .../cloud/names/BasicCloudMachineNamer.java     |   92 -
 .../location/cloud/names/CloudMachineNamer.java |   62 -
 .../cloud/names/CustomMachineNamer.java         |   73 -
 .../location/dynamic/DynamicLocation.java       |   51 -
 .../location/dynamic/LocationOwner.java         |   86 -
 .../location/geo/GeoBytesHostGeoLookup.java     |  105 -
 .../brooklyn/location/geo/HasHostGeoInfo.java   |   25 -
 .../java/brooklyn/location/geo/HostGeoInfo.java |  206 --
 .../brooklyn/location/geo/HostGeoLookup.java    |   27 -
 .../location/geo/LocalhostExternalIpLoader.java |  179 --
 .../location/geo/MaxMind2HostGeoLookup.java     |  115 -
 .../location/geo/UtraceHostGeoLookup.java       |  210 --
 .../brooklyn/location/paas/PaasLocation.java    |   30 -
 .../ha/HighAvailabilityManagerImpl.java         |    2 +-
 .../internal/AbstractManagementContext.java     |    6 +-
 .../internal/BrooklynGarbageCollector.java      |    2 +-
 .../internal/EntityChangeListener.java          |    4 +-
 .../internal/EntityManagementSupport.java       |    4 +-
 .../management/internal/LocalAccessManager.java |    3 +-
 .../management/internal/LocalEntityManager.java |    8 +-
 .../internal/LocalLocationManager.java          |   12 +-
 .../internal/LocalManagementContext.java        |    2 +-
 .../management/internal/LocalUsageManager.java  |   10 +-
 .../internal/LocationManagerInternal.java       |    3 +-
 .../internal/ManagementContextInternal.java     |    2 +-
 .../internal/NonDeploymentEntityManager.java    |    8 +-
 .../internal/NonDeploymentLocationManager.java  |    5 +-
 .../NonDeploymentManagementContext.java         |    8 +-
 .../internal/NonDeploymentUsageManager.java     |    2 +-
 .../management/internal/UsageListener.java      |    2 +-
 .../management/internal/UsageManager.java       |    2 +-
 .../policy/basic/AbstractEntityAdjunct.java     |    2 +-
 .../brooklyn/policy/basic/AbstractPolicy.java   |    6 +-
 .../java/brooklyn/policy/basic/AdjunctType.java |    2 +-
 .../java/brooklyn/policy/basic/Policies.java    |    2 +-
 .../policy/basic/PolicyDynamicType.java         |    4 +-
 .../policy/basic/PolicyTypeSnapshot.java        |    2 +-
 .../brooklyn/util/BrooklynNetworkUtils.java     |    2 +-
 .../main/java/brooklyn/util/ResourceUtils.java  |    2 +-
 .../java/brooklyn/util/file/ArchiveTasks.java   |    2 +-
 .../java/brooklyn/util/file/ArchiveUtils.java   |    2 +-
 .../util/task/ssh/SshFetchTaskFactory.java      |    2 +-
 .../util/task/ssh/SshFetchTaskWrapper.java      |    2 +-
 .../util/task/ssh/SshPutTaskFactory.java        |    2 +-
 .../brooklyn/util/task/ssh/SshPutTaskStub.java  |    2 +-
 .../java/brooklyn/util/task/ssh/SshTasks.java   |   10 +-
 .../internal/AbstractSshExecTaskFactory.java    |    2 +-
 .../ssh/internal/PlainSshExecTaskFactory.java   |    3 +-
 .../util/task/system/ProcessTaskFactory.java    |    2 +-
 .../util/task/system/ProcessTaskStub.java       |    2 +-
 .../internal/AbstractProcessTaskFactory.java    |    2 +-
 .../system/internal/ExecWithLoggingHelpers.java |    2 +-
 .../internal/SystemProcessTaskFactory.java      |    2 +-
 .../brooklyn/util/text/TemplateProcessor.java   |    2 +-
 .../location/access/BrooklynAccessUtils.java    |  145 +
 .../location/access/PortForwardManager.java     |  329 ++
 .../access/PortForwardManagerAuthority.java     |   47 +
 .../access/PortForwardManagerClient.java        |  406 +++
 .../location/access/PortForwardManagerImpl.java |  506 ++++
 .../PortForwardManagerLocationResolver.java     |   90 +
 .../brooklyn/location/access/PortMapping.java   |  101 +
 .../location/basic/AbstractLocation.java        |  710 +++++
 .../basic/AbstractLocationResolver.java         |  189 ++
 .../AggregatingMachineProvisioningLocation.java |  140 +
 .../location/basic/BasicHardwareDetails.java    |   56 +
 .../location/basic/BasicLocationDefinition.java |   86 +
 .../location/basic/BasicLocationRegistry.java   |  480 +++
 .../location/basic/BasicMachineDetails.java     |  181 ++
 .../location/basic/BasicMachineMetadata.java    |   84 +
 .../brooklyn/location/basic/BasicOsDetails.java |  123 +
 .../location/basic/ByonLocationResolver.java    |  251 ++
 .../location/basic/CatalogLocationResolver.java |   80 +
 .../basic/DefinedLocationByIdResolver.java      |   74 +
 .../basic/DeprecatedKeysMappingBuilder.java     |   67 +
 .../FixedListMachineProvisioningLocation.java   |  476 +++
 .../location/basic/HasSubnetHostname.java       |   32 +
 .../location/basic/HostLocationResolver.java    |   91 +
 .../basic/LocalhostLocationResolver.java        |   75 +
 .../LocalhostMachineProvisioningLocation.java   |  347 +++
 ...calhostPropertiesFromBrooklynProperties.java |   57 +
 .../location/basic/LocationConfigKeys.java      |   79 +
 .../location/basic/LocationConfigUtils.java     |  559 ++++
 .../location/basic/LocationDynamicType.java     |   40 +
 .../location/basic/LocationInternal.java        |   94 +
 .../location/basic/LocationPredicates.java      |  109 +
 ...ocationPropertiesFromBrooklynProperties.java |  224 ++
 .../location/basic/LocationTypeSnapshot.java    |   41 +
 .../brooklyn/location/basic/Locations.java      |  159 +
 .../brooklyn/location/basic/Machines.java       |  190 ++
 .../brooklyn/location/basic/MultiLocation.java  |  167 +
 .../location/basic/MultiLocationResolver.java   |  146 +
 .../location/basic/NamedLocationResolver.java   |   97 +
 .../brooklyn/location/basic/PortRanges.java     |  258 ++
 .../basic/RegistryLocationResolver.java         |   42 +
 .../basic/SingleMachineLocationResolver.java    |   78 +
 .../SingleMachineProvisioningLocation.java      |   92 +
 .../location/basic/SshMachineLocation.java      | 1033 +++++++
 .../location/basic/SupportsPortForwarding.java  |   39 +
 .../location/basic/WinRmMachineLocation.java    |  362 +++
 .../AbstractAvailabilityZoneExtension.java      |   82 +
 ...bstractCloudMachineProvisioningLocation.java |   98 +
 .../cloud/AvailabilityZoneExtension.java        |   55 +
 .../location/cloud/CloudLocationConfig.java     |  118 +
 .../cloud/names/AbstractCloudMachineNamer.java  |  151 +
 .../cloud/names/BasicCloudMachineNamer.java     |   92 +
 .../location/cloud/names/CloudMachineNamer.java |   62 +
 .../cloud/names/CustomMachineNamer.java         |   73 +
 .../location/dynamic/DynamicLocation.java       |   51 +
 .../location/dynamic/LocationOwner.java         |   86 +
 .../location/geo/GeoBytesHostGeoLookup.java     |  105 +
 .../brooklyn/location/geo/HasHostGeoInfo.java   |   25 +
 .../brooklyn/location/geo/HostGeoInfo.java      |  206 ++
 .../brooklyn/location/geo/HostGeoLookup.java    |   27 +
 .../location/geo/LocalhostExternalIpLoader.java |  178 ++
 .../location/geo/MaxMind2HostGeoLookup.java     |  115 +
 .../location/geo/UtraceHostGeoLookup.java       |  210 ++
 .../brooklyn/location/paas/PaasLocation.java    |   30 +
 .../services/brooklyn.location.LocationResolver |    9 -
 ...pache.brooklyn.api.location.LocationResolver |   27 +
 .../brooklyn/location/basic/os-details.sh       |   93 -
 .../geo/external-ip-address-resolvers.txt       |   25 -
 .../brooklyn/location/basic/os-details.sh       |   93 +
 .../geo/external-ip-address-resolvers.txt       |   25 +
 ...stomAggregatingEnricherDeprecatedTest.groovy |    5 +-
 .../enricher/CustomAggregatingEnricherTest.java |    6 +-
 .../java/brooklyn/enricher/EnrichersTest.java   |    2 +-
 .../enricher/SensorPropagatingEnricherTest.java |    2 +-
 .../TransformingEnricherDeprecatedTest.groovy   |    3 +-
 .../enricher/TransformingEnricherTest.java      |    2 +-
 .../enricher/basic/BasicEnricherTest.java       |    4 +-
 .../YamlRollingTimeWindowMeanEnricherTest.java  |    2 +-
 .../YamlTimeWeightedDeltaEnricherTest.java      |    2 +-
 .../brooklyn/entity/EffectorMetadataTest.java   |    2 +-
 .../java/brooklyn/entity/SetFromFlagTest.java   |    6 +-
 .../basic/AbstractApplicationLegacyTest.java    |    5 +-
 .../entity/basic/AbstractEntityLegacyTest.java  |    3 +-
 .../entity/basic/BasicStartableTest.java        |    9 +-
 .../brooklyn/entity/basic/DataEntityTest.java   |    6 +-
 .../brooklyn/entity/basic/EntitiesTest.java     |    6 +-
 .../basic/EntityConfigMapUsageLegacyTest.java   |    2 +-
 .../entity/basic/EntityConfigMapUsageTest.java  |    2 +-
 .../entity/basic/EntityFunctionsTest.java       |    2 +-
 .../entity/basic/EntityLocationsTest.java       |    2 +-
 .../entity/basic/EntityPredicatesTest.java      |    2 +-
 .../brooklyn/entity/basic/EntitySpecTest.java   |   12 +-
 .../entity/basic/EntitySubscriptionTest.java    |    2 +-
 .../entity/basic/EntitySuppliersTest.java       |    7 +-
 ...apListAndOtherStructuredConfigKeyTest.groovy |    2 +-
 .../entity/basic/PolicyRegistrationTest.java    |    6 +-
 .../entity/basic/ServiceStateLogicTest.java     |    4 +-
 .../drivers/BasicEntityDriverManagerTest.java   |    4 +-
 .../drivers/EntityDriverRegistryTest.java       |    2 +-
 .../ReflectiveEntityDriverFactoryTest.java      |    8 +-
 .../RegistryEntityDriverFactoryTest.java        |    8 +-
 .../downloads/BasicDownloadsRegistryTest.java   |    6 +-
 .../DownloadProducerFromLocalRepoTest.java      |    6 +-
 .../DownloadProducerFromPropertiesTest.java     |    6 +-
 .../downloads/DownloadSubstitutersTest.java     |    5 +-
 .../drivers/downloads/MyEntityDriver.java       |    3 +-
 .../entity/effector/EffectorBasicTest.java      |    2 +-
 .../entity/group/DynamicClusterTest.java        |    6 +-
 ...DynamicClusterWithAvailabilityZonesTest.java |   14 +-
 .../entity/group/DynamicFabricTest.java         |    8 +-
 .../entity/group/DynamicMultiGroupTest.java     |    3 +-
 .../entity/group/DynamicRegionsFabricTest.java  |    6 +-
 .../entity/group/GroupPickUpEntitiesTest.java   |    2 +-
 .../java/brooklyn/entity/group/GroupTest.java   |    6 +-
 .../group/MembershipTrackingPolicyTest.java     |    8 +-
 .../entity/group/QuarantineGroupTest.java       |    5 +-
 .../BalancingNodePlacementStrategyTest.java     |    8 +-
 .../ProportionalZoneFailureDetectorTest.java    |    6 +-
 .../entity/hello/LocalEntitiesTest.java         |    2 +-
 .../entity/rebind/RebindCatalogItemTest.java    |    2 +-
 .../entity/rebind/RebindEnricherTest.java       |   10 +-
 .../entity/rebind/RebindEntityTest.java         |   12 +-
 .../entity/rebind/RebindFailuresTest.java       |    8 +-
 .../brooklyn/entity/rebind/RebindFeedTest.java  |    8 +-
 .../rebind/RebindLocalhostLocationTest.java     |    9 +-
 .../entity/rebind/RebindLocationTest.java       |   11 +-
 .../entity/rebind/RebindManagerSorterTest.java  |    4 +-
 .../entity/rebind/RebindPolicyTest.java         |   14 +-
 .../rebind/RebindSshMachineLocationTest.java    |    7 +-
 .../entity/rebind/RebindTestFixture.java        |    2 +-
 .../brooklyn/entity/rebind/RebindTestUtils.java |    6 +-
 .../rebind/RecordingRebindExceptionHandler.java |    3 +-
 .../BrooklynMementoPersisterTestFixture.java    |   18 +-
 .../persister/XmlMementoSerializerTest.java     |   14 +-
 .../transformer/CompoundTransformerTest.java    |    2 +-
 .../entity/trait/FailingEntityImpl.java         |    2 +-
 .../entity/trait/StartableMethodsTest.java      |    2 +-
 .../event/feed/function/FunctionFeedTest.java   |    6 +-
 .../feed/http/HttpFeedIntegrationTest.java      |    8 +-
 .../brooklyn/event/feed/http/HttpFeedTest.java  |    2 +-
 .../feed/shell/ShellFeedIntegrationTest.java    |    2 +-
 .../event/feed/ssh/SshFeedIntegrationTest.java  |    4 +-
 .../WindowsPerformanceCounterFeedLiveTest.java  |    6 +-
 .../WindowsPerformanceCounterFeedTest.java      |    6 +-
 .../PortForwardManagerLocationResolverTest.java |   83 -
 .../access/PortForwardManagerRebindTest.java    |  195 --
 .../location/access/PortForwardManagerTest.java |  194 --
 .../location/basic/AbstractLocationTest.java    |  184 --
 ...regatingMachineProvisioningLocationTest.java |  116 -
 .../basic/ByonLocationResolverTest.java         |  423 ---
 ...stMachineProvisioningLocationRebindTest.java |  129 -
 ...ixedListMachineProvisioningLocationTest.java |  576 ----
 .../basic/HostLocationResolverTest.java         |  126 -
 .../basic/LegacyAbstractLocationTest.java       |  151 -
 .../basic/LocalhostLocationResolverTest.java    |  265 --
 ...ocalhostMachineProvisioningLocationTest.java |  213 --
 .../LocalhostProvisioningAndAccessTest.java     |   58 -
 .../location/basic/LocationConfigTest.java      |  202 --
 .../location/basic/LocationConfigUtilsTest.java |  156 -
 .../location/basic/LocationExtensionsTest.java  |  186 --
 .../location/basic/LocationManagementTest.java  |   81 -
 .../location/basic/LocationPredicatesTest.java  |   99 -
 ...ionPropertiesFromBrooklynPropertiesTest.java |  121 -
 .../location/basic/LocationRegistryTest.java    |  159 -
 .../location/basic/MachineDetailsTest.java      |   81 -
 .../location/basic/MultiLocationRebindTest.java |  120 -
 .../basic/MultiLocationResolverTest.java        |  199 --
 .../location/basic/MultiLocationTest.java       |  119 -
 .../location/basic/PaasLocationTest.java        |   35 -
 .../brooklyn/location/basic/PortRangesTest.java |  131 -
 .../RecordingMachineLocationCustomizer.java     |   71 -
 .../location/basic/SimulatedLocation.java       |  136 -
 .../SingleMachineLocationResolverTest.java      |  131 -
 .../SingleMachineProvisioningLocationTest.java  |   64 -
 .../SshMachineLocationIntegrationTest.java      |  141 -
 .../SshMachineLocationPerformanceTest.java      |  172 --
 .../SshMachineLocationReuseIntegrationTest.java |  172 --
 .../location/basic/SshMachineLocationTest.java  |  340 ---
 .../basic/TestPortSupplierLocation.java         |   90 -
 .../location/cloud/CloudMachineNamerTest.java   |  161 -
 .../location/cloud/CustomMachineNamerTest.java  |   79 -
 .../brooklyn/location/geo/HostGeoInfoTest.java  |   52 -
 .../geo/HostGeoLookupIntegrationTest.java       |   84 -
 ...ocalhostExternalIpLoaderIntegrationTest.java |   53 -
 .../AcmeEntitlementManagerTestFixture.java      |    5 +-
 .../entitlement/EntityEntitlementTest.java      |    2 +-
 .../ha/HighAvailabilityManagerInMemoryTest.java |   10 +-
 .../HighAvailabilityManagerSplitBrainTest.java  |    2 +-
 .../brooklyn/management/ha/HotStandbyTest.java  |    8 +-
 .../brooklyn/management/ha/WarmStandbyTest.java |    2 +-
 .../management/internal/AccessManagerTest.java  |    8 +-
 .../internal/LocalManagementContextTest.java    |    2 +-
 .../osgi/OsgiVersionMoreEntityTest.java         |    2 +-
 .../brooklyn/policy/basic/BasicPolicyTest.java  |    2 +-
 .../brooklyn/policy/basic/EnricherTypeTest.java |    2 +-
 .../policy/basic/PolicySubscriptionTest.java    |    2 +-
 .../brooklyn/policy/basic/PolicyTypeTest.java   |    2 +-
 .../longevity/EntityCleanupLongevityTest.java   |    4 +-
 .../EntityCleanupLongevityTestFixture.java      |    6 +-
 .../qa/longevity/EntityCleanupTest.java         |    4 +-
 .../qa/performance/AbstractPerformanceTest.java |    2 +-
 .../EntityPersistencePerformanceTest.java       |   10 +-
 .../test/java/brooklyn/test/HttpService.java    |    5 +-
 .../test/location/TestPaasLocation.java         |    6 +-
 .../brooklyn/util/file/ArchiveUtilsTest.java    |    2 +-
 .../util/http/HttpToolIntegrationTest.java      |    2 +-
 .../util/ssh/BashCommandsIntegrationTest.java   |    4 +-
 .../brooklyn/util/task/ssh/SshTasksTest.java    |    8 +-
 .../PortForwardManagerLocationResolverTest.java |   83 +
 .../access/PortForwardManagerRebindTest.java    |  197 ++
 .../location/access/PortForwardManagerTest.java |  195 ++
 .../location/basic/AbstractLocationTest.java    |  184 ++
 ...regatingMachineProvisioningLocationTest.java |  118 +
 .../basic/ByonLocationResolverTest.java         |  423 +++
 ...stMachineProvisioningLocationRebindTest.java |  129 +
 ...ixedListMachineProvisioningLocationTest.java |  575 ++++
 .../basic/HostLocationResolverTest.java         |  126 +
 .../basic/LegacyAbstractLocationTest.java       |  151 +
 .../basic/LocalhostLocationResolverTest.java    |  265 ++
 ...ocalhostMachineProvisioningLocationTest.java |  215 ++
 .../LocalhostProvisioningAndAccessTest.java     |   58 +
 .../location/basic/LocationConfigTest.java      |  203 ++
 .../location/basic/LocationConfigUtilsTest.java |  155 +
 .../location/basic/LocationExtensionsTest.java  |  186 ++
 .../location/basic/LocationManagementTest.java  |   81 +
 .../location/basic/LocationPredicatesTest.java  |   99 +
 ...ionPropertiesFromBrooklynPropertiesTest.java |  121 +
 .../location/basic/LocationRegistryTest.java    |  159 +
 .../location/basic/MachineDetailsTest.java      |   81 +
 .../location/basic/MultiLocationRebindTest.java |  120 +
 .../basic/MultiLocationResolverTest.java        |  199 ++
 .../location/basic/MultiLocationTest.java       |  121 +
 .../location/basic/PaasLocationTest.java        |   35 +
 .../brooklyn/location/basic/PortRangesTest.java |  130 +
 .../RecordingMachineLocationCustomizer.java     |   71 +
 .../location/basic/SimulatedLocation.java       |  137 +
 .../SingleMachineLocationResolverTest.java      |  131 +
 .../SingleMachineProvisioningLocationTest.java  |   64 +
 .../SshMachineLocationIntegrationTest.java      |  141 +
 .../SshMachineLocationPerformanceTest.java      |  172 ++
 .../SshMachineLocationReuseIntegrationTest.java |  174 ++
 .../location/basic/SshMachineLocationTest.java  |  340 +++
 .../basic/TestPortSupplierLocation.java         |   90 +
 .../location/cloud/CloudMachineNamerTest.java   |  161 +
 .../location/cloud/CustomMachineNamerTest.java  |   79 +
 .../brooklyn/location/geo/HostGeoInfoTest.java  |   52 +
 .../geo/HostGeoLookupIntegrationTest.java       |   84 +
 ...ocalhostExternalIpLoaderIntegrationTest.java |   53 +
 .../test/entity/BlockingEntityImpl.java         |    2 +-
 .../brooklyn/test/entity/TestApplication.java   |    4 +-
 .../test/entity/TestApplicationImpl.java        |    8 +-
 .../brooklyn/test/entity/TestEntityImpl.java    |    2 +-
 .../brooklyn/location/basic/sample_id_rsa       |   27 -
 .../brooklyn/location/basic/sample_id_rsa.pub   |    1 -
 .../brooklyn/location/basic/sample_id_rsa       |   27 +
 .../brooklyn/location/basic/sample_id_rsa.pub   |    1 +
 .../big_examples/global-web-fabric/index.md     |    4 +-
 docs/guide/ops/locations/index.md               |    4 +-
 .../brooklyn.location.AddressableLocation.html  |    6 +-
 .../brooklyn.location.MachineLocation.html      |    6 +-
 ...tMixins$RichMachineProvisioningLocation.html |    6 +-
 ...yn.location.MachineProvisioningLocation.html |    6 +-
 ...rooklyn.location.basic.AbstractLocation.html |    6 +-
 ....AggregatingMachineProvisioningLocation.html |    6 +-
 ...ic.FixedListMachineProvisioningLocation.html |    6 +-
 ...neProvisioningLocation$LocalhostMachine.html |    6 +-
 ...ic.LocalhostMachineProvisioningLocation.html |    6 +-
 ...rooklyn.location.basic.LocationInternal.html |    6 +-
 .../brooklyn.location.basic.MultiLocation.html  |    6 +-
 ...ooklyn.location.basic.SimulatedLocation.html |    6 +-
 ...basic.SingleMachineProvisioningLocation.html |    6 +-
 ...oklyn.location.basic.SshMachineLocation.html |    6 +-
 ...bstractCloudMachineProvisioningLocation.html |    6 +-
 ...AbstractJcloudsSubnetSshMachineLocation.html |    6 +-
 ...ooklyn.location.jclouds.JcloudsLocation.html |    6 +-
 ...ation.jclouds.JcloudsSshMachineLocation.html |    6 +-
 .../brooklyn/demo/GlobalWebFabricExample.java   |    2 +-
 .../brooklyn/demo/CumulusRDFApplication.java    |    8 +-
 .../demo/HighAvailabilityCassandraCluster.java  |    4 +-
 .../brooklyn/demo/RiakClusterExample.java       |    4 +-
 .../brooklyn/demo/WideAreaCassandraCluster.java |    4 +-
 .../brooklyn/demo/SingleWebServerExample.java   |    2 +-
 .../demo/WebClusterDatabaseExample.java         |    2 +-
 .../demo/WebClusterDatabaseExampleApp.java      |    2 +-
 ...lusterDatabaseExampleAppIntegrationTest.java |    5 +-
 .../JcloudsBlobStoreBasedObjectStore.java       |    8 +-
 ...AbstractJcloudsSubnetSshMachineLocation.java |   38 -
 .../jclouds/BasicJcloudsLocationCustomizer.java |   99 -
 .../location/jclouds/BrooklynImageChooser.java  |  367 ---
 .../location/jclouds/BrooklynMachinePool.java   |  220 --
 .../jclouds/ComputeServiceRegistry.java         |   28 -
 .../jclouds/ComputeServiceRegistryImpl.java     |  182 --
 .../jclouds/JcloudsByonLocationResolver.java    |  183 --
 .../location/jclouds/JcloudsLocation.java       | 2863 ------------------
 .../location/jclouds/JcloudsLocationConfig.java |  280 --
 .../jclouds/JcloudsLocationCustomizer.java      |  105 -
 .../jclouds/JcloudsLocationResolver.java        |  227 --
 .../jclouds/JcloudsMachineLocation.java         |   45 -
 .../location/jclouds/JcloudsMachineNamer.java   |   44 -
 .../location/jclouds/JcloudsPredicates.java     |   53 -
 ...JcloudsPropertiesFromBrooklynProperties.java |  159 -
 .../jclouds/JcloudsSshMachineLocation.java      |  340 ---
 .../brooklyn/location/jclouds/JcloudsUtil.java  |  448 ---
 .../jclouds/JcloudsWinRmMachineLocation.java    |  154 -
 .../jclouds/SudoTtyFixingCustomizer.java        |   58 -
 .../JcloudsLocationSecurityGroupCustomizer.java |  561 ----
 .../JcloudsPortForwarderExtension.java          |   45 -
 .../networking/SecurityGroupDefinition.java     |  103 -
 .../jclouds/networking/SecurityGroupTool.java   |  167 -
 .../location/jclouds/pool/MachinePool.java      |  395 ---
 .../jclouds/pool/MachinePoolPredicates.java     |  149 -
 .../location/jclouds/pool/MachineSet.java       |   98 -
 .../jclouds/pool/ReusableMachineTemplate.java   |  183 --
 .../AbstractPortableTemplateBuilder.java        |  527 ----
 .../templates/PortableTemplateBuilder.java      |  145 -
 .../zone/AwsAvailabilityZoneExtension.java      |   74 -
 .../policy/os/AdvertiseWinrmLoginPolicy.java    |    6 +-
 .../brooklyn/policy/os/CreateUserPolicy.java    |    6 +-
 ...AbstractJcloudsSubnetSshMachineLocation.java |   38 +
 .../jclouds/BasicJcloudsLocationCustomizer.java |   99 +
 .../location/jclouds/BrooklynImageChooser.java  |  367 +++
 .../location/jclouds/BrooklynMachinePool.java   |  221 ++
 .../jclouds/ComputeServiceRegistry.java         |   28 +
 .../jclouds/ComputeServiceRegistryImpl.java     |  183 ++
 .../jclouds/JcloudsByonLocationResolver.java    |  184 ++
 .../location/jclouds/JcloudsLocation.java       | 2863 ++++++++++++++++++
 .../location/jclouds/JcloudsLocationConfig.java |  280 ++
 .../jclouds/JcloudsLocationCustomizer.java      |  105 +
 .../jclouds/JcloudsLocationResolver.java        |  227 ++
 .../jclouds/JcloudsMachineLocation.java         |   44 +
 .../location/jclouds/JcloudsMachineNamer.java   |   44 +
 .../location/jclouds/JcloudsPredicates.java     |   53 +
 ...JcloudsPropertiesFromBrooklynProperties.java |  159 +
 .../jclouds/JcloudsSshMachineLocation.java      |  338 +++
 .../brooklyn/location/jclouds/JcloudsUtil.java  |  448 +++
 .../jclouds/JcloudsWinRmMachineLocation.java    |  154 +
 .../jclouds/SudoTtyFixingCustomizer.java        |   58 +
 .../JcloudsLocationSecurityGroupCustomizer.java |  563 ++++
 .../JcloudsPortForwarderExtension.java          |   45 +
 .../networking/SecurityGroupDefinition.java     |  103 +
 .../jclouds/networking/SecurityGroupTool.java   |  167 +
 .../location/jclouds/pool/MachinePool.java      |  395 +++
 .../jclouds/pool/MachinePoolPredicates.java     |  149 +
 .../location/jclouds/pool/MachineSet.java       |   98 +
 .../jclouds/pool/ReusableMachineTemplate.java   |  182 ++
 .../AbstractPortableTemplateBuilder.java        |  527 ++++
 .../templates/PortableTemplateBuilder.java      |  145 +
 .../zone/AwsAvailabilityZoneExtension.java      |   73 +
 .../services/brooklyn.location.LocationResolver |    2 -
 ...pache.brooklyn.api.location.LocationResolver |   20 +
 .../persister/jclouds/BlobStoreCleaner.java     |    6 +-
 .../persister/jclouds/BlobStoreExpiryTest.java  |    8 +-
 .../rebind/persister/jclouds/BlobStoreTest.java |    8 +-
 .../jclouds/JcloudsExpect100ContinueTest.java   |    4 +-
 .../jclouds/AbstractJcloudsLiveTest.java        |  158 -
 .../jclouds/AbstractJcloudsStubbedLiveTest.java |  133 -
 .../jclouds/BailOutJcloudsLocation.java         |  188 --
 .../jclouds/BrooklynMachinePoolLiveTest.java    |  103 -
 .../jclouds/DelegatingComputeService.java       |  229 --
 .../jclouds/JcloudsAddressesLiveTest.java       |  228 --
 .../JcloudsByonLocationResolverAwsLiveTest.java |  178 --
 ...dsByonLocationResolverSoftlayerLiveTest.java |  105 -
 .../JcloudsByonLocationResolverTest.java        |   81 -
 .../JcloudsHardwareProfilesStubbedLiveTest.java |   78 -
 .../jclouds/JcloudsLocationMetadataTest.java    |   72 -
 .../JcloudsLocationRebindMachineLiveTest.java   |  139 -
 .../jclouds/JcloudsLocationResolverTest.java    |  357 ---
 ...ationTemplateOptionsCustomisersLiveTest.java |  119 -
 .../location/jclouds/JcloudsLocationTest.java   |  510 ----
 .../location/jclouds/JcloudsLoginLiveTest.java  |  408 ---
 .../jclouds/JcloudsMachineNamerTest.java        |   52 -
 ...udsPropertiesFromBrooklynPropertiesTest.java |   99 -
 .../location/jclouds/JcloudsSshingLiveTest.java |   61 -
 .../location/jclouds/LiveTestEntity.java        |   90 -
 .../jclouds/RebindJcloudsLocationLiveTest.java  |  150 -
 .../jclouds/RebindJcloudsLocationTest.java      |   66 -
 ...loudsLocationUserLoginAndConfigLiveTest.java |  249 --
 ...hineProvisioningLocationJcloudsLiveTest.java |  124 -
 .../jclouds/StandaloneJcloudsLiveTest.java      |  254 --
 ...oudsLocationSecurityGroupCustomizerTest.java |  311 --
 .../JcloudsPortForwardingStubbedLiveTest.java   |  197 --
 .../networking/SecurityGroupLiveTest.java       |   32 -
 .../pool/JcloudsMachinePoolLiveTest.java        |  120 -
 .../provider/AbstractJcloudsLocationTest.java   |  170 --
 .../provider/AwsEc2LocationLiveTest.java        |   66 -
 .../AwsEc2LocationWindowsLiveTest.groovy        |   95 -
 .../provider/CarrenzaLocationLiveTest.groovy    |  133 -
 .../provider/GoGridLocationLiveTest.groovy      |   54 -
 .../provider/RackspaceLocationLiveTest.java     |   83 -
 .../zone/AwsAvailabilityZoneExtensionTest.java  |  121 -
 .../os/AdvertiseWinrmLoginPolicyTest.java       |    7 +-
 .../policy/os/CreateUserPolicyLiveTest.java     |   15 +-
 .../policy/os/CreateUserPolicyTest.java         |    9 +-
 .../jclouds/AbstractJcloudsLiveTest.java        |  158 +
 .../jclouds/AbstractJcloudsStubbedLiveTest.java |  125 +
 .../jclouds/BailOutJcloudsLocation.java         |  188 ++
 .../jclouds/BrooklynMachinePoolLiveTest.java    |  103 +
 .../jclouds/DelegatingComputeService.java       |  229 ++
 .../jclouds/JcloudsAddressesLiveTest.java       |  228 ++
 .../JcloudsByonLocationResolverAwsLiveTest.java |  178 ++
 ...dsByonLocationResolverSoftlayerLiveTest.java |  105 +
 .../JcloudsByonLocationResolverTest.java        |   81 +
 .../JcloudsHardwareProfilesStubbedLiveTest.java |   78 +
 .../jclouds/JcloudsLocationMetadataTest.java    |   74 +
 .../JcloudsLocationRebindMachineLiveTest.java   |  138 +
 .../jclouds/JcloudsLocationResolverTest.java    |  357 +++
 ...ationTemplateOptionsCustomisersLiveTest.java |  107 +
 .../location/jclouds/JcloudsLocationTest.java   |  512 ++++
 .../location/jclouds/JcloudsLoginLiveTest.java  |  407 +++
 .../jclouds/JcloudsMachineNamerTest.java        |   52 +
 ...udsPropertiesFromBrooklynPropertiesTest.java |   99 +
 .../location/jclouds/JcloudsSshingLiveTest.java |   61 +
 .../location/jclouds/LiveTestEntity.java        |   91 +
 .../jclouds/RebindJcloudsLocationLiveTest.java  |  150 +
 .../jclouds/RebindJcloudsLocationTest.java      |   66 +
 ...loudsLocationUserLoginAndConfigLiveTest.java |  249 ++
 ...hineProvisioningLocationJcloudsLiveTest.java |  125 +
 .../jclouds/StandaloneJcloudsLiveTest.java      |  254 ++
 ...oudsLocationSecurityGroupCustomizerTest.java |  311 ++
 .../JcloudsPortForwardingStubbedLiveTest.java   |  196 ++
 .../networking/SecurityGroupLiveTest.java       |   32 +
 .../pool/JcloudsMachinePoolLiveTest.java        |  120 +
 .../provider/AbstractJcloudsLocationTest.java   |  172 ++
 .../provider/AwsEc2LocationLiveTest.java        |   66 +
 .../AwsEc2LocationWindowsLiveTest.groovy        |   95 +
 .../provider/CarrenzaLocationLiveTest.groovy    |  133 +
 .../provider/GoGridLocationLiveTest.groovy      |   52 +
 .../provider/RackspaceLocationLiveTest.java     |   83 +
 .../zone/AwsAvailabilityZoneExtensionTest.java  |  123 +
 ...location-test-various-login-credentials.yaml |   67 -
 ...location-test-various-login-credentials.yaml |   67 +
 parent/pom.xml                                  |    1 -
 .../policy/autoscaling/AutoScalerPolicy.java    |    2 +-
 .../followthesun/DefaultFollowTheSunModel.java  |    5 +-
 .../policy/followthesun/FollowTheSunModel.java  |    2 +-
 .../followthesun/FollowTheSunParameters.java    |    3 +-
 .../policy/followthesun/FollowTheSunPolicy.java |    4 +-
 .../followthesun/FollowTheSunStrategy.java      |    2 +-
 .../policy/ha/ConditionalSuspendPolicy.java     |    2 +-
 .../policy/ha/SshMachineFailureDetector.java    |    4 +-
 .../loadbalancing/BalanceablePoolModel.java     |    2 +-
 .../policy/loadbalancing/BalancingStrategy.java |    3 +-
 .../DefaultBalanceablePoolModel.java            |    3 +-
 .../loadbalancing/LocationConstraint.java       |    2 +-
 .../enricher/HttpLatencyDetectorTest.java       |    3 +-
 .../entity/brooklyn/BrooklynMetricsTest.java    |    3 +-
 .../autoscaling/AutoScalerPolicyRebindTest.java |    6 +-
 .../autoscaling/AutoScalerPolicyTest.java       |    2 +-
 .../AbstractFollowTheSunPolicyTest.java         |    8 +-
 .../followthesun/FollowTheSunModelTest.java     |    5 +-
 .../FollowTheSunPolicySoakTest.java             |    6 +-
 .../followthesun/FollowTheSunPolicyTest.java    |    6 +-
 .../ha/ConnectionFailureDetectorTest.java       |    2 +-
 .../brooklyn/policy/ha/HaPolicyRebindTest.java  |   12 +-
 ...ServiceFailureDetectorStabilizationTest.java |    2 +-
 .../policy/ha/ServiceFailureDetectorTest.java   |    2 +-
 .../brooklyn/policy/ha/ServiceReplacerTest.java |   10 +-
 .../policy/ha/ServiceRestarterTest.java         |    2 +-
 .../AbstractLoadBalancingPolicyTest.java        |    3 +-
 .../BalanceableWorkerPoolTest.java              |    2 +-
 .../ItemsInContainersGroupTest.java             |    2 +-
 .../loadbalancing/MockContainerEntityImpl.java  |    2 +-
 .../basic/AbstractSoftwareProcessDriver.java    |    2 +-
 .../basic/AbstractSoftwareProcessSshDriver.java |    2 +-
 .../AbstractSoftwareProcessWinRmDriver.java     |    2 +-
 .../basic/EmptySoftwareProcessSshDriver.java    |    2 +-
 .../SameServerDriverLifecycleEffectorTasks.java |   10 +-
 .../brooklyn/entity/basic/SameServerEntity.java |    2 +-
 .../entity/basic/SameServerEntityImpl.java      |    2 +-
 .../brooklyn/entity/basic/SoftwareProcess.java  |    2 +-
 ...wareProcessDriverLifecycleEffectorTasks.java |    4 +-
 .../entity/basic/SoftwareProcessImpl.java       |   18 +-
 .../basic/VanillaSoftwareProcessSshDriver.java  |    2 +-
 .../basic/VanillaWindowsProcessWinRmDriver.java |    2 +-
 .../entity/basic/lifecycle/ScriptHelper.java    |    2 +-
 .../entity/brooklynnode/BrooklynNodeImpl.java   |    4 +-
 .../brooklynnode/BrooklynNodeSshDriver.java     |    2 +-
 .../entity/chef/ChefLifecycleEffectorTasks.java |    6 +-
 .../brooklyn/entity/chef/ChefServerTasks.java   |    2 +-
 .../brooklyn/entity/chef/ChefSoloDriver.java    |    2 +-
 .../entity/chef/KnifeConvergeTaskFactory.java   |    2 +-
 .../java/JavaSoftwareProcessSshDriver.java      |    2 +-
 .../java/brooklyn/entity/java/JmxSupport.java   |    6 +-
 .../main/java/brooklyn/entity/java/UsesJmx.java |    6 +-
 .../entity/java/VanillaJavaAppSshDriver.java    |    2 +-
 .../entity/machine/MachineEntityImpl.java       |    5 +-
 .../java/brooklyn/entity/pool/ServerPool.java   |   10 +-
 .../brooklyn/entity/pool/ServerPoolImpl.java    |   18 +-
 .../entity/pool/ServerPoolLocation.java         |   12 +-
 .../entity/pool/ServerPoolLocationResolver.java |   17 +-
 .../entity/service/InitdServiceInstaller.java   |    8 +-
 .../entity/service/SystemServiceEnricher.java   |    6 +-
 .../service/SystemServiceInstallerFactory.java  |    2 +-
 .../entity/software/MachineInitTasks.java       |    2 +-
 .../software/MachineLifecycleEffectorTasks.java |   27 +-
 .../software/ProvidesProvisioningFlags.java     |    3 +-
 .../entity/software/SshEffectorTasks.java       |    8 +-
 .../services/brooklyn.location.LocationResolver |    1 -
 ...pache.brooklyn.api.location.LocationResolver |   19 +
 .../brooklyn/entity/AbstractEc2LiveTest.java    |    8 +-
 .../entity/AbstractGoogleComputeLiveTest.java   |    2 +-
 .../entity/AbstractSoftlayerLiveTest.java       |    2 +-
 ...ctSoftwareProcessRestartIntegrationTest.java |    2 +-
 .../basic/DoNothingSoftwareProcessDriver.java   |    2 +-
 .../entity/basic/SameServerEntityTest.java      |    7 +-
 .../basic/SoftwareProcessEntityLatchTest.java   |    8 +-
 .../basic/SoftwareProcessEntityRebindTest.java  |   12 +-
 .../entity/basic/SoftwareProcessEntityTest.java |   16 +-
 ...SoftwareProcessSshDriverIntegrationTest.java |   10 +-
 .../basic/SoftwareProcessSubclassTest.java      |    2 +-
 ...ftwareProcessAndChildrenIntegrationTest.java |    2 +-
 .../entity/basic/lifecycle/MyEntityImpl.java    |    2 +-
 .../basic/lifecycle/NaiveScriptRunnerTest.java  |    6 +-
 .../basic/lifecycle/ScriptHelperTest.java       |    8 +-
 .../basic/lifecycle/StartStopSshDriverTest.java |    2 +-
 .../BrooklynClusterIntegrationTest.java         |    2 +-
 .../BrooklynNodeIntegrationTest.java            |   10 +-
 .../entity/brooklynnode/BrooklynNodeTest.java   |    6 +-
 .../entity/brooklynnode/MockBrooklynNode.java   |    2 +-
 .../brooklynnode/SameBrooklynNodeImpl.java      |    3 +-
 .../entity/chef/ChefLiveTestSupport.java        |    9 +-
 .../AbstractChefToyMySqlEntityLiveTest.java     |    5 +-
 .../brooklyn/entity/driver/MockSshDriver.java   |    5 +-
 ...rWithAvailabilityZonesMultiLocationTest.java |   14 +-
 .../brooklyn/entity/java/EntityPollingTest.java |    6 +-
 .../java/brooklyn/entity/java/JavaOptsTest.java |    8 +-
 ...SoftwareProcessSshDriverIntegrationTest.java |    8 +-
 .../entity/java/VanillaJavaAppRebindTest.java   |    2 +-
 .../entity/java/VanillaJavaAppTest.java         |    4 +-
 .../machine/MachineEntityEc2LiveTest.java       |    2 +-
 .../entity/pool/AbstractServerPoolTest.java     |   10 +-
 .../entity/pool/ServerPoolLiveTest.java         |    2 +-
 .../pool/ServerPoolLocationResolverTest.java    |   10 +-
 .../brooklyn/entity/pool/ServerPoolTest.java    |    5 +-
 .../service/SystemServiceEnricherTest.java      |    8 +-
 .../entity/software/AbstractDockerLiveTest.java |    2 +-
 .../MachineLifecycleEffectorTasksTest.java      |    2 +-
 .../entity/software/SoftwareEffectorTest.java   |    8 +-
 .../entity/software/SshEffectorTasksTest.java   |    9 +-
 .../software/http/HttpRequestSensorTest.java    |    2 +-
 .../mysql/AbstractToyMySqlEntityTest.java       |   10 +-
 .../mysql/DynamicToyMySqlEntityBuilder.java     |   12 +-
 .../mysql/DynamicToyMySqlEntityTest.java        |    2 +-
 .../software/ssh/SshCommandIntegrationTest.java |    6 +-
 .../PortAttributeSensorAndConfigKeyTest.java    |    7 +-
 .../brooklyn/event/feed/jmx/JmxFeedTest.java    |    7 +-
 .../event/feed/jmx/RebindJmxFeedTest.java       |    8 +-
 .../basic/MachineDetailsEc2LiveTest.java        |   68 -
 .../MachineDetailsGoogleComputeLiveTest.java    |   66 -
 .../basic/WinRmMachineLocationLiveTest.java     |   93 -
 .../basic/WinRmMachineLocationTest.java         |   44 -
 .../usage/ApplicationUsageTrackingTest.java     |    2 +-
 .../usage/LocationUsageTrackingTest.java        |   12 +-
 .../management/usage/UsageListenerTest.java     |    4 +-
 .../basic/MachineDetailsEc2LiveTest.java        |   68 +
 .../MachineDetailsGoogleComputeLiveTest.java    |   65 +
 .../basic/WinRmMachineLocationLiveTest.java     |   93 +
 .../basic/WinRmMachineLocationTest.java         |   44 +
 .../entity/database/crate/CrateNode.java        |    2 +-
 .../database/crate/CrateNodeSshDriver.java      |    2 +-
 .../entity/database/mariadb/MariaDbNode.java    |    2 +-
 .../database/mariadb/MariaDbNodeImpl.java       |    4 +-
 .../database/mariadb/MariaDbSshDriver.java      |    6 +-
 .../entity/database/mysql/MySqlClusterImpl.java |    2 +-
 .../entity/database/mysql/MySqlNode.java        |    2 +-
 .../entity/database/mysql/MySqlNodeImpl.java    |    4 +-
 .../entity/database/mysql/MySqlSshDriver.java   |    8 +-
 .../database/postgresql/PostgreSqlNode.java     |    2 +-
 .../PostgreSqlNodeChefImplFromScratch.java      |    4 +-
 .../postgresql/PostgreSqlSshDriver.java         |    6 +-
 .../database/rubyrep/RubyRepSshDriver.java      |    2 +-
 .../crate/CrateNodeIntegrationTest.java         |    2 +-
 .../mariadb/MariaDbIntegrationTest.java         |    2 +-
 .../database/mariadb/MariaDbLiveEc2Test.java    |    5 +-
 .../mariadb/MariaDbLiveRackspaceTest.java       |    4 +-
 .../database/mysql/MySqlClusterLiveEc2Test.java |    3 +-
 .../mysql/MySqlClusterLiveSoftlayerTest.java    |    3 +-
 .../database/mysql/MySqlClusterTestHelper.java  |    2 +-
 .../database/mysql/MySqlIntegrationTest.java    |    2 +-
 .../entity/database/mysql/MySqlLiveEc2Test.java |    2 +-
 .../entity/database/mysql/MySqlLiveGceTest.java |    2 +-
 .../database/mysql/MySqlLiveRackspaceTest.java  |    4 +-
 .../database/mysql/MysqlDockerLiveTest.java     |    4 +-
 .../postgresql/PostgreSqDockerLiveTest.java     |    2 +-
 .../database/postgresql/PostgreSqlChefTest.java |    8 +-
 .../postgresql/PostgreSqlEc2LiveTest.java       |    2 +-
 .../postgresql/PostgreSqlGceLiveTest.java       |    2 +-
 .../postgresql/PostgreSqlIntegrationTest.java   |    2 +-
 .../postgresql/PostgreSqlRackspaceLiveTest.java |    6 +-
 .../PostgreSqlRebindIntegrationTest.java        |    2 +-
 .../database/rubyrep/RubyRepEc2LiveTest.java    |    5 +-
 .../rubyrep/RubyRepIntegrationTest.java         |    8 +-
 .../rubyrep/RubyRepRackspaceLiveTest.java       |    8 +-
 .../messaging/activemq/ActiveMQSshDriver.java   |    2 +-
 .../kafka/AbstractfKafkaSshDriver.java          |    2 +-
 .../entity/messaging/kafka/KafkaBroker.java     |    2 +-
 .../messaging/kafka/KafkaBrokerSshDriver.java   |    2 +-
 .../entity/messaging/kafka/KafkaCluster.java    |    2 +-
 .../messaging/kafka/KafkaClusterImpl.java       |    2 +-
 .../kafka/KafkaZooKeeperSshDriver.java          |    2 +-
 .../entity/messaging/qpid/QpidSshDriver.java    |    2 +-
 .../messaging/rabbit/RabbitDestination.java     |    2 +-
 .../messaging/rabbit/RabbitSshDriver.java       |    2 +-
 .../entity/messaging/storm/StormSshDriver.java  |    4 +-
 .../entity/zookeeper/ZooKeeperEnsembleImpl.java |    5 +-
 .../entity/zookeeper/ZooKeeperSshDriver.java    |    2 +-
 .../messaging/activemq/ActiveMQEc2LiveTest.java |    2 +-
 .../activemq/ActiveMQGoogleComputeLiveTest.java |    2 +-
 .../activemq/ActiveMQIntegrationTest.java       |    2 +-
 .../messaging/kafka/KafkaIntegrationTest.java   |    8 +-
 .../entity/messaging/kafka/KafkaLiveTest.java   |    2 +-
 .../entity/messaging/qpid/QpidEc2LiveTest.java  |    2 +-
 .../messaging/qpid/QpidIntegrationTest.java     |    2 +-
 .../messaging/rabbit/RabbitEc2LiveTest.java     |    2 +-
 .../messaging/rabbit/RabbitIntegrationTest.java |    5 +-
 .../storm/StormAbstractCloudLiveTest.java       |    2 +-
 .../messaging/storm/StormEc2LiveTest.java       |    2 +-
 .../zookeeper/ZooKeeperEc2LiveTest.java         |    2 +-
 .../zookeeper/ZooKeeperEnsembleLiveTest.java    |    2 +-
 .../entity/monitoring/monit/MonitNodeImpl.java  |    6 +-
 .../entity/monitoring/monit/MonitSshDriver.java |    6 +-
 .../monitoring/monit/MonitIntegrationTest.java  |    6 +-
 .../entity/network/bind/BindDnsServer.java      |    2 +-
 .../entity/network/bind/BindDnsServerImpl.java  |    8 +-
 .../network/bind/BindDnsServerSshDriver.java    |    2 +-
 .../network/bind/BindDnsServerByonLiveTest.java |    4 +-
 .../network/bind/BindDnsServerEc2LiveTest.java  |    3 +-
 .../bind/BindDnsServerIntegrationTest.java      |    2 +-
 .../network/bind/BindDnsServerLiveTest.java     |    4 +-
 .../bind/BindDnsServerSoftlayerLiveTest.java    |    3 +-
 .../bind/DoNothingSoftwareProcessDriver.java    |    2 +-
 .../network/bind/TestBindDnsServerImpl.java     |    2 +-
 .../cassandra/CassandraDatacenterImpl.java      |    8 +-
 .../entity/nosql/cassandra/CassandraFabric.java |    2 +-
 .../nosql/cassandra/CassandraFabricImpl.java    |    4 +-
 .../entity/nosql/cassandra/CassandraNode.java   |    2 +-
 .../nosql/cassandra/CassandraNodeImpl.java      |   10 +-
 .../nosql/cassandra/CassandraNodeSshDriver.java |   10 +-
 .../nosql/couchbase/CouchbaseClusterImpl.java   |    6 +-
 .../nosql/couchbase/CouchbaseNodeImpl.java      |    8 +-
 .../nosql/couchbase/CouchbaseNodeSshDriver.java |    8 +-
 .../couchbase/CouchbaseSyncGatewayImpl.java     |    2 +-
 .../CouchbaseSyncGatewaySshDriver.java          |    6 +-
 .../nosql/couchdb/CouchDBNodeSshDriver.java     |    6 +-
 .../nosql/elasticsearch/ElasticSearchNode.java  |    2 +-
 .../elasticsearch/ElasticSearchNodeImpl.java    |    2 +-
 .../ElasticSearchNodeSshDriver.java             |    2 +-
 .../nosql/mongodb/AbstractMongoDBSshDriver.java |    6 +-
 .../nosql/mongodb/MongoDBClientSshDriver.java   |    2 +-
 .../nosql/mongodb/MongoDBClientSupport.java     |    3 +-
 .../nosql/mongodb/MongoDBReplicaSetImpl.java    |    4 +-
 .../entity/nosql/mongodb/MongoDBServerImpl.java |    2 +-
 .../entity/nosql/mongodb/MongoDBSshDriver.java  |    2 +-
 .../entity/nosql/mongodb/ReplicaSetConfig.java  |    2 +-
 .../sharding/CoLocatedMongoDBRouterImpl.java    |    2 +-
 .../MongoDBConfigServerClusterImpl.java         |    4 +-
 .../sharding/MongoDBConfigServerSshDriver.java  |    2 +-
 .../sharding/MongoDBRouterClusterImpl.java      |    4 +-
 .../sharding/MongoDBRouterSshDriver.java        |    2 +-
 .../sharding/MongoDBShardClusterImpl.java       |    3 +-
 .../sharding/MongoDBShardedDeploymentImpl.java  |    4 +-
 .../entity/nosql/redis/RedisClusterImpl.java    |    2 +-
 .../entity/nosql/redis/RedisStoreImpl.java      |    7 +-
 .../entity/nosql/redis/RedisStoreSshDriver.java |    6 +-
 .../entity/nosql/riak/RiakClusterImpl.java      |    4 +-
 .../entity/nosql/riak/RiakNodeImpl.java         |    8 +-
 .../entity/nosql/riak/RiakNodeSshDriver.java    |    7 +-
 .../brooklyn/entity/nosql/solr/SolrServer.java  |    2 +-
 .../entity/nosql/solr/SolrServerImpl.java       |    2 +-
 .../entity/nosql/solr/SolrServerSshDriver.java  |    8 +-
 .../cassandra/AbstractCassandraNodeTest.java    |    4 +-
 .../CassandraDatacenterIntegrationTest.java     |    4 +-
 .../cassandra/CassandraDatacenterLiveTest.java  |    4 +-
 ...assandraDatacenterRebindIntegrationTest.java |    4 +-
 .../cassandra/CassandraDatacenterTest.java      |    8 +-
 .../nosql/cassandra/CassandraFabricTest.java    |   10 +-
 .../cassandra/CassandraNodeEc2LiveTest.java     |    3 +-
 .../nosql/couchbase/CouchbaseOfflineTest.java   |    5 +-
 .../CouchbaseSyncGatewayEc2LiveTest.java        |    5 +-
 .../nosql/couchdb/AbstractCouchDBNodeTest.java  |    7 +-
 .../nosql/couchdb/CouchDBClusterLiveTest.java   |    4 +-
 .../nosql/couchdb/CouchDBNodeEc2LiveTest.java   |    3 +-
 .../ElasticSearchClusterIntegrationTest.java    |    4 +-
 .../ElasticSearchNodeIntegrationTest.java       |    7 +-
 .../nosql/mongodb/MongoDBEc2LiveTest.java       |    3 +-
 .../nosql/mongodb/MongoDBIntegrationTest.java   |    3 +-
 .../mongodb/MongoDBRebindIntegrationTest.java   |    3 +-
 .../mongodb/MongoDBReplicaSetEc2LiveTest.java   |    4 +-
 .../MongoDBReplicaSetIntegrationTest.java       |    4 +-
 .../nosql/mongodb/MongoDBSoftLayerLiveTest.java |    3 +-
 .../entity/nosql/mongodb/MongoDBTestHelper.java |    4 +-
 .../MongoDBConfigServerIntegrationTest.java     |    3 +-
 .../MongoDBShardedDeploymentEc2LiveTest.java    |    5 +-
 ...MongoDBShardedDeploymentIntegrationTest.java |    8 +-
 .../redis/RedisClusterIntegrationTest.java      |    9 +-
 .../entity/nosql/redis/RedisEc2LiveTest.java    |    3 +-
 .../nosql/redis/RedisIntegrationTest.java       |    7 +-
 .../nosql/riak/RiakClusterEc2LiveTest.java      |    4 +-
 .../entity/nosql/riak/RiakNodeEc2LiveTest.java  |    3 +-
 .../riak/RiakNodeGoogleComputeLiveTest.java     |    4 +-
 .../nosql/riak/RiakNodeIntegrationTest.java     |    3 +-
 .../nosql/riak/RiakNodeSoftlayerLiveTest.java   |    3 +-
 .../nosql/solr/AbstractSolrServerTest.java      |    4 +-
 .../nosql/solr/SolrServerEc2LiveTest.java       |    3 +-
 .../entity/osgi/karaf/KarafSshDriver.java       |    2 +-
 .../osgi/karaf/KarafContainerEc2LiveTest.java   |    2 +-
 .../entity/osgi/karaf/KarafContainerTest.java   |    6 +-
 .../entity/dns/AbstractGeoDnsService.java       |    2 +-
 .../entity/dns/AbstractGeoDnsServiceImpl.java   |    6 +-
 .../geoscaling/GeoscalingDnsServiceImpl.java    |    2 +-
 .../geoscaling/GeoscalingScriptGenerator.java   |    2 +-
 .../entity/proxy/AbstractControllerImpl.java    |   10 +-
 .../AbstractNonProvisionedControllerImpl.java   |    4 +-
 .../entity/proxy/nginx/NginxControllerImpl.java |    2 +-
 .../entity/proxy/nginx/NginxSshDriver.java      |    9 +-
 .../ControlledDynamicWebAppClusterImpl.java     |    2 +-
 .../entity/webapp/ElasticJavaWebAppService.java |    4 +-
 .../entity/webapp/JavaWebAppSshDriver.java      |    2 +-
 .../entity/webapp/WebAppServiceMethods.java     |    2 +-
 .../entity/webapp/jboss/JBoss6SshDriver.java    |    2 +-
 .../entity/webapp/jboss/JBoss7ServerImpl.java   |    2 +-
 .../entity/webapp/jboss/JBoss7SshDriver.java    |    2 +-
 .../entity/webapp/jetty/Jetty6SshDriver.java    |    2 +-
 .../webapp/nodejs/NodeJsWebAppService.java      |    6 +-
 .../webapp/nodejs/NodeJsWebAppServiceImpl.java  |    2 +-
 .../webapp/nodejs/NodeJsWebAppSshDriver.java    |    2 +-
 .../entity/webapp/tomcat/Tomcat7SshDriver.java  |    2 +-
 .../entity/webapp/tomcat/TomcatServer.java      |    2 +-
 .../entity/webapp/tomcat/TomcatSshDriver.java   |    2 +-
 .../entity/dns/AbstractGeoDnsServiceTest.java   |   24 +-
 .../geoscaling/GeoscalingIntegrationTest.java   |   14 +-
 .../GeoscalingScriptGeneratorTest.java          |    3 +-
 .../entity/proxy/AbstractControllerTest.java    |   16 +-
 .../brooklyn/entity/proxy/StubAppServer.java    |    8 +-
 .../brooklyn/entity/proxy/UrlMappingTest.java   |    6 +-
 .../nginx/NginxClusterIntegrationTest.java      |    8 +-
 .../entity/proxy/nginx/NginxEc2LiveTest.java    |    3 +-
 .../nginx/NginxHttpsSslIntegrationTest.java     |    7 +-
 .../proxy/nginx/NginxIntegrationTest.java       |    3 +-
 .../proxy/nginx/NginxLightIntegrationTest.java  |    4 +-
 .../proxy/nginx/NginxRebindIntegrationTest.java |    6 +-
 .../nginx/NginxRebindWithHaIntegrationTest.java |    9 +-
 .../nginx/NginxUrlMappingIntegrationTest.java   |    4 +-
 .../proxy/nginx/NginxWebClusterEc2LiveTest.java |    8 +-
 .../AbstractWebAppFixtureIntegrationTest.java   |    6 +-
 ...lledDynamicWebAppClusterIntegrationTest.java |    4 +-
 .../ControlledDynamicWebAppClusterTest.java     |    4 +-
 .../entity/webapp/DynamicWebAppClusterTest.java |    4 +-
 .../entity/webapp/DynamicWebAppFabricTest.java  |    5 +-
 .../webapp/ElasticCustomLocationTest.java       |    3 +-
 ...ElasticJavaWebAppServiceIntegrationTest.java |    3 +-
 .../webapp/TomcatAutoScalerPolicyTest.java      |    6 +-
 .../webapp/WebAppConcurrentDeployTest.java      |    8 +-
 .../webapp/WebAppLiveIntegrationTest.groovy     |    8 +-
 ...namicWebAppClusterRebindIntegrationTest.java |    3 +-
 ...namicWebAppClusterRebindIntegrationTest.java |    5 +-
 .../jboss/JBoss6ServerAwsEc2LiveTest.java       |    5 +-
 ...Boss6ServerNonInheritingIntegrationTest.java |    5 +-
 .../jboss/JBoss7ServerAwsEc2LiveTest.java       |    5 +-
 .../jboss/JBoss7ServerDockerLiveTest.java       |    5 +-
 ...Boss7ServerNonInheritingIntegrationTest.java |    4 +-
 .../JBoss7ServerRebindingIntegrationTest.java   |    3 +-
 ...ultiVersionWebAppFixtureIntegrationTest.java |    4 +-
 .../Jboss7ServerGoogleComputeLiveTest.java      |    5 +-
 .../JettyWebAppFixtureIntegrationTest.java      |    4 +-
 .../webapp/nodejs/NodeJsWebAppEc2LiveTest.java  |    3 +-
 .../NodeJsWebAppFixtureIntegrationTest.java     |    6 +-
 .../NodeJsWebAppSimpleIntegrationTest.java      |   10 +-
 .../nodejs/NodeJsWebAppSoftlayerLiveTest.java   |    3 +-
 .../webapp/tomcat/Tomcat8ServerEc2LiveTest.java |    3 +-
 .../tomcat/Tomcat8ServerSoftlayerLiveTest.java  |    3 +-
 ...mcat8ServerWebAppFixtureIntegrationTest.java |    3 +-
 ...ableRetrieveUsageMetricsIntegrationTest.java |    3 +-
 .../webapp/tomcat/TomcatServerEc2LiveTest.java  |    5 +-
 .../tomcat/TomcatServerSoftlayerLiveTest.java   |    5 +-
 ...omcatServerWebAppFixtureIntegrationTest.java |    3 +-
 .../test/entity/TestJavaWebAppEntity.java       |    2 +-
 .../app/ClusterWebServerDatabaseSample.java     |    2 +-
 .../sample/app/SingleWebServerSample.java       |    2 +-
 .../BrooklynComponentTemplateResolver.java      |    2 +-
 .../BrooklynEntityDecorationResolver.java       |    8 +-
 .../creation/BrooklynYamlLocationResolver.java  |    4 +-
 .../BrooklynYamlTypeInstantiatorTest.java       |    2 +-
 .../camp/brooklyn/ByonLocationsYamlTest.java    |   18 +-
 .../brooklyn/EmptySoftwareProcessYamlTest.java  |    6 +-
 .../camp/brooklyn/EnrichersYamlTest.java        |    2 +-
 .../camp/brooklyn/EntitiesYamlTest.java         |    2 +-
 .../brooklyn/JavaWebAppsIntegrationTest.java    |    2 +-
 .../camp/brooklyn/LocationsYamlTest.java        |   12 +-
 .../camp/brooklyn/PoliciesYamlTest.java         |    2 +-
 .../brooklyn/TestEntityWithInitConfigImpl.java  |    2 +-
 .../CatalogOsgiVersionMoreEntityTest.java       |    6 +-
 .../brooklyn/catalog/CatalogYamlCombiTest.java  |    2 +-
 .../catalog/CatalogYamlLocationTest.java        |   10 +-
 .../brooklyn/catalog/CatalogYamlPolicyTest.java |    2 +-
 .../brooklyn/catalog/CatalogYamlRebindTest.java |    4 +-
 .../org/apache/brooklyn/cli/CloudExplorer.java  |   12 +-
 .../org/apache/brooklyn/cli/ItemLister.java     |    8 +-
 .../apache/brooklyn/cli/lister/ClassFinder.java |    4 +-
 .../brooklyn/cli/lister/ItemDescriptors.java    |    2 +-
 .../java/org/apache/brooklyn/cli/CliTest.java   |   13 +-
 .../brooklyn/launcher/BrooklynLauncher.java     |   12 +-
 .../brooklyn/launcher/BrooklynWebServer.java    |    6 +-
 .../launcher/config/BrooklynGlobalConfig.java   |    2 +-
 .../brooklynnode/BrooklynNodeRestTest.java      |    2 +-
 .../BrooklynLauncherRebindTestFixture.java      |    2 +-
 ...lynLauncherRebindToCloudObjectStoreTest.java |    2 +-
 .../brooklyn/launcher/BrooklynLauncherTest.java |    6 +-
 .../qa/load/SimulatedJBoss7ServerImpl.java      |    4 +-
 .../qa/load/SimulatedMySqlNodeImpl.java         |    2 +-
 .../qa/load/SimulatedNginxControllerImpl.java   |    6 +-
 .../brooklyn/qa/load/SimulatedTheeTierApp.java  |    2 +-
 .../SoftlayerObtainPrivateLiveTest.java         |    4 +-
 .../org/apache/brooklyn/qa/load/LoadTest.java   |    3 +-
 .../qa/longevity/webcluster/WebClusterApp.java  |    2 +-
 .../brooklyn/rest/domain/LocationSpec.java      |    2 +-
 .../ApplicationResourceIntegrationTest.java     |    2 +-
 .../rest/client/BrooklynApiRestClientTest.java  |    3 +-
 .../apache/brooklyn/rest/BrooklynWebConfig.java |    3 +-
 .../rest/resources/ApplicationResource.java     |    2 +-
 .../rest/resources/CatalogResource.java         |    8 +-
 .../brooklyn/rest/resources/EntityResource.java |    2 +-
 .../rest/resources/LocationResource.java        |    6 +-
 .../rest/resources/PolicyConfigResource.java    |    2 +-
 .../brooklyn/rest/resources/PolicyResource.java |    4 +-
 .../rest/transform/ApplicationTransformer.java  |    2 +-
 .../rest/transform/CatalogTransformer.java      |    8 +-
 .../rest/transform/LocationTransformer.java     |   10 +-
 .../rest/transform/PolicyTransformer.java       |    2 +-
 .../rest/util/BrooklynRestResourceUtils.java    |    6 +-
 .../brooklyn/rest/util/EntityLocationUtils.java |    5 +-
 .../rest/util/json/BidiSerialization.java       |    3 +-
 .../rest/resources/ApplicationResourceTest.java |    8 +-
 .../rest/resources/LocationResourceTest.java    |    7 +-
 .../rest/resources/ScriptResourceTest.java      |    2 +-
 .../rest/resources/UsageResourceTest.java       |   13 +-
 .../rest/testing/BrooklynRestApiTest.java       |    6 +-
 .../testing/mocks/RestMockSimpleEntity.java     |    2 +-
 .../util/BrooklynRestResourceUtilsTest.java     |    2 +-
 .../rest/util/EntityLocationUtilsTest.java      |    8 +-
 .../brooklyn/osgi/tests/SimpleLocation.java     |    2 +-
 .../brooklyn/osgi/tests/more/MoreLocation.java  |    2 +-
 .../osgi/tests/more/MoreEntityImpl.java         |    2 +-
 .../osgi/tests/more/MoreEntityImpl.java         |    2 +-
 .../brooklyn/osgi/tests/more/MoreLocation.java  |    2 +-
 1141 files changed, 36004 insertions(+), 35778 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2a0d9e4a/software/database/src/main/java/brooklyn/entity/database/mysql/MySqlClusterImpl.java
----------------------------------------------------------------------


[5/7] incubator-brooklyn git commit: [BROOKLYN-162] Move ./api/policy to the right package

Posted by ha...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
index ad56dbf..5a0a97a 100644
--- a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
@@ -36,8 +36,8 @@ import org.apache.brooklyn.api.mementos.EntityMemento;
 import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.apache.brooklyn.api.mementos.Memento;
 import org.apache.brooklyn.api.mementos.PolicyMemento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.location.basic.LocationInternal;
 
 import com.google.common.collect.Maps;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
index 681d0fc..98906e9 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
@@ -43,8 +43,8 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.entity.basic.BrooklynTaskTags;
 import brooklyn.entity.basic.EntityInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
index 3966bc1..963e670 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.util.collections.MutableMap;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
index 00e5a56..81b1321 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogUtils;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
index 51b94ec..49138a3 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
@@ -37,8 +37,8 @@ import org.apache.brooklyn.api.entity.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.entity.rebind.RebindManager;
 import org.apache.brooklyn.api.entity.rebind.RebindManager.RebindFailureMode;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.collections.QuorumCheck;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
index defd7b3..9051242 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
@@ -62,8 +62,8 @@ import org.apache.brooklyn.api.mementos.Memento;
 import org.apache.brooklyn.api.mementos.PolicyMemento;
 import org.apache.brooklyn.api.mementos.TreeNode;
 import org.apache.brooklyn.api.mementos.BrooklynMementoManifest.EntityMementoManifest;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogInitialization;
 import brooklyn.catalog.internal.CatalogUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
index ff73567..3525d84 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
@@ -46,9 +46,9 @@ import org.apache.brooklyn.api.mementos.FeedMemento;
 import org.apache.brooklyn.api.mementos.LocationMemento;
 import org.apache.brooklyn.api.mementos.Memento;
 import org.apache.brooklyn.api.mementos.PolicyMemento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EntityAdjunct;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogItemDo;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
index f490e9b..a171d18 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
@@ -40,8 +40,8 @@ import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecord;
 import org.apache.brooklyn.api.management.ha.MementoCopyMode;
 import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.api.mementos.Memento;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.config.BrooklynServerConfig;
 import brooklyn.config.BrooklynServerPaths;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
index 2c11a1a..82c9c7a 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
@@ -40,8 +40,8 @@ import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogBundleDto;
 import brooklyn.catalog.internal.CatalogUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/management/internal/EntityChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/EntityChangeListener.java b/core/src/main/java/brooklyn/management/internal/EntityChangeListener.java
index c3c8a50..1b67d2d 100644
--- a/core/src/main/java/brooklyn/management/internal/EntityChangeListener.java
+++ b/core/src/main/java/brooklyn/management/internal/EntityChangeListener.java
@@ -21,8 +21,8 @@ package brooklyn.management.internal;
 import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Feed;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.config.ConfigKey;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java b/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
index ad65a96..596c8b2 100644
--- a/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
+++ b/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.SubscriptionContext;
 import org.apache.brooklyn.api.management.entitlement.EntitlementManager;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/management/internal/LocalEntityManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/LocalEntityManager.java b/core/src/main/java/brooklyn/management/internal/LocalEntityManager.java
index ed9429e..a54c1b1 100644
--- a/core/src/main/java/brooklyn/management/internal/LocalEntityManager.java
+++ b/core/src/main/java/brooklyn/management/internal/LocalEntityManager.java
@@ -39,10 +39,10 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.proxying.EntityTypeRegistry;
 import org.apache.brooklyn.api.management.AccessController;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/management/internal/NonDeploymentEntityManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/NonDeploymentEntityManager.java b/core/src/main/java/brooklyn/management/internal/NonDeploymentEntityManager.java
index 3928847..8b85975 100644
--- a/core/src/main/java/brooklyn/management/internal/NonDeploymentEntityManager.java
+++ b/core/src/main/java/brooklyn/management/internal/NonDeploymentEntityManager.java
@@ -27,10 +27,10 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.proxying.EntityTypeRegistry;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import com.google.common.base.Predicate;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java b/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
index 1471c07..0c2314c 100644
--- a/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
+++ b/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.SubscriptionContext;
 import org.apache.brooklyn.api.management.SubscriptionHandle;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java b/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
index a78274e..e935e4b 100644
--- a/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
+++ b/core/src/main/java/brooklyn/policy/basic/AbstractPolicy.java
@@ -25,8 +25,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.trait.Configurable;
 import org.apache.brooklyn.api.mementos.PolicyMemento;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicyType;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicyType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/AdjunctType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/AdjunctType.java b/core/src/main/java/brooklyn/policy/basic/AdjunctType.java
index 1be4dc4..f53f822 100644
--- a/core/src/main/java/brooklyn/policy/basic/AdjunctType.java
+++ b/core/src/main/java/brooklyn/policy/basic/AdjunctType.java
@@ -25,7 +25,7 @@ import java.util.Collections;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.brooklyn.policy.EntityAdjunct;
+import org.apache.brooklyn.api.policy.EntityAdjunct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/Policies.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/Policies.java b/core/src/main/java/brooklyn/policy/basic/Policies.java
index c0905c2..887546a 100644
--- a/core/src/main/java/brooklyn/policy/basic/Policies.java
+++ b/core/src/main/java/brooklyn/policy/basic/Policies.java
@@ -23,7 +23,7 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 
 import groovy.lang.Closure;
 import brooklyn.entity.basic.Lifecycle;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/PolicyDynamicType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/PolicyDynamicType.java b/core/src/main/java/brooklyn/policy/basic/PolicyDynamicType.java
index 3008e2a..b6d3c6d 100644
--- a/core/src/main/java/brooklyn/policy/basic/PolicyDynamicType.java
+++ b/core/src/main/java/brooklyn/policy/basic/PolicyDynamicType.java
@@ -18,8 +18,8 @@
  */
 package brooklyn.policy.basic;
 
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicyType;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicyType;
 
 import brooklyn.basic.BrooklynDynamicType;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/brooklyn/policy/basic/PolicyTypeSnapshot.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/PolicyTypeSnapshot.java b/core/src/main/java/brooklyn/policy/basic/PolicyTypeSnapshot.java
index 4eef80c..b6d2f33 100644
--- a/core/src/main/java/brooklyn/policy/basic/PolicyTypeSnapshot.java
+++ b/core/src/main/java/brooklyn/policy/basic/PolicyTypeSnapshot.java
@@ -20,7 +20,7 @@ package brooklyn.policy.basic;
 
 import java.util.Map;
 
-import org.apache.brooklyn.policy.PolicyType;
+import org.apache.brooklyn.api.policy.PolicyType;
 
 import brooklyn.basic.BrooklynTypeSnapshot;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/main/java/org/apache/brooklyn/location/basic/LocationTypeSnapshot.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/basic/LocationTypeSnapshot.java b/core/src/main/java/org/apache/brooklyn/location/basic/LocationTypeSnapshot.java
index 4dec614..3f14ba7 100644
--- a/core/src/main/java/org/apache/brooklyn/location/basic/LocationTypeSnapshot.java
+++ b/core/src/main/java/org/apache/brooklyn/location/basic/LocationTypeSnapshot.java
@@ -20,7 +20,7 @@ package org.apache.brooklyn.location.basic;
 
 import java.util.Map;
 
-import org.apache.brooklyn.policy.EnricherType;
+import org.apache.brooklyn.api.policy.EnricherType;
 
 import brooklyn.basic.BrooklynTypeSnapshot;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/enricher/EnrichersTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/EnrichersTest.java b/core/src/test/java/brooklyn/enricher/EnrichersTest.java
index a054daa..609fb88 100644
--- a/core/src/test/java/brooklyn/enricher/EnrichersTest.java
+++ b/core/src/test/java/brooklyn/enricher/EnrichersTest.java
@@ -34,8 +34,8 @@ import brooklyn.entity.basic.EntityAdjuncts;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.SensorEvent;
+import org.apache.brooklyn.api.policy.Enricher;
 import org.apache.brooklyn.entity.basic.RecordingSensorEventListener;
-import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.java b/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.java
index 807e7ba..401ee17 100644
--- a/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.java
+++ b/core/src/test/java/brooklyn/enricher/SensorPropagatingEnricherTest.java
@@ -24,7 +24,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.BeforeMethod;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/enricher/basic/BasicEnricherTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/basic/BasicEnricherTest.java b/core/src/test/java/brooklyn/enricher/basic/BasicEnricherTest.java
index 99f2dd2..396c76a 100644
--- a/core/src/test/java/brooklyn/enricher/basic/BasicEnricherTest.java
+++ b/core/src/test/java/brooklyn/enricher/basic/BasicEnricherTest.java
@@ -23,8 +23,8 @@ import static org.testng.Assert.assertEquals;
 import java.util.Map;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestApplicationNoEnrichersImpl;
 import org.testng.Assert;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/enricher/basic/YamlRollingTimeWindowMeanEnricherTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/basic/YamlRollingTimeWindowMeanEnricherTest.java b/core/src/test/java/brooklyn/enricher/basic/YamlRollingTimeWindowMeanEnricherTest.java
index 345e7c1..c7e7640 100644
--- a/core/src/test/java/brooklyn/enricher/basic/YamlRollingTimeWindowMeanEnricherTest.java
+++ b/core/src/test/java/brooklyn/enricher/basic/YamlRollingTimeWindowMeanEnricherTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.management.SubscriptionContext;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/enricher/basic/YamlTimeWeightedDeltaEnricherTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/enricher/basic/YamlTimeWeightedDeltaEnricherTest.java b/core/src/test/java/brooklyn/enricher/basic/YamlTimeWeightedDeltaEnricherTest.java
index 9dc4545..7f9fdba 100644
--- a/core/src/test/java/brooklyn/enricher/basic/YamlTimeWeightedDeltaEnricherTest.java
+++ b/core/src/test/java/brooklyn/enricher/basic/YamlTimeWeightedDeltaEnricherTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.management.SubscriptionContext;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/basic/EntitySpecTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/EntitySpecTest.java b/core/src/test/java/brooklyn/entity/basic/EntitySpecTest.java
index 849aeac..0bb8c2f 100644
--- a/core/src/test/java/brooklyn/entity/basic/EntitySpecTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/EntitySpecTest.java
@@ -23,10 +23,10 @@ import static org.testng.Assert.assertTrue;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.apache.brooklyn.test.entity.TestEntityImpl;
 import org.apache.brooklyn.test.entity.TestEntityNoEnrichersImpl;
@@ -37,7 +37,9 @@ import brooklyn.config.ConfigKey;
 import brooklyn.enricher.basic.AbstractEnricher;
 import brooklyn.entity.BrooklynAppUnitTestSupport;
 import brooklyn.event.basic.BasicConfigKey;
+
 import org.apache.brooklyn.location.basic.SimulatedLocation;
+
 import brooklyn.policy.basic.AbstractPolicy;
 import brooklyn.test.Asserts;
 import brooklyn.util.flags.SetFromFlag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/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 01d13e4..63c6a71 100644
--- a/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/PolicyRegistrationTest.java
@@ -28,9 +28,9 @@ import java.util.List;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.TestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.apache.brooklyn.test.entity.TestEntityNoEnrichersImpl;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/basic/ServiceStateLogicTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/basic/ServiceStateLogicTest.java b/core/src/test/java/brooklyn/entity/basic/ServiceStateLogicTest.java
index c573d62..f77a23d 100644
--- a/core/src/test/java/brooklyn/entity/basic/ServiceStateLogicTest.java
+++ b/core/src/test/java/brooklyn/entity/basic/ServiceStateLogicTest.java
@@ -22,7 +22,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.api.policy.Enricher;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.apache.brooklyn.test.entity.TestEntityImpl.TestEntityWithoutEnrichers;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/group/GroupPickUpEntitiesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/group/GroupPickUpEntitiesTest.java b/core/src/test/java/brooklyn/entity/group/GroupPickUpEntitiesTest.java
index c77464f..0ac1ef9 100644
--- a/core/src/test/java/brooklyn/entity/group/GroupPickUpEntitiesTest.java
+++ b/core/src/test/java/brooklyn/entity/group/GroupPickUpEntitiesTest.java
@@ -24,7 +24,7 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.Assert;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/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 f3ee6e9..3630e62 100644
--- a/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
+++ b/core/src/test/java/brooklyn/entity/group/MembershipTrackingPolicyTest.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.EntityManager;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/rebind/RebindEnricherTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindEnricherTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindEnricherTest.java
index bbd26d0..3102dd2 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindEnricherTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindEnricherTest.java
@@ -30,8 +30,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/rebind/RebindFailuresTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindFailuresTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindFailuresTest.java
index 1775832..82d122a 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindFailuresTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindFailuresTest.java
@@ -35,10 +35,10 @@ import org.apache.brooklyn.api.entity.trait.Identifiable;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.management.EntityManager;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.testng.Assert;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
index a93418c..f77e3d4 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindPolicyTest.java
@@ -30,9 +30,9 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.mementos.BrooklynMementoManifest;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
index fcf496b..c989975 100644
--- a/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
+++ b/core/src/test/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterTestFixture.java
@@ -33,8 +33,8 @@ import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.mementos.BrooklynMemento;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister;
 import org.apache.brooklyn.api.mementos.BrooklynMementoRawData;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.SkipException;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
index 9660f87..cd74827 100644
--- a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
+++ b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java
@@ -36,8 +36,6 @@ import org.apache.brooklyn.location.basic.SimulatedLocation;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.test.TestResourceUnavailableException;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;
@@ -54,6 +52,8 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.entity.rebind.BrooklynObjectType;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogItemBuilder;
 import brooklyn.catalog.internal.CatalogItemDtoAbstract;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/management/osgi/OsgiVersionMoreEntityTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/management/osgi/OsgiVersionMoreEntityTest.java b/core/src/test/java/brooklyn/management/osgi/OsgiVersionMoreEntityTest.java
index 9f50987..0877ed5 100644
--- a/core/src/test/java/brooklyn/management/osgi/OsgiVersionMoreEntityTest.java
+++ b/core/src/test/java/brooklyn/management/osgi/OsgiVersionMoreEntityTest.java
@@ -37,6 +37,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.catalog.internal.CatalogEntityItemDto;
 import brooklyn.catalog.internal.CatalogItemBuilder;
@@ -50,7 +51,6 @@ import brooklyn.entity.proxying.InternalPolicyFactory;
 import brooklyn.management.internal.LocalManagementContext;
 import brooklyn.management.internal.ManagementContextInternal;
 
-import org.apache.brooklyn.policy.PolicySpec;
 import org.apache.brooklyn.test.TestResourceUnavailableException;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/policy/basic/BasicPolicyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/policy/basic/BasicPolicyTest.java b/core/src/test/java/brooklyn/policy/basic/BasicPolicyTest.java
index 02d294c..df779e1 100644
--- a/core/src/test/java/brooklyn/policy/basic/BasicPolicyTest.java
+++ b/core/src/test/java/brooklyn/policy/basic/BasicPolicyTest.java
@@ -22,7 +22,7 @@ import static org.testng.Assert.assertEquals;
 
 import java.util.Map;
 
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.testng.annotations.Test;
 
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/policy/basic/EnricherTypeTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/policy/basic/EnricherTypeTest.java b/core/src/test/java/brooklyn/policy/basic/EnricherTypeTest.java
index f190c61..14773f5 100644
--- a/core/src/test/java/brooklyn/policy/basic/EnricherTypeTest.java
+++ b/core/src/test/java/brooklyn/policy/basic/EnricherTypeTest.java
@@ -20,7 +20,7 @@ package brooklyn.policy.basic;
 
 import static org.testng.Assert.assertEquals;
 
-import org.apache.brooklyn.policy.EnricherType;
+import org.apache.brooklyn.api.policy.EnricherType;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/policy/basic/PolicyTypeTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/policy/basic/PolicyTypeTest.java b/core/src/test/java/brooklyn/policy/basic/PolicyTypeTest.java
index 75b50fd..cd9b6a7 100644
--- a/core/src/test/java/brooklyn/policy/basic/PolicyTypeTest.java
+++ b/core/src/test/java/brooklyn/policy/basic/PolicyTypeTest.java
@@ -20,7 +20,7 @@ package brooklyn.policy.basic;
 
 import static org.testng.Assert.assertEquals;
 
-import org.apache.brooklyn.policy.PolicyType;
+import org.apache.brooklyn.api.policy.PolicyType;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/core/src/test/java/brooklyn/qa/performance/EntityPersistencePerformanceTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/qa/performance/EntityPersistencePerformanceTest.java b/core/src/test/java/brooklyn/qa/performance/EntityPersistencePerformanceTest.java
index 8303062..77cbd83 100644
--- a/core/src/test/java/brooklyn/qa/performance/EntityPersistencePerformanceTest.java
+++ b/core/src/test/java/brooklyn/qa/performance/EntityPersistencePerformanceTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.PerformanceTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java
----------------------------------------------------------------------
diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java
index 6f9bdea..507ed37 100644
--- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java
+++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/CumulusRDFApplication.java
@@ -32,6 +32,8 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraFabric;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraNode;
@@ -55,8 +57,6 @@ import brooklyn.entity.trait.Startable;
 import brooklyn.event.basic.DependentConfiguration;
 
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.apache.brooklyn.location.basic.PortRanges;
 
 import brooklyn.policy.ha.ServiceFailureDetector;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/HighAvailabilityCassandraCluster.java
----------------------------------------------------------------------
diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/HighAvailabilityCassandraCluster.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/HighAvailabilityCassandraCluster.java
index 3f42992..eda486f 100644
--- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/HighAvailabilityCassandraCluster.java
+++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/HighAvailabilityCassandraCluster.java
@@ -23,6 +23,8 @@ import java.util.List;
 import org.apache.brooklyn.api.catalog.Catalog;
 import org.apache.brooklyn.api.catalog.CatalogConfig;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraNode;
 
@@ -33,8 +35,6 @@ import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.StartableApplication;
 
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.policy.ha.ServiceFailureDetector;
 import brooklyn.policy.ha.ServiceReplacer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/RiakClusterExample.java
----------------------------------------------------------------------
diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/RiakClusterExample.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/RiakClusterExample.java
index c79bf63..0aaf152 100644
--- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/RiakClusterExample.java
+++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/RiakClusterExample.java
@@ -23,6 +23,8 @@ import java.util.List;
 import org.apache.brooklyn.api.catalog.Catalog;
 import org.apache.brooklyn.api.catalog.CatalogConfig;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.nosql.riak.RiakCluster;
 import org.apache.brooklyn.entity.nosql.riak.RiakNode;
 
@@ -33,8 +35,6 @@ import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.StartableApplication;
 
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.policy.ha.ServiceFailureDetector;
 import brooklyn.policy.ha.ServiceRestarter;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/WideAreaCassandraCluster.java
----------------------------------------------------------------------
diff --git a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/WideAreaCassandraCluster.java b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/WideAreaCassandraCluster.java
index d35013b..7f010c6 100644
--- a/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/WideAreaCassandraCluster.java
+++ b/examples/simple-nosql-cluster/src/main/java/org/apache/brooklyn/demo/WideAreaCassandraCluster.java
@@ -24,6 +24,8 @@ import java.util.List;
 import org.apache.brooklyn.api.catalog.Catalog;
 import org.apache.brooklyn.api.catalog.CatalogConfig;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraDatacenter;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraFabric;
 import org.apache.brooklyn.entity.nosql.cassandra.CassandraNode;
@@ -35,8 +37,6 @@ import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.StartableApplication;
 
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.policy.ha.ServiceFailureDetector;
 import brooklyn.policy.ha.ServiceReplacer;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java
----------------------------------------------------------------------
diff --git a/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java b/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java
index 1755cf7..38f7059 100644
--- a/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java
+++ b/examples/simple-web-cluster/src/test/java/org/apache/brooklyn/demo/RebindWebClusterDatabaseExampleAppIntegrationTest.java
@@ -21,11 +21,11 @@ package org.apache.brooklyn.demo;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.api.policy.Enricher;
 import org.apache.brooklyn.entity.proxy.nginx.NginxController;
 import org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster;
 import org.apache.brooklyn.entity.webapp.DynamicWebAppCluster;
 import org.apache.brooklyn.entity.webapp.tomcat.Tomcat8Server;
-import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.HttpTestUtils;
 import org.apache.brooklyn.test.WebAppMonitor;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/locations/jclouds/src/test/java/brooklyn/policy/os/AdvertiseWinrmLoginPolicyTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/brooklyn/policy/os/AdvertiseWinrmLoginPolicyTest.java b/locations/jclouds/src/test/java/brooklyn/policy/os/AdvertiseWinrmLoginPolicyTest.java
index 37f46c9..f0262ff 100644
--- a/locations/jclouds/src/test/java/brooklyn/policy/os/AdvertiseWinrmLoginPolicyTest.java
+++ b/locations/jclouds/src/test/java/brooklyn/policy/os/AdvertiseWinrmLoginPolicyTest.java
@@ -20,7 +20,7 @@ package brooklyn.policy.os;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.Test;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyLiveTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyLiveTest.java b/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyLiveTest.java
index 78817df..bf5f87b 100644
--- a/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyLiveTest.java
+++ b/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyLiveTest.java
@@ -28,7 +28,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.location.MachineProvisioningLocation;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyTest.java b/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyTest.java
index 42fafd8..af248de 100644
--- a/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyTest.java
+++ b/locations/jclouds/src/test/java/brooklyn/policy/os/CreateUserPolicyTest.java
@@ -28,7 +28,7 @@ import java.util.regex.Pattern;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/main/java/brooklyn/policy/autoscaling/AutoScalerPolicy.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/autoscaling/AutoScalerPolicy.java b/policy/src/main/java/brooklyn/policy/autoscaling/AutoScalerPolicy.java
index baa3e4f..28c2123 100644
--- a/policy/src/main/java/brooklyn/policy/autoscaling/AutoScalerPolicy.java
+++ b/policy/src/main/java/brooklyn/policy/autoscaling/AutoScalerPolicy.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.BrooklynTaskTags;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/main/java/brooklyn/policy/ha/ConditionalSuspendPolicy.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/brooklyn/policy/ha/ConditionalSuspendPolicy.java b/policy/src/main/java/brooklyn/policy/ha/ConditionalSuspendPolicy.java
index e3a98e0..9be8256 100644
--- a/policy/src/main/java/brooklyn/policy/ha/ConditionalSuspendPolicy.java
+++ b/policy/src/main/java/brooklyn/policy/ha/ConditionalSuspendPolicy.java
@@ -22,7 +22,7 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyTest.java b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyTest.java
index 74e9cc3..a4724f1 100644
--- a/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyTest.java
+++ b/policy/src/test/java/brooklyn/policy/autoscaling/AutoScalerPolicyTest.java
@@ -34,7 +34,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestCluster;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/ConnectionFailureDetectorTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ConnectionFailureDetectorTest.java b/policy/src/test/java/brooklyn/policy/ha/ConnectionFailureDetectorTest.java
index fdc5680..bb2a2ec 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ConnectionFailureDetectorTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ConnectionFailureDetectorTest.java
@@ -32,7 +32,7 @@ import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.testng.annotations.AfterMethod;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java b/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
index 12a5e1e..e6d01d0 100644
--- a/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/HaPolicyRebindTest.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.testng.annotations.BeforeMethod;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorStabilizationTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorStabilizationTest.java b/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorStabilizationTest.java
index d3708cc..b6c5c7b 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorStabilizationTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorStabilizationTest.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorTest.java b/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorTest.java
index 5116461..37355cf 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ServiceFailureDetectorTest.java
@@ -31,7 +31,7 @@ import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java b/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
index f92f921..5a88649 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ServiceReplacerTest.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/policy/src/test/java/brooklyn/policy/ha/ServiceRestarterTest.java
----------------------------------------------------------------------
diff --git a/policy/src/test/java/brooklyn/policy/ha/ServiceRestarterTest.java b/policy/src/test/java/brooklyn/policy/ha/ServiceRestarterTest.java
index 665e3ec..ce0fbf1 100644
--- a/policy/src/test/java/brooklyn/policy/ha/ServiceRestarterTest.java
+++ b/policy/src/test/java/brooklyn/policy/ha/ServiceRestarterTest.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.apache.brooklyn.test.entity.TestEntity;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
index 87d4710..dffe783 100644
--- a/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/basic/SoftwareProcessImpl.java
@@ -41,7 +41,7 @@ import org.apache.brooklyn.api.location.MachineLocation;
 import org.apache.brooklyn.api.location.MachineProvisioningLocation;
 import org.apache.brooklyn.api.location.PortRange;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
index 871e111..c35e287 100644
--- a/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
+++ b/software/base/src/main/java/brooklyn/entity/pool/ServerPoolImpl.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.location.MachineLocation;
 import org.apache.brooklyn.api.location.NoMachinesAvailableException;
 import org.apache.brooklyn.api.management.LocationManager;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java b/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
index 3d51ccf..6cde4d3 100644
--- a/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
+++ b/software/base/src/main/java/brooklyn/entity/service/InitdServiceInstaller.java
@@ -26,7 +26,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.trait.HasShortName;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.api.policy.Enricher;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.Attributes;
@@ -34,8 +34,10 @@ import brooklyn.entity.basic.ConfigKeys;
 import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.basic.SoftwareProcess;
 import brooklyn.entity.effector.EffectorTasks;
+
 import org.apache.brooklyn.location.basic.SshMachineLocation;
 import org.apache.brooklyn.location.cloud.names.AbstractCloudMachineNamer;
+
 import brooklyn.util.ResourceUtils;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.os.Os;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/main/java/brooklyn/entity/service/SystemServiceEnricher.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/service/SystemServiceEnricher.java b/software/base/src/main/java/brooklyn/entity/service/SystemServiceEnricher.java
index 86cb6a7..7c4ada5 100644
--- a/software/base/src/main/java/brooklyn/entity/service/SystemServiceEnricher.java
+++ b/software/base/src/main/java/brooklyn/entity/service/SystemServiceEnricher.java
@@ -24,7 +24,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.management.ExecutionContext;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.api.policy.Enricher;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.enricher.basic.AbstractEnricher;
@@ -35,7 +35,9 @@ import brooklyn.entity.basic.ConfigKeys;
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.SoftwareProcess;
 import brooklyn.entity.effector.EffectorTasks;
+
 import org.apache.brooklyn.location.basic.SshMachineLocation;
+
 import brooklyn.util.net.Urls;
 import brooklyn.util.task.BasicExecutionManager;
 import brooklyn.util.task.DynamicTasks;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/main/java/brooklyn/entity/service/SystemServiceInstallerFactory.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/brooklyn/entity/service/SystemServiceInstallerFactory.java b/software/base/src/main/java/brooklyn/entity/service/SystemServiceInstallerFactory.java
index 8bfd702..183f594 100644
--- a/software/base/src/main/java/brooklyn/entity/service/SystemServiceInstallerFactory.java
+++ b/software/base/src/main/java/brooklyn/entity/service/SystemServiceInstallerFactory.java
@@ -19,7 +19,7 @@
 package brooklyn.entity.service;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.api.policy.Enricher;
 
 public class SystemServiceInstallerFactory {
     public static SystemServiceInstaller of(Entity entity, Enricher systemServiceEnricher) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/base/src/test/java/brooklyn/entity/service/SystemServiceEnricherTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/brooklyn/entity/service/SystemServiceEnricherTest.java b/software/base/src/test/java/brooklyn/entity/service/SystemServiceEnricherTest.java
index 9367e40..5534959 100644
--- a/software/base/src/test/java/brooklyn/entity/service/SystemServiceEnricherTest.java
+++ b/software/base/src/test/java/brooklyn/entity/service/SystemServiceEnricherTest.java
@@ -21,7 +21,7 @@ package brooklyn.entity.service;
 import static org.testng.Assert.assertEquals;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
@@ -34,8 +34,10 @@ import brooklyn.entity.basic.VanillaSoftwareProcess;
 import brooklyn.entity.basic.VanillaSoftwareProcessImpl;
 import brooklyn.entity.basic.VanillaSoftwareProcessSshDriver;
 import brooklyn.entity.effector.EffectorTasks;
+
 import org.apache.brooklyn.location.basic.SshMachineLocation;
 import org.apache.brooklyn.location.jclouds.JcloudsLocation;
+
 import brooklyn.test.Asserts;
 import brooklyn.util.ssh.BashCommands;
 import brooklyn.util.time.Duration;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/messaging/src/main/java/brooklyn/entity/messaging/kafka/KafkaCluster.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/kafka/KafkaCluster.java b/software/messaging/src/main/java/brooklyn/entity/messaging/kafka/KafkaCluster.java
index 951b712..8ebe328 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/kafka/KafkaCluster.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/kafka/KafkaCluster.java
@@ -50,7 +50,7 @@ import brooklyn.util.time.Duration;
  * <ul>
  * <li>a {@link brooklyn.entity.group.DynamicCluster} of {@link KafkaBroker}s
  * <li>a {@link KafkaZookeeper} or {@link Zookeeper}
- * <li>a {@link org.apache.brooklyn.policy.Policy} to resize the broker cluster
+ * <li>a {@link org.apache.brooklyn.api.policy.Policy} to resize the broker cluster
  * </ul>
  * The {@link Group group} and {@link Resizable} interface methods are delegated to the broker cluster, so calling
  * {@link Resizable#resize(Integer) resize} will change the number of brokers.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/messaging/src/main/java/brooklyn/entity/zookeeper/ZooKeeperEnsembleImpl.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/zookeeper/ZooKeeperEnsembleImpl.java b/software/messaging/src/main/java/brooklyn/entity/zookeeper/ZooKeeperEnsembleImpl.java
index 75db6ff..eedcfe8 100644
--- a/software/messaging/src/main/java/brooklyn/entity/zookeeper/ZooKeeperEnsembleImpl.java
+++ b/software/messaging/src/main/java/brooklyn/entity/zookeeper/ZooKeeperEnsembleImpl.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerImpl.java
----------------------------------------------------------------------
diff --git a/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerImpl.java b/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerImpl.java
index 94bcdda..5e3e331 100644
--- a/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerImpl.java
+++ b/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerImpl.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,8 +57,10 @@ import brooklyn.entity.basic.DynamicGroup;
 import brooklyn.entity.basic.Lifecycle;
 import brooklyn.entity.basic.SoftwareProcessImpl;
 import brooklyn.entity.group.AbstractMembershipTrackingPolicy;
+
 import org.apache.brooklyn.location.basic.Machines;
 import org.apache.brooklyn.location.basic.SshMachineLocation;
+
 import brooklyn.util.guava.Maybe;
 import brooklyn.util.net.Cidr;
 import brooklyn.util.ssh.BashCommands;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java b/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
index f1f7069..952cd1f 100644
--- a/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
+++ b/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerIntegrationTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerLiveTest.java
----------------------------------------------------------------------
diff --git a/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerLiveTest.java b/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerLiveTest.java
index 8a7bbd6..87d7e76 100644
--- a/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerLiveTest.java
+++ b/software/network/src/test/java/org/apache/brooklyn/entity/network/bind/BindDnsServerLiveTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.test.entity.TestApplication;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
index 9ae4edd..a2ed4c4 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java
index 1922c10..a906495 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java
@@ -27,7 +27,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
index 6dbd5b4..3196428 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
@@ -32,7 +32,7 @@ import javax.annotation.Nonnull;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,7 +52,9 @@ import brooklyn.event.feed.http.HttpFeed;
 import brooklyn.event.feed.http.HttpPollConfig;
 import brooklyn.event.feed.http.HttpValueFunctions;
 import brooklyn.event.feed.http.JsonFunctions;
+
 import org.apache.brooklyn.location.access.BrooklynAccessUtils;
+
 import brooklyn.util.collections.CollectionFunctionals;
 import brooklyn.util.collections.MutableSet;
 import brooklyn.util.collections.QuorumCheck;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java
index 4c9f314..a4da784 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java
@@ -40,7 +40,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterClusterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterClusterImpl.java
index ab2ee07..d57b9c0 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterClusterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterClusterImpl.java
@@ -25,7 +25,7 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.entity.basic.EntityPredicates;
 import brooklyn.entity.group.AbstractMembershipTrackingPolicy;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardedDeploymentImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardedDeploymentImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardedDeploymentImpl.java
index 05a7a7d..503d2e0 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardedDeploymentImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardedDeploymentImpl.java
@@ -27,7 +27,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java
index 3474063..4e72bae 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java
@@ -28,8 +28,8 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java
index 0e7c8d1..790aece 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java
@@ -35,8 +35,8 @@ import java.util.Set;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Group;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.webapp.WebAppService;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,7 +47,9 @@ import brooklyn.entity.basic.Lifecycle;
 import brooklyn.entity.basic.ServiceStateLogic;
 import brooklyn.entity.basic.ServiceStateLogic.ServiceNotUpLogic;
 import brooklyn.entity.group.AbstractMembershipTrackingPolicy;
+
 import org.apache.brooklyn.location.geo.HostGeoInfo;
+
 import brooklyn.util.collections.MutableSet;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.flags.SetFromFlag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
index 9bd0928..5eeeee9 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java
@@ -31,8 +31,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,8 +45,10 @@ import brooklyn.entity.group.AbstractMembershipTrackingPolicy;
 import brooklyn.entity.group.Cluster;
 import brooklyn.entity.trait.Startable;
 import brooklyn.event.feed.ConfigToAttributes;
+
 import org.apache.brooklyn.location.access.BrooklynAccessUtils;
 import org.apache.brooklyn.location.basic.Machines;
+
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.guava.Maybe;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java
index 66d2277..8798c60 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 



[4/7] incubator-brooklyn git commit: [BROOKLYN-162] Move ./api/policy to the right package

Posted by ha...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
index 4a099e9..3d65881 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
@@ -30,10 +30,10 @@ import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
 import org.apache.brooklyn.api.management.SubscriptionHandle;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.proxy.AbstractControllerImpl;
 import org.apache.brooklyn.entity.proxy.ProxySslConfig;
 import org.apache.brooklyn.entity.proxy.nginx.NginxController.NginxControllerInternal;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java
index 6437c67..ff60237 100644
--- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java
+++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java
@@ -26,12 +26,12 @@ import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.proxying.EntityInitializer;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.EnricherSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.camp.brooklyn.BrooklynCampReservedKeys;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynYamlTypeInstantiator.InstantiatorFromKey;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.EnricherSpec;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.util.collections.MutableList;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/BrooklynYamlTypeInstantiatorTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/BrooklynYamlTypeInstantiatorTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/BrooklynYamlTypeInstantiatorTest.java
index aa6b7c1..d984db2 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/BrooklynYamlTypeInstantiatorTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/BrooklynYamlTypeInstantiatorTest.java
@@ -19,10 +19,10 @@
 package org.apache.brooklyn.camp.brooklyn;
 
 import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynYamlTypeInstantiator;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynYamlTypeInstantiator.Factory;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynYamlTypeInstantiator.InstantiatorFromKey;
-import org.apache.brooklyn.policy.Policy;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/EnrichersYamlTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/EnrichersYamlTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/EnrichersYamlTest.java
index 4c13d26..bf8dc15 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/EnrichersYamlTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/EnrichersYamlTest.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.policy.Enricher;
+import org.apache.brooklyn.api.policy.Enricher;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/JavaWebAppsIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/JavaWebAppsIntegrationTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/JavaWebAppsIntegrationTest.java
index f322ea5..94b3f66 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/JavaWebAppsIntegrationTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/JavaWebAppsIntegrationTest.java
@@ -35,12 +35,12 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatform;
 import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
 import org.apache.brooklyn.entity.webapp.DynamicWebAppCluster;
 import org.apache.brooklyn.entity.webapp.JavaWebAppService;
 import org.apache.brooklyn.entity.webapp.WebAppService;
-import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/PoliciesYamlTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/PoliciesYamlTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/PoliciesYamlTest.java
index 43753fc..e020c68 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/PoliciesYamlTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/PoliciesYamlTest.java
@@ -22,7 +22,7 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.test.entity.TestEntity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java
index 6b220fd..0f326ad 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java
@@ -33,14 +33,14 @@ import org.apache.brooklyn.api.catalog.CatalogItem.CatalogItemType;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest;
 import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynEntityMatcher;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.management.osgi.OsgiVersionMoreEntityTest;
 
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.apache.brooklyn.test.TestResourceUnavailableException;
 
 import brooklyn.util.ResourceUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlCombiTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlCombiTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlCombiTest.java
index 85d5fb5..73bb59b 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlCombiTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlCombiTest.java
@@ -24,8 +24,8 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Entity;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest;
-import org.apache.brooklyn.policy.Policy;
 
 import brooklyn.entity.basic.BasicEntity;
 import brooklyn.entity.basic.BasicStartable;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java
index e44be71..10c60fb 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java
@@ -23,13 +23,13 @@ import static org.testng.Assert.assertEquals;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Entity;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest;
 
 import brooklyn.catalog.CatalogPredicates;
 import brooklyn.event.basic.BasicConfigKey;
 import brooklyn.management.osgi.OsgiStandaloneTest;
 
-import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.test.TestResourceUnavailableException;
 
 import com.google.common.collect.Iterables;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
index 99d0b2e..8d50dde 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
@@ -21,9 +21,9 @@ package org.apache.brooklyn.camp.brooklyn.catalog;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.camp.brooklyn.AbstractYamlRebindTest;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
 import org.testng.annotations.Test;
 
 import brooklyn.catalog.internal.CatalogUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/cli/src/main/java/org/apache/brooklyn/cli/ItemLister.java
----------------------------------------------------------------------
diff --git a/usage/cli/src/main/java/org/apache/brooklyn/cli/ItemLister.java b/usage/cli/src/main/java/org/apache/brooklyn/cli/ItemLister.java
index bb12732..c4f3cd2 100644
--- a/usage/cli/src/main/java/org/apache/brooklyn/cli/ItemLister.java
+++ b/usage/cli/src/main/java/org/apache/brooklyn/cli/ItemLister.java
@@ -38,10 +38,10 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationResolver;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.cli.lister.ClassFinder;
 import org.apache.brooklyn.cli.lister.ItemDescriptors;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
 
 import brooklyn.util.ResourceUtils;
 import brooklyn.util.collections.MutableSet;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
----------------------------------------------------------------------
diff --git a/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java b/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
index cb1c6f0..63ad940 100644
--- a/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
+++ b/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
@@ -29,8 +29,8 @@ import java.util.Set;
 import org.apache.brooklyn.api.basic.BrooklynObject;
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.policy.Enricher;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Enricher;
+import org.apache.brooklyn.api.policy.Policy;
 import org.reflections.Reflections;
 import org.reflections.scanners.FieldAnnotationsScanner;
 import org.reflections.scanners.SubTypesScanner;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
----------------------------------------------------------------------
diff --git a/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java b/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
index 8a7a824..98136f5 100644
--- a/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
+++ b/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java
@@ -27,10 +27,10 @@ import java.util.concurrent.Callable;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.event.SensorEvent;
 import org.apache.brooklyn.api.event.SensorEventListener;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.entity.proxy.nginx.NginxControllerImpl;
 import org.apache.brooklyn.entity.proxy.nginx.NginxSshDriver;
 import org.apache.brooklyn.entity.proxy.nginx.UrlMapping;
-import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.event.feed.ConfigToAttributes;
@@ -38,7 +38,9 @@ import brooklyn.event.feed.function.FunctionFeed;
 import brooklyn.event.feed.function.FunctionPollConfig;
 import brooklyn.event.feed.http.HttpFeed;
 import brooklyn.event.feed.http.HttpPollConfig;
+
 import org.apache.brooklyn.location.basic.SshMachineLocation;
+
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.net.Networking;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/qa/src/test/java/org/apache/brooklyn/qa/longevity/webcluster/WebClusterApp.java
----------------------------------------------------------------------
diff --git a/usage/qa/src/test/java/org/apache/brooklyn/qa/longevity/webcluster/WebClusterApp.java b/usage/qa/src/test/java/org/apache/brooklyn/qa/longevity/webcluster/WebClusterApp.java
index 326fdc5..8b635f1 100644
--- a/usage/qa/src/test/java/org/apache/brooklyn/qa/longevity/webcluster/WebClusterApp.java
+++ b/usage/qa/src/test/java/org/apache/brooklyn/qa/longevity/webcluster/WebClusterApp.java
@@ -29,11 +29,11 @@ import brooklyn.event.basic.Sensors;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
+import org.apache.brooklyn.api.policy.EnricherSpec;
 import org.apache.brooklyn.entity.proxy.nginx.NginxController;
 import org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster;
 import org.apache.brooklyn.entity.webapp.jboss.JBoss7Server;
 import org.apache.brooklyn.launcher.BrooklynLauncher;
-import org.apache.brooklyn.policy.EnricherSpec;
 
 import brooklyn.policy.autoscaling.AutoScalerPolicy;
 import brooklyn.util.CommandLineUtil;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java
index b475ce3..218d729 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java
@@ -42,6 +42,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.catalog.CatalogPredicates;
 import brooklyn.catalog.internal.BasicBrooklynCatalog;
@@ -51,8 +53,6 @@ import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.management.entitlement.Entitlements;
 import brooklyn.management.entitlement.Entitlements.StringAndArgument;
 
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.apache.brooklyn.rest.api.CatalogApi;
 import org.apache.brooklyn.rest.domain.ApiError;
 import org.apache.brooklyn.rest.domain.CatalogEntitySummary;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyConfigResource.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyConfigResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyConfigResource.java
index c0fa8eb..b4aa5ce 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyConfigResource.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyConfigResource.java
@@ -29,7 +29,7 @@ import brooklyn.management.entitlement.Entitlements;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.rest.api.PolicyConfigApi;
 import org.apache.brooklyn.rest.domain.PolicyConfigSummary;
 import org.apache.brooklyn.rest.filter.HaHotStateRequired;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyResource.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyResource.java
index 8ebc13a..31a3b99 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyResource.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/PolicyResource.java
@@ -30,8 +30,8 @@ import brooklyn.policy.basic.Policies;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.rest.api.PolicyApi;
 import org.apache.brooklyn.rest.domain.PolicySummary;
 import org.apache.brooklyn.rest.domain.Status;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
index 9c7f64c..2afd4c3 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
@@ -35,12 +35,12 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.Sensor;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
+import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.api.policy.PolicySpec;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.EntityDynamicType;
 
-import org.apache.brooklyn.policy.Policy;
-import org.apache.brooklyn.policy.PolicySpec;
 import org.apache.brooklyn.rest.domain.CatalogEntitySummary;
 import org.apache.brooklyn.rest.domain.CatalogItemSummary;
 import org.apache.brooklyn.rest.domain.CatalogLocationSummary;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/PolicyTransformer.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/PolicyTransformer.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/PolicyTransformer.java
index a7cd50b..a43127c 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/PolicyTransformer.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/transform/PolicyTransformer.java
@@ -26,7 +26,7 @@ import brooklyn.policy.basic.Policies;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.policy.Policy;
+import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.rest.domain.ApplicationSummary;
 import org.apache.brooklyn.rest.domain.PolicyConfigSummary;
 import org.apache.brooklyn.rest.domain.PolicySummary;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
index 5218c99..a14bc22 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
@@ -49,6 +49,7 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationRegistry;
 import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.config.ConfigKey;
@@ -64,7 +65,6 @@ import brooklyn.management.entitlement.Entitlements;
 import brooklyn.management.entitlement.Entitlements.StringAndArgument;
 import brooklyn.policy.basic.AbstractPolicy;
 
-import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.rest.domain.ApplicationSpec;
 import org.apache.brooklyn.rest.domain.EntitySpec;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtilsTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtilsTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtilsTest.java
index 104e508..71e161a 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtilsTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtilsTest.java
@@ -31,6 +31,7 @@ import org.apache.brooklyn.api.catalog.Catalog;
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
+import org.apache.brooklyn.api.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogItemBuilder;
 import brooklyn.catalog.internal.CatalogTemplateItemDto;
@@ -42,7 +43,6 @@ import brooklyn.entity.proxying.EntityProxy;
 import brooklyn.management.internal.LocalManagementContext;
 import brooklyn.policy.basic.AbstractPolicy;
 
-import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.rest.domain.ApplicationSpec;
 import org.apache.brooklyn.rest.domain.EntitySpec;
 import org.apache.brooklyn.test.entity.LocalManagementContextForTests;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/utils/test-bundles/more-entities-v2-evil-twin/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
----------------------------------------------------------------------
diff --git a/utils/test-bundles/more-entities-v2-evil-twin/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java b/utils/test-bundles/more-entities-v2-evil-twin/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
index 7594c2c..238d743 100644
--- a/utils/test-bundles/more-entities-v2-evil-twin/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
+++ b/utils/test-bundles/more-entities-v2-evil-twin/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
@@ -20,7 +20,7 @@ package brooklyn.osgi.tests.more;
 
 import brooklyn.entity.basic.AbstractEntity;
 import brooklyn.entity.effector.EffectorBody;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import brooklyn.util.config.ConfigBag;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/904f9508/utils/test-bundles/more-entities-v2/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
----------------------------------------------------------------------
diff --git a/utils/test-bundles/more-entities-v2/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java b/utils/test-bundles/more-entities-v2/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
index ff86a3d..327fd23 100644
--- a/utils/test-bundles/more-entities-v2/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
+++ b/utils/test-bundles/more-entities-v2/src/main/java/brooklyn/osgi/tests/more/MoreEntityImpl.java
@@ -20,7 +20,7 @@ package brooklyn.osgi.tests.more;
 
 import brooklyn.entity.basic.AbstractEntity;
 import brooklyn.entity.effector.EffectorBody;
-import org.apache.brooklyn.policy.PolicySpec;
+import org.apache.brooklyn.api.policy.PolicySpec;
 import brooklyn.util.config.ConfigBag;