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/13 20:59:53 UTC

[6/9] incubator-brooklyn git commit: [BROOKLYN-162] Rename ./api/management; use the no split package convention

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/SubscriptionManager.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/SubscriptionManager.java b/api/src/main/java/org/apache/brooklyn/management/SubscriptionManager.java
deleted file mode 100644
index d6fe4c5..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/SubscriptionManager.java
+++ /dev/null
@@ -1,112 +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.management;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.Group;
-import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.api.event.SensorEvent;
-import org.apache.brooklyn.api.event.SensorEventListener;
-
-/**
- * The management interface for subscriptions.
- * 
- * Different implementations will handle entities subscribing and unsubscribing to {@link SensorEvent}s
- * and their delivery.
- * 
- * @see SubscriptionContext
- */
-public interface SubscriptionManager {
-    /**
-     * Subscribe to {@link Sensor} data changes and events on a given {@link Entity}, supplying the {@link SensorEventListener}
-     * to invoke when they occur.
-     * 
-     * The method returns an id which can be used to {@link #unsubscribe(SubscriptionHandle)} later.
-     * <p>
-     * The listener callback is in-order single-threaded and synchronized on this object. The flags
-     * parameters can include the following:
-     * <ul>
-     * <li>subscriber - object to identify the subscriber (e.g. entity, or console session uid) 
-     * <li><i>in future</i> - control parameters for the subscription (period, minimum delta for updates, etc)
-     * </ul>
-     * 
-     * @param flags optional parameters to be associated with the subscription
-     * @param producer entity to listen to, or null to listen to all entities
-     * @param sensor sensor channel of events to listen to, or null for all sensors from the given producer(s)
-     * @param listener callback to invoke when an event occurs
-     * @return an id for this subscription
-     * 
-     * @see #unsubscribe(SubscriptionHandle)
-     */
-    <T> SubscriptionHandle subscribe(Map<String, Object> flags, Entity producer, Sensor<T> sensor, SensorEventListener<? super T> listener);
- 
-    /** @see #subscribe(Map, Entity, Sensor, SensorEventListener) */
-    <T> SubscriptionHandle subscribe(Entity producer, Sensor<T> sensor, SensorEventListener<? super T> listener);
-
-    /**
-     * Subscribe to {@link Sensor} data changes and events on all children of a given {@link Entity}, supplying the
-     * {@link SensorEventListener} to invoke when they occur.
-     * 
-     * The subscriptions will be created recursively for all children, and the same listener callback will be invoked for each
-     * sensor datum. The semantics are otherwise identical to the {@link #subscribe(Map, Entity, Sensor, SensorEventListener)} method.
-     *
-     * @see #subscribe(Map, Entity, Sensor, SensorEventListener)
-     */
-    <T> SubscriptionHandle subscribeToChildren(Map<String, Object> flags, Entity parent, Sensor<T> sensor, SensorEventListener<? super T> listener);
- 
-    /** @see #subscribeToChildren(Map, Entity, Sensor, SensorEventListener) */
-    <T> SubscriptionHandle subscribeToChildren(Entity parent, Sensor<T> sensor, SensorEventListener<? super T> listener);
-
-    /**
-     * Subscribe to {@link Sensor} data changes and events on all members of a given {@link Group}, supplying the
-     * {@link SensorEventListener} to invoke when they occur.
-     * 
-     * The subscriptions will be created recursively for all children, and the same listener callback will be invoked for each
-     * sensor datum. The semantics are otherwise identical to the {@link #subscribe(Map, Entity, Sensor, SensorEventListener)} method.
-     *
-     * @see #subscribe(Map, Entity, Sensor, SensorEventListener)
-     */
-    <T> SubscriptionHandle subscribeToMembers(Map<String, Object> flags, Group parent, Sensor<T> sensor, SensorEventListener<? super T> listener);
- 
-    /** @see #subscribeToMembers(Map, Group, Sensor, SensorEventListener) */
-    <T> SubscriptionHandle subscribeToMembers(Group parent, Sensor<T> sensor, SensorEventListener<? super T> listener);
-
-    /**
-     * Unsubscribe the given subscription id.
-     * 
-     * @return true if such a subscription was present (and it will now be removed)
-     * 
-     * @see #subscribe(Map, Entity, Sensor, SensorEventListener)
-     */
-    boolean unsubscribe(SubscriptionHandle subscriptionId);
-
-    /**
-     * Deliver a {@link SensorEvent} to all subscribed listeners.
-     */
-    <T> void publish(SensorEvent<T> event);
-
-    /** Return the subscriptions requested by a given subscriber */
-    Set<SubscriptionHandle> getSubscriptionsForSubscriber(Object subscriber);
-    
-    /** Return the subscriptions on a given source-sensor pair */
-    Set<SubscriptionHandle> getSubscriptionsForEntitySensor(Entity source, Sensor<?> sensor);
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/Task.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/Task.java b/api/src/main/java/org/apache/brooklyn/management/Task.java
deleted file mode 100644
index 3a4fdef..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/Task.java
+++ /dev/null
@@ -1,128 +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.management;
-
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeoutException;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-import brooklyn.util.time.Duration;
-
-/**
- * Represents a unit of work for execution.
- *
- * When used with an {@link ExecutionManager} or {@link ExecutionContext} it will record submission time,
- * execution start time, end time, and any result. A task can be submitted to the ExecutionManager or
- * ExecutionContext, in which case it will be returned, or it may be created by submission
- * of a {@link Runnable} or {@link Callable} and thereafter it can be treated just like a {@link Future}.
- */
-public interface Task<T> extends ListenableFuture<T>, TaskAdaptable<T> {
-    
-    public String getId();
-    
-    public Set<Object> getTags();
-    /** if {@link #isSubmitted()} returns the time when the task was submitted; or -1 otherwise */
-    public long getSubmitTimeUtc();
-    /** if {@link #isBegun()} returns the time when the task was starts;
-     * guaranteed to be >= {@link #getSubmitTimeUtc()} > 0 if started, or -1 otherwise */
-    public long getStartTimeUtc();
-    /** if {@link #isDone()} (for any reason) returns the time when the task ended;
-     * guaranteed to be >= {@link #getStartTimeUtc()} > 0 if ended, or -1 otherwise */
-    public long getEndTimeUtc();
-    public String getDisplayName();
-    public String getDescription();
-    
-    /** task which submitted this task, if was submitted by a task */
-    public Task<?> getSubmittedByTask();
-
-    /** The thread where the task is running, if it is running. */
-    public Thread getThread();
-
-    /**
-     * Whether task has been submitted
-     *
-     * Submitted tasks are normally expected to start running then complete,
-     * but unsubmitted tasks are sometimes passed around for someone else to submit them.
-     */
-    public boolean isSubmitted();
-
-    /**
-     * Whether task has started running.
-     *
-     * Will remain true after normal completion or non-cancellation error.
-     * will be true on cancel iff the thread did actually start.
-     */
-    public boolean isBegun();
-
-    /**
-     * Whether the task threw an error, including cancellation (implies {@link #isDone()})
-     */
-    public boolean isError();
-
-    /**
-     * Causes calling thread to block until the task is started.
-     */
-    public void blockUntilStarted();
-
-    /**
-     * Causes calling thread to block until the task is ended.
-     * <p>
-     * Either normally or by cancellation or error, but without throwing error on cancellation or error.
-     * (Errors are logged at debug.)
-     */
-    public void blockUntilEnded();
-
-    /**
-     * As {@link #blockUntilEnded()}, but returning after the given timeout;
-     * true if the task has ended and false otherwise
-     */
-    public boolean blockUntilEnded(Duration timeout);
-
-    public String getStatusSummary();
-
-    /**
-     * Returns detailed status, suitable for a hover.
-     *
-     * Plain-text format, with new-lines (and sometimes extra info) if multiline enabled.
-     */
-    public String getStatusDetail(boolean multiline);
-
-    /** As {@link #get(long, java.util.concurrent.TimeUnit)} */
-    public T get(Duration duration) throws InterruptedException, ExecutionException, TimeoutException;
-    
-    /** As {@link #get()}, but propagating checked exceptions as unchecked for convenience. */
-    public T getUnchecked();
-
-    /** As {@link #get()}, but propagating checked exceptions as unchecked for convenience
-     * (including a {@link TimeoutException} if the duration expires) */
-    public T getUnchecked(Duration duration);
-
-    /** As {@link Future#cancel(boolean)}. Note that {@link #isDone()} and {@link #blockUntilEnded(Duration)} return immediately
-     * once a task is cancelled, consistent with the underlying {@link FutureTask} behaviour.  
-     * TODO Fine-grained control over underlying jobs, e.g. to ensure anything represented by this task is actually completed,
-     * is not (yet) publicly exposed. See the convenience method blockUntilInternalTasksEnded in the Tasks set of helpers
-     * for more discussion. */
-    public boolean cancel(boolean mayInterruptIfRunning);
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/TaskAdaptable.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/TaskAdaptable.java b/api/src/main/java/org/apache/brooklyn/management/TaskAdaptable.java
deleted file mode 100644
index 8a50ebe..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/TaskAdaptable.java
+++ /dev/null
@@ -1,24 +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.management;
-
-/** marker interface for something which can be adapted to a task  */
-public interface TaskAdaptable<T> {
-    Task<T> asTask();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/TaskFactory.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/TaskFactory.java b/api/src/main/java/org/apache/brooklyn/management/TaskFactory.java
deleted file mode 100644
index 41ec32a..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/TaskFactory.java
+++ /dev/null
@@ -1,25 +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.management;
-
-
-/** Interface for something which can generate tasks (or task wrappers) */
-public interface TaskFactory<T extends TaskAdaptable<?>> {
-    T newTask();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/TaskQueueingContext.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/TaskQueueingContext.java b/api/src/main/java/org/apache/brooklyn/management/TaskQueueingContext.java
deleted file mode 100644
index 60703dd..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/TaskQueueingContext.java
+++ /dev/null
@@ -1,62 +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.management;
-
-import java.util.List;
-
-import brooklyn.util.time.Duration;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Marks a place where tasks can be added, e.g. a task which allows children to be added (including after it is activated);
- * if the implementer of this is also a task, then it may be picked up by hierarchical methods (e.g. in DynamicTasks).
- * 
- * @since 0.6.0
- */
-@Beta
-public interface TaskQueueingContext {
-
-    /** queues the task for submission as part of this queueing context
-     * <p>
-     * implementations should mark it as queued but not yet submitted.
-     * note the task may have already been submitted, and is being queued here for informational purposes,
-     * in which case the implementation should not run it. */
-    public void queue(Task<?> t);
-    
-    /** returns a list of queued tasks (immutable copy) */
-    public List<Task<?>> getQueue();
-
-    /** Drains the task queue for this context to complete, ie waits for this context to complete (or terminate early)
-     * @param optionalTimeout null to run forever
-     * @param includePrimaryThread whether the parent (this context) should also be joined on;
-     *   should only be true if invoking this from another task, as otherwise it will be waiting for itself!
-     * @param throwFirstError whether to throw the first exception encountered
-     * <p>
-     * Also note that this waits on tasks so that blocking details on the caller are meaningful.
-     */
-    public void drain(Duration optionalTimeout, boolean includePrimaryThread, boolean throwFirstError);
-
-    /** Returns the task which is this queueing context */
-    public Task<?> asTask();
-
-    /** causes subsequent children failures not to fail the parent */
-    public void swallowChildrenFailures();
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/TaskWrapper.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/TaskWrapper.java b/api/src/main/java/org/apache/brooklyn/management/TaskWrapper.java
deleted file mode 100644
index 2f92832..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/TaskWrapper.java
+++ /dev/null
@@ -1,28 +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.management;
-
-/**
- * Interface for something which is not a task, but which is closely linked to one, ie. it has a task.
- * 
- * @since 0.6.0
- */
-public interface TaskWrapper<T> extends TaskAdaptable<T> {
-    Task<T> getTask();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/classloading/BrooklynClassLoadingContext.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/classloading/BrooklynClassLoadingContext.java b/api/src/main/java/org/apache/brooklyn/management/classloading/BrooklynClassLoadingContext.java
deleted file mode 100644
index 323f247..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/classloading/BrooklynClassLoadingContext.java
+++ /dev/null
@@ -1,51 +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.management.classloading;
-
-import java.net.URL;
-
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.management.ManagementContext;
-
-import brooklyn.util.guava.Maybe;
-
-/** 
- * Provides functionality for loading classes based on the current context
- * (e.g. catalog item, entity, etc). 
- */
-public interface BrooklynClassLoadingContext {
-
-    public ManagementContext getManagementContext();
-    public Class<?> loadClass(String className);
-    public <T> Class<? extends T> loadClass(String className, @Nullable Class<T> supertype);
-
-    public Maybe<Class<?>> tryLoadClass(String className);
-    public <T> Maybe<Class<? extends T>> tryLoadClass(String className, @Nullable Class<T> supertype);
-
-    /** As {@link ClassLoader#getResource(String)} */
-    public URL getResource(String name);
-
-    /**
-     * As {@link ClassLoader#getResources(String)} but returning an {@link Iterable} rather than
-     * an {@link java.util.Enumeration}.
-     */
-    public Iterable<URL> getResources(String name);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementClass.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementClass.java b/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementClass.java
deleted file mode 100644
index c33950f..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementClass.java
+++ /dev/null
@@ -1,27 +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.management.entitlement;
-
-import com.google.common.reflect.TypeToken;
-
-/** @see EntitlementManager */
-public interface EntitlementClass<T> {
-    String entitlementClassIdentifier();
-    TypeToken<T> entitlementClassArgumentType();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementContext.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementContext.java b/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementContext.java
deleted file mode 100644
index c514ccd..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementContext.java
+++ /dev/null
@@ -1,24 +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.management.entitlement;
-
-/** @see EntitlementManager */
-public interface EntitlementContext {
-    String user();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementManager.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementManager.java b/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementManager.java
deleted file mode 100644
index 674dfea..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/entitlement/EntitlementManager.java
+++ /dev/null
@@ -1,45 +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.management.entitlement;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import com.google.common.annotations.Beta;
-
-/** 
- * Entitlement lookup relies on:
- * <li>an "entitlement context", consisting of at minimum a string identifier of the user/actor for which entitlement is being requested
- * <li>an "entitlement class", representing the category of activity for which entitlement is being requested
- * <li>an "entitlement class argument", representing the specifics of the activity for which entitlement is being requested
- * <p>
- * Instances of this class typically have a 1-arg constructor taking a BrooklynProperties object
- * (configuration injected by the Brooklyn framework)
- * or a 0-arg constructor (if no external configuration is needed).
- * <p>
- * An EntitlementManagerAdapter class is available to do dispatch to common methods.
- * <p>
- * Instantiation is done e.g. by Entitlements.newManager.  
- * @since 0.7.0 */
-@Beta
-public interface EntitlementManager {
-
-    public <T> boolean isEntitled(@Nullable EntitlementContext context, @Nonnull EntitlementClass<T> entitlementClass, @Nullable T entitlementClassArgument);
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityManager.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityManager.java b/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityManager.java
deleted file mode 100644
index f1030e2..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityManager.java
+++ /dev/null
@@ -1,129 +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.management.ha;
-
-import java.util.Map;
-
-import com.google.common.annotations.Beta;
-import com.google.common.annotations.VisibleForTesting;
-
-/**
- * Monitors other management nodes (via the {@link ManagementPlaneSyncRecordPersister}) to detect
- * if the current master has failed or stopped. If so, then deterministically chooses a new master.
- * If that master is self, then promotes.
-
- * Users are not expected to implement this class, or to call methods on it directly.
- * 
- * Expected lifecycle of methods calls on this is:
- * <ol>
- *   <li>{@link #setPersister(ManagementPlaneSyncRecordPersister)}
- *   <li>Exactly one of {@link #disabled()} or {@link #start(HighAvailabilityMode)}
- *   <li>{@link #stop()}
- * </ol>
- * 
- * @since 0.7.0
- */
-@Beta
-public interface HighAvailabilityManager {
-
-    ManagementNodeState getNodeState();
-    
-    /** The time in milliseconds when the state was last changed. -1 if no state transition has occurred yet.*/
-    long getLastStateChange();
-    
-    /**
-     * @param persister
-     * @return self
-     */
-    HighAvailabilityManager setPersister(ManagementPlaneSyncRecordPersister persister);
-
-    /**
-     * Indicates that HA is disabled: this node will act as the only management node in this management plane,
-     * and will not persist HA meta-information (meaning other nodes cannot join). 
-     * <p>
-     * Subsequently can expect {@link #getNodeState()} to be {@link ManagementNodeState#MASTER} 
-     * and {@link #loadManagementPlaneSyncRecord(boolean)} to show just this one node --
-     * as if it were running HA with just one node --
-     * but {@link #isRunning()} will return false.
-     * <p>
-     * Currently this method is intended to be called early in the lifecycle,
-     * instead of {@link #start(HighAvailabilityMode)}. It may be an error if
-     * this is called after this HA Manager is started.
-     */
-    @Beta
-    void disabled();
-
-    /** Whether HA mode is operational */
-    boolean isRunning();
-    
-    /**
-     * Starts the monitoring of other nodes (and thus potential promotion of this node from standby to master).
-     * <p>
-     * When this method returns, the status of this node will be set,
-     * either {@link ManagementNodeState#MASTER} if appropriate 
-     * or {@link ManagementNodeState#STANDBY} / {@link ManagementNodeState#HOT_STANDBY} / {@link ManagementNodeState#HOT_BACKUP}.
-     *
-     * @param startMode mode to start with
-     * @throws IllegalStateException if current state of the management-plane doesn't match that desired by {@code startMode} 
-     */
-    void start(HighAvailabilityMode startMode);
-
-    /**
-     * Stops this node, then publishes own status (via {@link ManagementPlaneSyncRecordPersister} of {@link ManagementNodeState#TERMINATED}.
-     */
-    void stop();
-
-    /** changes the mode that this HA server is running in
-     * <p>
-     * note it will be an error to {@link #changeMode(HighAvailabilityMode)} to {@link ManagementNodeState#MASTER} 
-     * when there is already a master; to promote a node explicitly set its priority higher than
-     * the others and invoke {@link #changeMode(HighAvailabilityMode)} to a standby mode on the existing master */
-    void changeMode(HighAvailabilityMode mode);
-
-    /** sets the priority, and publishes it synchronously so it is canonical */
-    void setPriority(long priority);
-    
-    long getPriority();
-
-    /** deletes non-master node records; active nodes (including this) will republish, 
-     * so this provides a simple way to clean out the cache of dead brooklyn nodes */
-    @Beta
-    void publishClearNonMaster();
-
-    /**
-     * Returns a snapshot of the management-plane's current / most-recently-known status,
-     * as last read from {@link #loadManagementPlaneSyncRecord(boolean)}, or null if none read.
-     */
-    ManagementPlaneSyncRecord getLastManagementPlaneSyncRecord();
-    
-    /**
-     * @param useLocalKnowledgeForThisNode - if true, the record for this mgmt node will be replaced with the
-     * actual current status known in this JVM (may be more recent than what is persisted);
-     * for most purposes there is little difference but in some cases the local node being updated
-     * may be explicitly wanted or not wanted
-     */
-    ManagementPlaneSyncRecord loadManagementPlaneSyncRecord(boolean useLocalKnowledgeForThisNode);
-    
-    @VisibleForTesting
-    ManagementPlaneSyncRecordPersister getPersister();
-
-    /** Returns a collection of metrics */
-    Map<String,Object> getMetrics();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityMode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityMode.java b/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityMode.java
deleted file mode 100644
index 755cf49..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/HighAvailabilityMode.java
+++ /dev/null
@@ -1,67 +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.management.ha;
-
-/** Specifies the HA mode that a mgmt node should run in */
-public enum HighAvailabilityMode {
-    /** 
-     * Means HA mode should not be operational.
-     * <p>
-     * When specified for the initial HA mode, this simply turns off HA.
-     * <p>
-     * However if being used to {@link HighAvailabilityManager#changeMode(HighAvailabilityMode)},
-     * this will cause the node to transition to a {@link ManagementNodeState#FAILED} state.
-     * Switching to a "master-but-not-part-of-HA" state is not currently supported, as this would be
-     * problematic if another node (which was part of HA) then tries to become master,
-     * and the more common use of this at runtime is to disable a node from being part of the HA plane. 
-     */
-    DISABLED,
-    
-    /**
-     * Means auto-detect whether to be master or standby; if there is already a master then start as standby, 
-     * otherwise start as master.
-     */
-    AUTO,
-    
-    /**
-     * Means node must be lukewarm standby; if there is not already a master then fail fast on startup.
-     * See {@link ManagementNodeState#STANDBY}. 
-     */
-    STANDBY,
-    
-    /**
-     * Means node must be hot standby; if there is not already a master then fail fast on startup.
-     * See {@link ManagementNodeState#HOT_STANDBY}. 
-     */
-    HOT_STANDBY,
-    
-    /**
-     * Means node must be hot backup; do not attempt to become master (but it <i>can</i> start without a master).
-     * See {@link ManagementNodeState#HOT_BACKUP}. 
-     */
-    HOT_BACKUP,
-    
-    /**
-     * Means node must be master; if there is already a master then fail fast on startup.
-     * See {@link ManagementNodeState#MASTER}.
-     */
-    // TODO when multi-master supported we will of course not fail fast on startup when there is already a master;
-    // instead the responsibility for master entities will be divided among masters
-    MASTER;
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeState.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeState.java b/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeState.java
deleted file mode 100644
index 798a587..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeState.java
+++ /dev/null
@@ -1,72 +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.management.ha;
-
-import brooklyn.util.guava.Maybe;
-
-public enum ManagementNodeState {
-    /** Node is either coming online, or is in some kind of recovery/transitioning mode */
-    INITIALIZING,
-    
-    /** Node is in "lukewarm standby" mode, where it is available to be promoted to master,
-     * but does not have entities loaded and will require some effort to be promoted */
-    STANDBY,
-    /** Node is acting as read-only proxy available to be promoted to master on existing master failure */
-    HOT_STANDBY,
-    /** Node is acting as a read-only proxy but not making itself available for promotion to master */
-    HOT_BACKUP,
-    /** Node is running as primary/master, able to manage entities and create new ones */
-    // the semantics are intended to support multi-master here; we could have multiple master nodes,
-    // but we need to look up who is master for any given entity
-    MASTER,
-
-    /** Node has failed and requires maintenance attention */
-    FAILED,
-    /** Node has gone away; maintenance not possible */
-    TERMINATED;
-
-    /** Converts a {@link HighAvailabilityMode} to a {@link ManagementNodeState}, if possible */
-    public static Maybe<ManagementNodeState> of(HighAvailabilityMode startMode) {
-        switch (startMode) {
-        case AUTO:
-        case DISABLED:
-            return Maybe.absent("Requested "+HighAvailabilityMode.class+" mode "+startMode+" cannot be converted to "+ManagementNodeState.class);
-        case HOT_BACKUP:
-            return Maybe.of(HOT_BACKUP);
-        case HOT_STANDBY:
-            return Maybe.of(HOT_STANDBY);
-        case MASTER:
-            return Maybe.of(MASTER);
-        case STANDBY:
-            return Maybe.of(STANDBY);
-        }
-        // above should be exhaustive
-        return Maybe.absent("Requested "+HighAvailabilityMode.class+" mode "+startMode+" was not expected");
-    }
-
-    /** true for hot non-master modes, where we are proxying the data from the persistent store */
-    public static boolean isHotProxy(ManagementNodeState state) {
-        return state==HOT_BACKUP || state==HOT_STANDBY;
-    }
-
-    /** true for non-master modes which can be promoted to master */
-    public static boolean isStandby(ManagementNodeState state) {
-        return state==ManagementNodeState.STANDBY || state==ManagementNodeState.HOT_STANDBY;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeSyncRecord.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeSyncRecord.java b/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeSyncRecord.java
deleted file mode 100644
index 2176968..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementNodeSyncRecord.java
+++ /dev/null
@@ -1,62 +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.management.ha;
-
-import java.net.URI;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Represents the state of a management-node.
- * 
- * @see {@link ManagementPlaneSyncRecord#getManagementNodes()}
- * 
- * @since 0.7.0
- * 
- * @author aled
- */
-@Beta
-public interface ManagementNodeSyncRecord {
-
-    // TODO Not setting URI currently; ManagementContext doesn't know its URI; only have one if web-console was enabled.
-    
-    // TODO Add getPlaneId(); but first need to set it in a sensible way
-    
-    String getBrooklynVersion();
-    
-    String getNodeId();
-    
-    URI getUri();
-    
-    ManagementNodeState getStatus();
-
-    Long getPriority();
-    
-    /** timestamp set by the originating management machine */
-    long getLocalTimestamp();
-
-    /** timestamp set by shared persistent store, if available
-     * <p>
-     * this will not be set on records originating at this machine, nor will it be persisted,
-     * but it will be populated for records being read */
-    Long getRemoteTimestamp();
-    
-    String toVerboseString();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecord.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecord.java b/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecord.java
deleted file mode 100644
index fdeed86..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecord.java
+++ /dev/null
@@ -1,51 +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.management.ha;
-
-import java.util.Map;
-
-import org.apache.brooklyn.mementos.BrooklynMemento;
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Meta-data about the management plane - the management nodes and who is currently master.
- * Does not contain any data about the entities under management.
- * <p>
- * This is very similar to how {@link BrooklynMemento} is used by {@link BrooklynMementoPersister},
- * but it is not a memento in the sense it does not reconstitute the entire management plane
- * (so is not called Memento although it can be used by the same memento-serializers).
- * 
- * @since 0.7.0
- * 
- * @author aled
- */
-@Beta
-public interface ManagementPlaneSyncRecord {
-
-    // TODO Add getPlaneId(); but first need to set it sensibly on each management node
-    
-    String getMasterNodeId();
-    
-    /** returns map of {@link ManagementNodeSyncRecord} instances keyed by the nodes' IDs */
-    Map<String, ManagementNodeSyncRecord> getManagementNodes();
-
-    String toVerboseString();
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecordPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecordPersister.java b/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecordPersister.java
deleted file mode 100644
index 5da6d45..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/ManagementPlaneSyncRecordPersister.java
+++ /dev/null
@@ -1,69 +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.management.ha;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.concurrent.TimeoutException;
-
-import org.apache.brooklyn.mementos.BrooklynMementoPersister;
-
-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 relating to the management plane.
- * This state does not relate to the entities being managed.
- * 
- * @see {@link HighAvailabilityManager#setPersister(ManagementPlaneSyncRecordPersister)} for its use in management-node failover
- * 
- * @since 0.7.0
- */
-@Beta
-public interface ManagementPlaneSyncRecordPersister {
-
-    /**
-     * Analogue to {@link BrooklynMementoPersister#loadMemento(org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext)}
-     * <p>
-     * Note that this method is *not* thread safe.
-     */
-    ManagementPlaneSyncRecord loadSyncRecord() throws IOException;
-    
-    void delta(Delta delta);
-
-    void stop();
-
-    @VisibleForTesting
-    void waitForWritesCompleted(Duration timeout) throws InterruptedException, TimeoutException;
-    
-    public interface Delta {
-        public enum MasterChange {
-            NO_CHANGE,
-            SET_MASTER,
-            CLEAR_MASTER
-        }
-        Collection<ManagementNodeSyncRecord> getNodes();
-        Collection<String> getRemovedNodeIds();
-        MasterChange getMasterChange();
-        String getNewMasterOrNull();
-        String getExpectedMasterToClear();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/api/src/main/java/org/apache/brooklyn/management/ha/MementoCopyMode.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/management/ha/MementoCopyMode.java b/api/src/main/java/org/apache/brooklyn/management/ha/MementoCopyMode.java
deleted file mode 100644
index de7fb28..0000000
--- a/api/src/main/java/org/apache/brooklyn/management/ha/MementoCopyMode.java
+++ /dev/null
@@ -1,29 +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.management.ha;
-
-public enum MementoCopyMode {
-    /** Use items currently managed at this node */ 
-    LOCAL,
-    /** Use items as stored in the remote persistence store */ 
-    REMOTE, 
-    /** Auto-detect whether to use {@link #LOCAL} or {@link #REMOTE} depending on the
-     * HA mode of this management node (usually {@link #LOCAL} for master and {@link #REMOTE} otherwise)*/ 
-    AUTO 
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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
index d39f6a0..e9a9a58 100644
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
+++ b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
@@ -33,7 +33,7 @@ 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.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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
index b3309de..4878250 100644
--- a/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java
+++ b/api/src/main/java/org/apache/brooklyn/policy/EnricherSpec.java
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.Map;
 
 import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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
index ffb69f9..de76513 100644
--- a/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java
+++ b/api/src/main/java/org/apache/brooklyn/policy/PolicySpec.java
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.Map;
 
 import org.apache.brooklyn.api.basic.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/BrooklynVersion.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/BrooklynVersion.java b/core/src/main/java/brooklyn/BrooklynVersion.java
index 8410eeb..f147303 100644
--- a/core/src/main/java/brooklyn/BrooklynVersion.java
+++ b/core/src/main/java/brooklyn/BrooklynVersion.java
@@ -43,7 +43,7 @@ import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 
 import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.management.classloading.OsgiBrooklynClassLoadingContext;
 import brooklyn.util.ResourceUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/basic/AbstractBrooklynObject.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/AbstractBrooklynObject.java b/core/src/main/java/brooklyn/basic/AbstractBrooklynObject.java
index 948792c..be49f7b 100644
--- a/core/src/main/java/brooklyn/basic/AbstractBrooklynObject.java
+++ b/core/src/main/java/brooklyn/basic/AbstractBrooklynObject.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.brooklyn.api.basic.internal.ApiObjectsFactory;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java b/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
index 0309a8c..06cdd40 100644
--- a/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
+++ b/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
@@ -20,8 +20,8 @@ package brooklyn.basic;
 
 import org.apache.brooklyn.api.entity.trait.Configurable;
 import org.apache.brooklyn.api.entity.trait.Identifiable;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.management.Task;
 
 import brooklyn.camp.brooklyn.api.HasBrooklynManagementContext;
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/basic/internal/ApiObjectsFactoryImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/internal/ApiObjectsFactoryImpl.java b/core/src/main/java/brooklyn/basic/internal/ApiObjectsFactoryImpl.java
index 1a1f1a1..8e0f5a4 100644
--- a/core/src/main/java/brooklyn/basic/internal/ApiObjectsFactoryImpl.java
+++ b/core/src/main/java/brooklyn/basic/internal/ApiObjectsFactoryImpl.java
@@ -20,7 +20,7 @@ package brooklyn.basic.internal;
 
 import org.apache.brooklyn.api.basic.internal.ApiObjectsFactoryInterface;
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 
 import brooklyn.entity.basic.BrooklynTaskTags;
 import brooklyn.util.task.Tasks;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/camp/brooklyn/api/AssemblyTemplateSpecInstantiator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/camp/brooklyn/api/AssemblyTemplateSpecInstantiator.java b/core/src/main/java/brooklyn/camp/brooklyn/api/AssemblyTemplateSpecInstantiator.java
index 21b742f..593202e 100644
--- a/core/src/main/java/brooklyn/camp/brooklyn/api/AssemblyTemplateSpecInstantiator.java
+++ b/core/src/main/java/brooklyn/camp/brooklyn/api/AssemblyTemplateSpecInstantiator.java
@@ -25,7 +25,7 @@ import io.brooklyn.camp.spi.instantiate.AssemblyTemplateInstantiator;
 import java.util.Set;
 
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.management.classloading.BrooklynClassLoadingContext;
+import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
 
 public interface AssemblyTemplateSpecInstantiator extends AssemblyTemplateInstantiator {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java b/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
index 6281b71..7925db8 100644
--- a/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
+++ b/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.camp.brooklyn.api;
 
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 
 public interface HasBrooklynManagementContext {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 17c5768..99e1a8f 100644
--- a/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
+++ b/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
@@ -25,7 +25,7 @@ import org.apache.brooklyn.api.catalog.CatalogItem.CatalogItemType;
 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.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.policy.PolicySpec;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 d65bd89..b1d5385 100644
--- a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
+++ b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
@@ -46,8 +46,8 @@ import org.apache.brooklyn.api.catalog.BrooklynCatalog;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.catalog.CatalogItem.CatalogBundle;
 import org.apache.brooklyn.api.catalog.CatalogItem.CatalogItemType;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.classloading.BrooklynClassLoadingContext;
+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;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/catalog/internal/CatalogDo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogDo.java b/core/src/main/java/brooklyn/catalog/internal/CatalogDo.java
index 164d7e0..b6c62a7 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogDo.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogDo.java
@@ -24,7 +24,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/catalog/internal/CatalogInitialization.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogInitialization.java b/core/src/main/java/brooklyn/catalog/internal/CatalogInitialization.java
index 649b983..42d8688 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogInitialization.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogInitialization.java
@@ -25,8 +25,8 @@ import java.util.List;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.ha.ManagementNodeState;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.management.ha.ManagementNodeState;
 
 import brooklyn.config.BrooklynServerConfig;
 import brooklyn.management.ManagementContextInjectable;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 2dc6570..f68c975 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogItemDo.java
@@ -27,7 +27,7 @@ import brooklyn.basic.BrooklynObjectInternal;
 
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.mementos.CatalogItemMemento;
 
 import brooklyn.config.ConfigKey;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/catalog/internal/CatalogUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogUtils.java b/core/src/main/java/brooklyn/catalog/internal/CatalogUtils.java
index a76488d..e8cd0d3 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogUtils.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogUtils.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.api.catalog.BrooklynCatalog;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.catalog.CatalogItem.CatalogBundle;
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.classloading.BrooklynClassLoadingContext;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext;
 
 import brooklyn.catalog.internal.BasicBrooklynCatalog.BrooklynLoaderTracker;
 import brooklyn.config.BrooklynLogging;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/config/BrooklynServerConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/BrooklynServerConfig.java b/core/src/main/java/brooklyn/config/BrooklynServerConfig.java
index 44c97db..2eae73e 100644
--- a/core/src/main/java/brooklyn/config/BrooklynServerConfig.java
+++ b/core/src/main/java/brooklyn/config/BrooklynServerConfig.java
@@ -25,7 +25,7 @@ import java.io.File;
 import java.net.URI;
 import java.util.Map;
 
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/config/BrooklynServerPaths.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/BrooklynServerPaths.java b/core/src/main/java/brooklyn/config/BrooklynServerPaths.java
index 6109044..f082496 100644
--- a/core/src/main/java/brooklyn/config/BrooklynServerPaths.java
+++ b/core/src/main/java/brooklyn/config/BrooklynServerPaths.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import javax.annotation.Nullable;
 
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/config/BrooklynServiceAttributes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/BrooklynServiceAttributes.java b/core/src/main/java/brooklyn/config/BrooklynServiceAttributes.java
index c8e6320..18307be 100644
--- a/core/src/main/java/brooklyn/config/BrooklynServiceAttributes.java
+++ b/core/src/main/java/brooklyn/config/BrooklynServiceAttributes.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.config;
 
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.util.internal.StringSystemProperty;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/AbstractEffector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractEffector.java b/core/src/main/java/brooklyn/entity/basic/AbstractEffector.java
index f705aa8..26ced4a 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEffector.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEffector.java
@@ -25,7 +25,7 @@ import java.util.concurrent.Callable;
 import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.ParameterType;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 0b6589c..c7a017c 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
@@ -40,12 +40,12 @@ 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.management.EntityManager;
-import org.apache.brooklyn.management.ExecutionContext;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.SubscriptionContext;
-import org.apache.brooklyn.management.SubscriptionHandle;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.EntityManager;
+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.SubscriptionHandle;
+import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.mementos.EntityMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.EnricherSpec;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java b/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
index 852570f..f24a14e 100644
--- a/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
+++ b/core/src/main/java/brooklyn/entity/basic/ApplicationBuilder.java
@@ -25,8 +25,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.management.EntityManager;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.EntityManager;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/Attributes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/Attributes.java b/core/src/main/java/brooklyn/entity/basic/Attributes.java
index 25fc7f0..f4ca92c 100644
--- a/core/src/main/java/brooklyn/entity/basic/Attributes.java
+++ b/core/src/main/java/brooklyn/entity/basic/Attributes.java
@@ -24,7 +24,7 @@ import java.util.Map;
 
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.config.render.RendererHints;
 import brooklyn.event.basic.BasicAttributeSensor;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java b/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
index d35c3ff..0552f75 100644
--- a/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
@@ -23,7 +23,7 @@ import java.util.Collection;
 import java.util.List;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/BrooklynShutdownHooks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BrooklynShutdownHooks.java b/core/src/main/java/brooklyn/entity/basic/BrooklynShutdownHooks.java
index df1eed5..b614e0f 100644
--- a/core/src/main/java/brooklyn/entity/basic/BrooklynShutdownHooks.java
+++ b/core/src/main/java/brooklyn/entity/basic/BrooklynShutdownHooks.java
@@ -24,8 +24,8 @@ import java.util.concurrent.Semaphore;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
index fe1efd3..3cdfc39 100644
--- a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
+++ b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
@@ -30,9 +30,9 @@ import javax.annotation.Nullable;
 
 import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.ExecutionManager;
-import org.apache.brooklyn.management.Task;
-import org.apache.brooklyn.management.entitlement.EntitlementContext;
+import org.apache.brooklyn.api.management.ExecutionManager;
+import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.api.management.entitlement.EntitlementContext;
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java b/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
index a621053..2fe8d46 100644
--- a/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
@@ -27,7 +27,7 @@ import org.apache.brooklyn.api.entity.Entity;
 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.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 65131aa..d49dad3 100644
--- a/core/src/main/java/brooklyn/entity/basic/Entities.java
+++ b/core/src/main/java/brooklyn/entity/basic/Entities.java
@@ -49,12 +49,12 @@ import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolver;
 import org.apache.brooklyn.api.entity.proxying.EntitySpec;
 import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.event.Sensor;
-import org.apache.brooklyn.management.ExecutionContext;
-import org.apache.brooklyn.management.LocationManager;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.Task;
-import org.apache.brooklyn.management.TaskAdaptable;
-import org.apache.brooklyn.management.TaskFactory;
+import org.apache.brooklyn.api.management.ExecutionContext;
+import org.apache.brooklyn.api.management.LocationManager;
+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.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/EntityConfigMap.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityConfigMap.java b/core/src/main/java/brooklyn/entity/basic/EntityConfigMap.java
index 4038713..988d6d7 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityConfigMap.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityConfigMap.java
@@ -26,8 +26,8 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.brooklyn.management.ExecutionContext;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.ExecutionContext;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java b/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
index b80fdaa..97f6618 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
@@ -28,7 +28,7 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.trait.Identifiable;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.location.Location;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 60c0bc6..8fe53d2 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
@@ -27,9 +27,9 @@ import org.apache.brooklyn.api.entity.basic.EntityLocal;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.entity.rebind.Rebindable;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.management.ExecutionContext;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.SubscriptionContext;
+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 brooklyn.basic.BrooklynObjectInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/basic/EntityTasks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityTasks.java b/core/src/main/java/brooklyn/entity/basic/EntityTasks.java
index d93c2ab..51dac64 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTasks.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTasks.java
@@ -20,7 +20,7 @@ package brooklyn.entity.basic;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 
 import brooklyn.event.basic.DependentConfiguration;
 import brooklyn.util.collections.CollectionFunctionals;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 8289a56..0325171 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
@@ -33,8 +33,8 @@ import org.apache.brooklyn.api.entity.EntityType;
 import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.entity.rebind.RebindSupport;
 import org.apache.brooklyn.api.event.AttributeSensor;
-import org.apache.brooklyn.management.ExecutionContext;
-import org.apache.brooklyn.management.ManagementContext;
+import org.apache.brooklyn.api.management.ExecutionContext;
+import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.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/2e2de8e4/core/src/main/java/brooklyn/entity/effector/EffectorBody.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/effector/EffectorBody.java b/core/src/main/java/brooklyn/entity/effector/EffectorBody.java
index c5e1a65..98c8153 100644
--- a/core/src/main/java/brooklyn/entity/effector/EffectorBody.java
+++ b/core/src/main/java/brooklyn/entity/effector/EffectorBody.java
@@ -18,9 +18,9 @@
  */
 package brooklyn.entity.effector;
 
-import org.apache.brooklyn.management.Task;
-import org.apache.brooklyn.management.TaskAdaptable;
-import org.apache.brooklyn.management.TaskFactory;
+import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.api.management.TaskAdaptable;
+import org.apache.brooklyn.api.management.TaskFactory;
 
 import brooklyn.entity.basic.BrooklynTaskTags;
 import brooklyn.entity.basic.EntityInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java b/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
index aa1110b..353d721 100644
--- a/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
+++ b/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
@@ -25,8 +25,8 @@ import java.util.concurrent.atomic.AtomicReference;
 import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.ParameterType;
-import org.apache.brooklyn.management.Task;
-import org.apache.brooklyn.management.TaskAdaptable;
+import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.api.management.TaskAdaptable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/effector/Effectors.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/effector/Effectors.java b/core/src/main/java/brooklyn/entity/effector/Effectors.java
index bfa4d30..ff595e7 100644
--- a/core/src/main/java/brooklyn/entity/effector/Effectors.java
+++ b/core/src/main/java/brooklyn/entity/effector/Effectors.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.ParameterType;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.management.TaskAdaptable;
+import org.apache.brooklyn.api.management.TaskAdaptable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/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 f9d0f1a..287abc8 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
@@ -34,7 +34,7 @@ import javax.annotation.Nullable;
 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.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.apache.brooklyn.policy.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java b/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
index 2f63dd9..d6b0884 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
@@ -30,7 +30,7 @@ import java.util.concurrent.ExecutionException;
 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.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java b/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
index aac843f..a165f62 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
@@ -22,7 +22,7 @@ import java.util.Arrays;
 import java.util.Collection;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/group/QuarantineGroupImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/QuarantineGroupImpl.java b/core/src/main/java/brooklyn/entity/group/QuarantineGroupImpl.java
index 71b4b16..9f8c14e 100644
--- a/core/src/main/java/brooklyn/entity/group/QuarantineGroupImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/QuarantineGroupImpl.java
@@ -22,7 +22,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.management.Task;
+import org.apache.brooklyn.api.management.Task;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2e2de8e4/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java b/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
index 88f89aa..1eccb92 100644
--- a/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
+++ b/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
@@ -31,8 +31,8 @@ import java.util.WeakHashMap;
 import org.apache.brooklyn.api.entity.Effector;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.management.ManagementContext;
-import org.apache.brooklyn.management.TaskAdaptable;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.api.management.TaskAdaptable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;