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

[4/7] brooklyn-server git commit: Deletes old deprecated code

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/feed/AttributePollHandler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/feed/AttributePollHandler.java b/core/src/main/java/org/apache/brooklyn/core/feed/AttributePollHandler.java
index fca844b..903b6e0 100644
--- a/core/src/main/java/org/apache/brooklyn/core/feed/AttributePollHandler.java
+++ b/core/src/main/java/org/apache/brooklyn/core/feed/AttributePollHandler.java
@@ -218,7 +218,7 @@ public class AttributePollHandler<V> implements PollHandler<V> {
         if (v == FeedConfig.UNCHANGED) {
             // nothing
         } else if (v == FeedConfig.REMOVE) {
-            ((EntityInternal)entity).removeAttribute(sensor);
+            ((EntityInternal)entity).sensors().remove(sensor);
             feed.onRemoveSensor(sensor);
         } else if (sensor == FeedConfig.NO_SENSOR) {
             // nothing

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/feed/FeedConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/feed/FeedConfig.java b/core/src/main/java/org/apache/brooklyn/core/feed/FeedConfig.java
index 7c5bebb..91f6f7c 100644
--- a/core/src/main/java/org/apache/brooklyn/core/feed/FeedConfig.java
+++ b/core/src/main/java/org/apache/brooklyn/core/feed/FeedConfig.java
@@ -41,10 +41,6 @@ import com.google.common.base.Predicate;
  */
 public class FeedConfig<V, T, F extends FeedConfig<V, T, F>> {
 
-    /** The onSuccess or onError functions can return this value to indicate that the sensor should not change. 
-     * @deprecated since 0.7.0 use UNCHANGED */
-    @Deprecated
-    public static final Object UNSET = Entities.UNCHANGED;
     /** The onSuccess or onError functions can return this value to indicate that the sensor should not change. */ 
     public static final Object UNCHANGED = Entities.UNCHANGED;
     /** The onSuccess or onError functions can return this value to indicate that the sensor value should be removed

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynInitialization.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynInitialization.java b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynInitialization.java
index bcbde05..1671412 100644
--- a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynInitialization.java
+++ b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynInitialization.java
@@ -50,11 +50,6 @@ public class BrooklynInitialization {
         PortRanges.init();
     }
 
-    @SuppressWarnings("deprecation")
-    public static void initLegacyLanguageExtensions() {
-        org.apache.brooklyn.util.core.BrooklynLanguageExtensions.init();
-    }
-
     /* other things:
      * 
      * RendererHints - done by the entity classes which need them, including Sensors
@@ -67,15 +62,11 @@ public class BrooklynInitialization {
             initSecureKeysBouncyCastleProvider();
             initNetworking();
             initPortRanges();
-            initLegacyLanguageExtensions();
         }
     }
 
-    @SuppressWarnings("deprecation")
     public synchronized static void reinitAll() {
         done.set(false);
-        org.apache.brooklyn.util.core.BrooklynLanguageExtensions.reinit();
         initAll();
     }
-
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
index 31f0b0b..2c8d282 100644
--- a/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/internal/BrooklynPropertiesImpl.java
@@ -93,12 +93,6 @@ public class BrooklynPropertiesImpl implements BrooklynProperties {
             private String localPropertiesFile = null;
             private BrooklynPropertiesImpl originalProperties = null;
 
-            /** @deprecated since 0.7.0 use static methods in {@link Factory} to create */
-            @Deprecated
-            public Builder() {
-                this(true);
-            }
-
             private Builder(boolean setGlobalFileDefaults) {
                 resetDefaultLocationMetadataUrl();
                 if (setGlobalFileDefaults) {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
index 32b01fa..624f854 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
@@ -92,9 +92,7 @@ import com.google.common.reflect.TypeToken;
  */
 public abstract class AbstractLocation extends AbstractBrooklynObject implements LocationInternal, HasHostGeoInfo, Configurable {
     
-    /** @deprecated since 0.7.0 shouldn't be public */
-    @Deprecated
-    public static final Logger LOG = LoggerFactory.getLogger(AbstractLocation.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractLocation.class);
 
     public static final ConfigKey<Location> PARENT_LOCATION = new BasicConfigKey<Location>(Location.class, "parentLocation");
 
@@ -465,60 +463,6 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
     }
 
     @Override
-    @Deprecated
-    public boolean hasConfig(ConfigKey<?> key, boolean includeInherited) {
-        return config().getInternalConfigMap().getConfigInheritedRaw(key).getWithoutError().asMaybe().isPresent();
-    }
-
-    @Override
-    @Deprecated
-    public Map<String,Object> getAllConfig(boolean includeInherited) {
-        // TODO Have no information about what to include/exclude inheritance wise.
-        // however few things use getAllConfigBag()
-        ConfigBag bag = (includeInherited ? config().getBag() : config().getLocalBag());
-        return bag.getAllConfig();
-    }
-    
-    @Override
-    @Deprecated
-    public ConfigBag getAllConfigBag() {
-        // TODO see comments in EntityConfigMap and on interface methods. 
-        // here ConfigBag is used exclusively so
-        // we have no information about what to include/exclude inheritance wise.
-        // however few things use getAllConfigBag()
-        return config().getBag();
-    }
-    
-    @Override
-    public ConfigBag getLocalConfigBag() {
-        return config().getLocalBag();
-    }
-
-    /** 
-     * @deprecated since 0.7; use {@link #getLocalConfigBag()}
-     * @since 0.6
-     */
-    @Deprecated
-    public ConfigBag getRawLocalConfigBag() {
-        return config().getLocalBag();
-    }
-    
-    @Override
-    @Deprecated
-    public <T> T setConfig(ConfigKey<T> key, T value) {
-        return config().set(key, value);
-    }
-
-    /**
-     * @since 0.6.0 (?) - use getDisplayName
-     * @deprecated since 0.7.0; use {@link #getDisplayName()}
-     */
-    @Deprecated
-    public void setName(String newName) {
-        setDisplayName(newName);
-    }
-
-    @Override
     public void setDisplayName(String newName) {
         name.set(newName);
         displayNameAutoGenerated = false;
@@ -675,8 +619,8 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
     public void setHostGeoInfo(HostGeoInfo hostGeoInfo) {
         if (hostGeoInfo!=null) { 
             this.hostGeoInfo.set(hostGeoInfo);
-            setConfig(LocationConfigKeys.LATITUDE, hostGeoInfo.latitude); 
-            setConfig(LocationConfigKeys.LONGITUDE, hostGeoInfo.longitude); 
+            config().set(LocationConfigKeys.LATITUDE, hostGeoInfo.latitude); 
+            config().set(LocationConfigKeys.LONGITUDE, hostGeoInfo.longitude); 
         } 
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/LocationPredicates.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/LocationPredicates.java b/core/src/main/java/org/apache/brooklyn/core/location/LocationPredicates.java
index 35cf54f..69ee40a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/LocationPredicates.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/LocationPredicates.java
@@ -75,7 +75,7 @@ public class LocationPredicates {
         return new Predicate<Location>() {
             @Override
             public boolean apply(@Nullable Location input) {
-                return (input != null) && Objects.equal(input.getConfig(configKey), val);
+                return (input != null) && Objects.equal(input.config().get(configKey), val);
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/Machines.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/Machines.java b/core/src/main/java/org/apache/brooklyn/core/location/Machines.java
index 2a2ccba..2bb39dc 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/Machines.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/Machines.java
@@ -109,15 +109,6 @@ public class Machines {
         return Maybe.of(result);
     }
 
-    /**
-     * @deprecated since 0.9.0; see {@link #findUniqueMachineLocation(Iterable, Class)}, 
-     *             e.g. {@code findUniqueMachineLocation(locations, SshMachineLocation.class)}
-     */
-    @Deprecated
-    public static Maybe<SshMachineLocation> findUniqueSshMachineLocation(Iterable<? extends Location> locations) {
-        return findUniqueMachineLocation(locations, SshMachineLocation.class);
-    }
-
     public static Maybe<MachineLocation> findUniqueMachineLocation(Iterable<? extends Location> locations) {
         return findUniqueMachineLocation(locations, MachineLocation.class);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManager.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManager.java
index f27836b..659b32e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManager.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManager.java
@@ -202,78 +202,6 @@ public interface PortForwardManager extends Location {
 
     
     ///////////////////////////////////////////////////////////////////////////////////
-    // Deprecated
-    ///////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Reserves a unique public port for the purpose of forwarding to the given target,
-     * associated with a given location for subsequent lookup purpose.
-     * <p>
-     * If already allocated, returns the previously allocated.
-     * 
-     * @deprecated since 0.7.0; use {@link #acquirePublicPort(String)}, and then use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Deprecated
-    public int acquirePublicPort(String publicIpId, Location l, int privatePort);
-
-    /** 
-     * Returns old mapping if it existed, null if it is new.
-     * 
-     * @deprecated since 0.7.0; use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Deprecated
-    public PortMapping acquirePublicPortExplicit(String publicIpId, int port);
-
-    /**
-     * Records a location and private port against a publicIp and public port,
-     * to support {@link #lookup(Location, int)}.
-     * <p>
-     * Superfluous if {@link #acquirePublicPort(String, Location, int)} was used,
-     * but strongly recommended if {@link #acquirePublicPortExplicit(String, int)} was used
-     * e.g. if the location is not known ahead of time.
-     * 
-     * @deprecated Use {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Deprecated
-    public void associate(String publicIpId, int publicPort, Location l, int privatePort);
-
-    /**
-     * Records a public hostname or address to be associated with the given publicIpId for lookup purposes.
-     * <p>
-     * Conceivably this may have to be access-location specific.
-     * 
-     * @deprecated Use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Deprecated
-    public void recordPublicIpHostname(String publicIpId, String hostnameOrPublicIpAddress);
-
-    /**
-     * Returns a recorded public hostname or address.
-     * 
-     * @deprecated Use {@link #lookup(String, int)} or {@link #lookup(Location, int)}
-     */
-    @Deprecated
-    public String getPublicIpHostname(String publicIpId);
-    
-    /**
-     * Clears a previous call to {@link #recordPublicIpHostname(String, String)}.
-     * 
-     * @deprecated Use {@link #forgetPortMapping(String, int)} or {@link #forgetPortMappings(Location)}
-     */
-    @Deprecated
-    public boolean forgetPublicIpHostname(String publicIpId);
-
-    /**
-     * Returns true if this implementation is a client which is immutable/safe for serialization
-     * i.e. it delegates to something on an entity or location elsewhere.
-     * 
-     * @deprecated since 0.7.0; no need to separate client-proxy from impl
-     */
-    @Deprecated
-    public boolean isClient();
-    
-
-    ///////////////////////////////////////////////////////////////////////////////////
     // Deprecated; just internal
     ///////////////////////////////////////////////////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
index 92091fc..61eae2f 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
@@ -20,7 +20,6 @@ package org.apache.brooklyn.core.location.access;
 
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.location.Location;
@@ -163,93 +162,7 @@ public class PortForwardManagerClient implements PortForwardManager {
         return getClass().getName()+"[wrapping="+getDelegate().toVerboseString()+"]";
     }
 
-    ///////////////////////////////////////////////////////////////////////////////////
-    // Deprecated
-    ///////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Reserves a unique public port for the purpose of forwarding to the given target,
-     * associated with a given location for subsequent lookup purpose.
-     * <p>
-     * If already allocated, returns the previously allocated.
-     * 
-     * @deprecated since 0.7.0; use {@link #acquirePublicPort(String)}, and then use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Override
-    @Deprecated
-    public int acquirePublicPort(String publicIpId, Location l, int privatePort) {
-        return getDelegate().acquirePublicPort(publicIpId, l, privatePort);
-    }
-
-    /** 
-     * Returns old mapping if it existed, null if it is new.
-     * 
-     * @deprecated since 0.7.0; use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Override
-    @Deprecated
-    public PortMapping acquirePublicPortExplicit(String publicIpId, int publicPort) {
-        return getDelegate().acquirePublicPortExplicit(publicIpId, publicPort);
-    }
-
-    /**
-     * Records a location and private port against a publicIp and public port,
-     * to support {@link #lookup(Location, int)}.
-     * <p>
-     * Superfluous if {@link #acquirePublicPort(String, Location, int)} was used,
-     * but strongly recommended if {@link #acquirePublicPortExplicit(String, int)} was used
-     * e.g. if the location is not known ahead of time.
-     * 
-     * @deprecated Use {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Override
-    @Deprecated
-    public void associate(String publicIpId, int publicPort, Location l, int privatePort) {
-        getDelegate().associate(publicIpId, publicPort, l, privatePort);
-    }
-
-    /**
-     * Records a public hostname or address to be associated with the given publicIpId for lookup purposes.
-     * <p>
-     * Conceivably this may have to be access-location specific.
-     * 
-     * @deprecated Use {@link #associate(String, HostAndPort, int)} or {@link #associate(String, HostAndPort, Location, int)}
-     */
-    @Override
-    @Deprecated
-    public void recordPublicIpHostname(String publicIpId, String hostnameOrPublicIpAddress) {
-        getDelegate().recordPublicIpHostname(publicIpId, hostnameOrPublicIpAddress);
-    }
-
-    /**
-     * Returns a recorded public hostname or address.
-     * 
-     * @deprecated Use {@link #lookup(String, int)} or {@link #lookup(Location, int)}
-     */
-    @Override
-    @Deprecated
-    public String getPublicIpHostname(String publicIpId) {
-        return getDelegate().getPublicIpHostname(publicIpId);
-    }
     
-    /**
-     * Clears a previous call to {@link #recordPublicIpHostname(String, String)}.
-     * 
-     * @deprecated Use {@link #forgetPortMapping(String, int)} or {@link #forgetPortMapping(Location, int)}
-     */
-    @Override
-    @Deprecated
-    public boolean forgetPublicIpHostname(String publicIpId) {
-        return getDelegate().forgetPublicIpHostname(publicIpId);
-    }
-
-    @Override
-    @Deprecated
-    public boolean isClient() {
-        return true;
-    }
-
-
     ///////////////////////////////////////////////////////////////////////////////////
     // Deprecated; just internal
     ///////////////////////////////////////////////////////////////////////////////////
@@ -353,23 +266,13 @@ public class PortForwardManagerClient implements PortForwardManager {
     }
 
     @Override
-    public <T> T getConfig(ConfigKey<T> key) {
-        return getDelegate().getConfig(key);
-    }
-
-    @Override
     public <T> T getConfig(HasConfigKey<T> key) {
         return getDelegate().getConfig(key);
     }
 
     @Override
-    public boolean hasConfig(ConfigKey<?> key, boolean includeInherited) {
-        return getDelegate().hasConfig(key, includeInherited);
-    }
-
-    @Override
-    public Map<String, Object> getAllConfig(boolean includeInherited) {
-        return getDelegate().getAllConfig(includeInherited);
+    public <T> T getConfig(ConfigKey<T> key) {
+        return getDelegate().getConfig(key);
     }
 
     @Override
@@ -403,11 +306,6 @@ public class PortForwardManagerClient implements PortForwardManager {
     }
     
     @Override
-    public <T> T setConfig(ConfigKey<T> key, T val) {
-        return getDelegate().config().set(key, val);
-    }
-
-    @Override
     public ConfigurationSupport config() {
         return getDelegate().config();
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
index c3b9858..f2c73ee 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerImpl.java
@@ -102,7 +102,7 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
     public void init() {
         super.init();
         Integer portStartingPoint;
-        Object rawPort = getAllConfigBag().getStringKey(PORT_FORWARD_MANAGER_STARTING_PORT.getName());
+        Object rawPort = config().getBag().getStringKey(PORT_FORWARD_MANAGER_STARTING_PORT.getName());
         if (rawPort != null) {
             portStartingPoint = getConfig(PORT_FORWARD_MANAGER_STARTING_PORT);
         } else {
@@ -314,11 +314,6 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
     }
 
     @Override
-    public boolean isClient() {
-        return false;
-    }
-
-    @Override
     public void addAssociationListener(AssociationListener listener, Predicate<? super AssociationMetadata> filter) {
         associationListeners.put(listener, filter);
     }
@@ -359,28 +354,28 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
     // Deprecated
     ///////////////////////////////////////////////////////////////////////////////////
 
+    
     @Override
     @Deprecated
-    public PortMapping acquirePublicPortExplicit(String publicIpId, int port) {
-        PortMapping mapping = new PortMapping(publicIpId, port, null, -1);
-        log.debug("assigning explicit public port "+port+" at "+publicIpId);
-        PortMapping result;
+    public boolean forgetPortMapping(PortMapping m) {
+        return forgetPortMapping(m.publicIpId, m.publicPort);
+    }
+
+    protected void associateImpl(String publicIpId, int publicPort, Location l, int privatePort) {
         synchronized (mutex) {
-            result = mappings.put(makeKey(publicIpId, port), mapping);
+            PortMapping mapping = new PortMapping(publicIpId, publicPort, l, privatePort);
+            PortMapping oldMapping = getPortMappingWithPublicSide(publicIpId, publicPort);
+            log.debug("associating public port "+publicPort+" on "+publicIpId+" with private port "+privatePort+" at "+l+" ("+mapping+")"
+                    +(oldMapping == null ? "" : " (overwriting "+oldMapping+" )"));
+            mappings.put(makeKey(publicIpId, publicPort), mapping);
         }
-        onChanged();
-        return result;
     }
 
-    @Override
-    @Deprecated
-    public boolean forgetPortMapping(PortMapping m) {
-        return forgetPortMapping(m.publicIpId, m.publicPort);
-    }
+    ///////////////////////////////////////////////////////////////////////////////////
+    // Internal only; make protected when deprecated interface method removed
+    ///////////////////////////////////////////////////////////////////////////////////
 
-    @Override
-    @Deprecated
-    public void recordPublicIpHostname(String publicIpId, String hostnameOrPublicIpAddress) {
+    protected void recordPublicIpHostname(String publicIpId, String hostnameOrPublicIpAddress) {
         log.debug("recording public IP "+publicIpId+" associated with "+hostnameOrPublicIpAddress);
         synchronized (mutex) {
             String old = publicIpIdToHostname.put(publicIpId, hostnameOrPublicIpAddress);
@@ -390,70 +385,13 @@ public class PortForwardManagerImpl extends AbstractLocation implements PortForw
         onChanged();
     }
 
-    @Override
-    @Deprecated
-    public String getPublicIpHostname(String publicIpId) {
+    protected String getPublicIpHostname(String publicIpId) {
         synchronized (mutex) {
             return publicIpIdToHostname.get(publicIpId);
         }
     }
     
     @Override
-    @Deprecated
-    public boolean forgetPublicIpHostname(String publicIpId) {
-        log.debug("forgetting public IP "+publicIpId+" association");
-        boolean result;
-        synchronized (mutex) {
-            result = (publicIpIdToHostname.remove(publicIpId) != null);
-        }
-        onChanged();
-        return result;
-    }
-
-    @Override
-    @Deprecated
-    public int acquirePublicPort(String publicIpId, Location l, int privatePort) {
-        int publicPort;
-        synchronized (mutex) {
-            PortMapping old = getPortMappingWithPrivateSide(l, privatePort);
-            // only works for 1 public IP ID per location (which is the norm)
-            if (old!=null && old.publicIpId.equals(publicIpId)) {
-                log.debug("request to acquire public port at "+publicIpId+" for "+l+":"+privatePort+", reusing old assignment "+old);
-                return old.getPublicPort();
-            }
-            
-            publicPort = acquirePublicPort(publicIpId);
-            log.debug("request to acquire public port at "+publicIpId+" for "+l+":"+privatePort+", allocating "+publicPort);
-            associateImpl(publicIpId, publicPort, l, privatePort);
-        }
-        onChanged();
-        return publicPort;
-    }
-
-    @Override
-    @Deprecated
-    public void associate(String publicIpId, int publicPort, Location l, int privatePort) {
-        synchronized (mutex) {
-            associateImpl(publicIpId, publicPort, l, privatePort);
-        }
-        onChanged();
-    }
-
-    protected void associateImpl(String publicIpId, int publicPort, Location l, int privatePort) {
-        synchronized (mutex) {
-            PortMapping mapping = new PortMapping(publicIpId, publicPort, l, privatePort);
-            PortMapping oldMapping = getPortMappingWithPublicSide(publicIpId, publicPort);
-            log.debug("associating public port "+publicPort+" on "+publicIpId+" with private port "+privatePort+" at "+l+" ("+mapping+")"
-                    +(oldMapping == null ? "" : " (overwriting "+oldMapping+" )"));
-            mappings.put(makeKey(publicIpId, publicPort), mapping);
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////
-    // Internal only; make protected when deprecated interface method removed
-    ///////////////////////////////////////////////////////////////////////////////////
-
-    @Override
     public HostAndPort getPublicHostAndPort(PortMapping m) {
         if (m.publicEndpoint == null) {
             String hostname = getPublicIpHostname(m.publicIpId);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/geo/UtraceHostGeoLookup.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/geo/UtraceHostGeoLookup.java b/core/src/main/java/org/apache/brooklyn/core/location/geo/UtraceHostGeoLookup.java
index 16ffa18..62fd437 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/geo/UtraceHostGeoLookup.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/geo/UtraceHostGeoLookup.java
@@ -83,22 +83,6 @@ Beyond this you get blacklisted and requests may time out, or return none.
         return "http://xml.utrace.de/?query="+ip.trim();
     }
 
-    /**
-     * @deprecated since 0.7.0. Use {@link LocalhostExternalIpLoader} instead.
-     */
-    @Deprecated
-    public static String getLocalhostExternalIp() {
-        return LocalhostExternalIpLoader.getLocalhostIpWithin(Duration.seconds(2));
-    }
-    
-    /**
-     * @deprecated since 0.7.0. Use {@link LocalhostExternalIpLoader} instead.
-     */
-    @Deprecated
-    public static String getLocalhostExternalIpImpl() {
-        return LocalhostExternalIpLoader.getLocalhostIpWithin(Duration.seconds(2));
-    }
-    
     public String getLookupUrlForLocalhost() {
         return getLookupUrlForPublicIp(LocalhostExternalIpLoader.getLocalhostIpQuicklyOrDefault());
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/location/internal/LocationInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/internal/LocationInternal.java b/core/src/main/java/org/apache/brooklyn/core/location/internal/LocationInternal.java
index 9ed1767..a9a3611 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/internal/LocationInternal.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/internal/LocationInternal.java
@@ -24,7 +24,6 @@ import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.rebind.RebindSupport;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.LocationMemento;
-import org.apache.brooklyn.config.ConfigInheritance;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.objs.BrooklynObjectInternal;
@@ -63,22 +62,6 @@ public interface LocationInternal extends BrooklynObjectInternal, Location {
     public Map<String, String> toMetadataRecord();
 
     /**
-     * @deprecated since 0.7.0; use {@link #config()}, such as {@code ((LocationInternal)location).config().getLocalBag()}
-     */
-    @Deprecated
-    ConfigBag getLocalConfigBag();
-
-    /**
-     * Returns all config, including that inherited from parents.
-     * 
-     * This method does not respect {@link ConfigInheritance} and so usage is discouraged.
-     * 
-     * @deprecated since 0.7.0; use {@link #config()}, such as {@code ((LocationInternal)location).config().getBag()}
-     */
-    @Deprecated
-    ConfigBag getAllConfigBag();
-
-    /**
      * 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.

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java
index de9964c..218a24a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java
@@ -20,20 +20,16 @@ package org.apache.brooklyn.core.mgmt;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.concurrent.Callable;
 
 import javax.annotation.Nullable;
 
-import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.Task;
 import org.apache.brooklyn.config.ConfigKey;
-import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog;
 import org.apache.brooklyn.core.config.BasicConfigInheritance;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.effector.Effectors;
@@ -57,7 +53,6 @@ import com.google.common.base.Optional;
 import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.Runnables;
@@ -109,18 +104,6 @@ public class EntityManagementUtils {
         return mgmt.getTypeRegistry().createSpecFromPlan(null, plan, RegisteredTypeLoadingContexts.spec(Application.class), EntitySpec.class);
     }
 
-    @Deprecated /** @deprecated since 0.9.0; use {@link BrooklynTypeRegistry#createSpec(RegisteredType, org.apache.brooklyn.api.typereg.RegisteredTypeConstraint, Class)} */
-    // not used in Brooklyn
-    public static <T,SpecT extends AbstractBrooklynObjectSpec<? extends T, SpecT>> SpecT createCatalogSpec(ManagementContext mgmt, CatalogItem<T, SpecT> item) {
-        return createCatalogSpec(mgmt, item, ImmutableSet.<String>of());
-    }
-
-    @Deprecated /** @deprecated since 0.9.0; use {@link BrooklynTypeRegistry#createSpec(RegisteredType, org.apache.brooklyn.api.typereg.RegisteredTypeConstraint, Class)} */
-    // not used in Brooklyn
-    public static <T,SpecT extends AbstractBrooklynObjectSpec<? extends T, SpecT>> SpecT createCatalogSpec(ManagementContext mgmt, final CatalogItem<T, SpecT> item, final Set<String> encounteredTypes) {
-        return BasicBrooklynCatalog.internalCreateSpecLegacy(mgmt, item, encounteredTypes, true);
-    }
-
     /** container for operation which creates something and which wants to return both
      * the items created and any pending create/start task */
     public static class CreationResult<T,U> {
@@ -307,10 +290,6 @@ public class EntityManagementUtils {
         EntitySpec<?> childSpec = Iterables.getOnlyElement(wrapperApplication.getChildren());
         return (childSpec.getType()!=null && Application.class.isAssignableFrom(childSpec.getType()));
     }
-    /** @deprecated since 0.9.0 use {@link #canUnwrapApplication(EntitySpec)} */ @Deprecated
-    public static boolean canPromoteWrappedApplication(EntitySpec<? extends Application> app) {
-        return canUnwrapApplication(app);
-    }
     
     /** Returns true if the spec is for a wrapper app with no important settings, wrapping a single child entity. 
      * for use when adding from a plan specifying multiple entities but there is nothing significant at the application level,
@@ -325,10 +304,8 @@ public class EntityManagementUtils {
         return isWrapperApp(spec) && hasSingleChild(spec) &&
             // these "brooklyn.*" items on the app rather than the child absolutely prevent unwrapping
             // as their semantics could well be different whether they are on the parent or the child
-            spec.getEnrichers().isEmpty() &&
             spec.getEnricherSpecs().isEmpty() &&
             spec.getInitializers().isEmpty() &&
-            spec.getPolicies().isEmpty() &&
             spec.getPolicySpecs().isEmpty() &&
             // prevent merge only if a location is defined at both levels
             ((spec.getLocations().isEmpty() && spec.getLocationSpecs().isEmpty()) || 
@@ -336,10 +313,6 @@ public class EntityManagementUtils {
             // parameters are collapsed on merge so don't need to be considered here
             ;
     }
-    /** @deprecated since 0.9.0 use {@link #canUnwrapEntity(EntitySpec)} */ @Deprecated
-    public static boolean canPromoteChildrenInWrappedApplication(EntitySpec<? extends Application> spec) {
-        return canUnwrapEntity(spec);
-    }
 
     public static boolean isWrapperApp(EntitySpec<?> spec) {
         return Boolean.TRUE.equals(spec.getConfig().get(EntityManagementUtils.WRAPPER_APP_MARKER));

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/JavaBrooklynClassLoadingContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/JavaBrooklynClassLoadingContext.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/JavaBrooklynClassLoadingContext.java
index e4cb55a..17c1573 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/JavaBrooklynClassLoadingContext.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/JavaBrooklynClassLoadingContext.java
@@ -62,11 +62,6 @@ public class JavaBrooklynClassLoadingContext extends AbstractBrooklynClassLoadin
         return new JavaBrooklynClassLoadingContext(checkNotNull(mgmt, "mgmt"), null);
     }
 
-    @Deprecated /** @deprecated since 0.7.0 use {@link #create(ManagementContext)} */
-    public static JavaBrooklynClassLoadingContext newDefault(ManagementContext mgmt) {
-        return new JavaBrooklynClassLoadingContext(checkNotNull(mgmt, "mgmt"), null);
-    }
-
     @Deprecated /** @deprecated since 0.7.0 will become private; use one of the static methods to instantiate */
     public JavaBrooklynClassLoadingContext(ManagementContext mgmt, ClassLoader loader) {
         super(mgmt);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/mgmt/entitlement/Entitlements.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/entitlement/Entitlements.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/entitlement/Entitlements.java
index f7b5f72..67f7080 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/entitlement/Entitlements.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/entitlement/Entitlements.java
@@ -416,15 +416,6 @@ public class Entitlements {
             throw new NotEntitledException(getEntitlementContext(), permission, typeArgument);
         }
     }
-    /** throws {@link NotEntitledException} if entitlement not available for current {@link #getEntitlementContext()} 
-     * @since 0.7.0
-     * @deprecated since 0.7.0, use {@link #checkEntitled(EntitlementManager, EntitlementClass, Object)};
-     * kept briefly because there is some downstream usage*/
-    // Note: @Deprecated annotation only added from v0.10.0.
-    @Deprecated
-    public static <T> void requireEntitled(EntitlementManager checker, EntitlementClass<T> permission, T typeArgument) {
-        checkEntitled(checker, permission, typeArgument);
-    }
     
     // ----------------- initialization ----------------
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
index 0148275..ab8dca9 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
@@ -877,15 +877,6 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
         }
     }
 
-    /** @deprecated since 0.7.0, use {@link #demoteTo(ManagementNodeState)} */ @Deprecated
-    protected void demoteToFailed() {
-        demoteTo(ManagementNodeState.FAILED);
-    }
-    /** @deprecated since 0.7.0, use {@link #demoteTo(ManagementNodeState)} */ @Deprecated
-    protected void demoteToStandby(boolean hot) {
-        demoteTo(hot ? ManagementNodeState.HOT_STANDBY : ManagementNodeState.STANDBY);
-    }
-    
     protected void demoteTo(ManagementNodeState toState) {
         if (toState!=ManagementNodeState.FAILED && !running) {
             LOG.warn("Ignoring demote-from-master request, as HighAvailabilityManager is no longer running");
@@ -960,11 +951,6 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
         ((BasicBrooklynCatalog)managementContext.getCatalog()).reset(CatalogDto.newEmptyInstance("<reset-by-ha-status-change>"));
     }
     
-    /** @deprecated since 0.7.0, use {@link #activateHotProxy(ManagementNodeState)} */ @Deprecated
-    protected boolean attemptHotStandby() {
-        return activateHotProxy(ManagementNodeState.HOT_STANDBY).getWithoutError();
-    }
-    
     /** Starts hot standby or hot backup, in foreground
      * <p>
      * In the case of the former, the caller is responsible for publishing health afterwards,

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiArchiveInstaller.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiArchiveInstaller.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiArchiveInstaller.java
index 583e7cd..f4c2a10 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiArchiveInstaller.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiArchiveInstaller.java
@@ -240,9 +240,9 @@ class OsgiArchiveInstaller {
         }
         
         zipFile = Os.newTempFile("brooklyn-bundle-transient-"+suppliedKnownBundleMetadata, "zip");
-        try (FileOutputStream fos = new FileOutputStream(zipFile)) {
-            Streams.copy(zipIn, fos);
-            zipIn.close();
+        try {
+            FileOutputStream fos = new FileOutputStream(zipFile);
+            Streams.copyClose(zipIn, fos);
             try (ZipFile zf = new ZipFile(zipFile)) {
                 // validate it is a valid ZIP, otherwise errors are more obscure later.
                 // can happen esp if user supplies a file://path/to/folder/ as the URL.openStream returns a list of that folder (!) 
@@ -252,6 +252,7 @@ class OsgiArchiveInstaller {
         } catch (Exception e) {
             throw Exceptions.propagate(e);
         } finally {
+            Streams.closeQuietly(zipIn);
             zipIn = null;
         }
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/objs/AbstractEntityAdjunct.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/AbstractEntityAdjunct.java b/core/src/main/java/org/apache/brooklyn/core/objs/AbstractEntityAdjunct.java
index 85b1451..8838eab 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/AbstractEntityAdjunct.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/AbstractEntityAdjunct.java
@@ -18,7 +18,6 @@
  */
 package org.apache.brooklyn.core.objs;
 
-import static com.google.common.base.Preconditions.checkState;
 import static org.apache.brooklyn.util.JavaGroovyEquivalents.groovyTruth;
 
 import java.util.Collection;
@@ -43,15 +42,12 @@ import org.apache.brooklyn.api.objs.BrooklynObject;
 import org.apache.brooklyn.api.objs.Configurable;
 import org.apache.brooklyn.api.objs.EntityAdjunct;
 import org.apache.brooklyn.api.objs.HighlightTuple;
-import org.apache.brooklyn.api.sensor.AttributeSensor;
 import org.apache.brooklyn.api.sensor.Sensor;
 import org.apache.brooklyn.api.sensor.SensorEventListener;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigConstraints;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl;
-import org.apache.brooklyn.core.enricher.AbstractEnricher;
-import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.entity.EntityInternal;
 import org.apache.brooklyn.core.entity.internal.ConfigUtilsInternal;
 import org.apache.brooklyn.core.mgmt.internal.SubscriptionTracker;
@@ -100,11 +96,7 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
      */
     private final AdjunctConfigMap configsInternal = new AdjunctConfigMap(this);
 
-    /**
-     * @deprecated since 0.7.0; use {@link #getAdjunctType()} instead; this field may be made private or deleted in a future release.
-     */
-    @Deprecated
-    protected final AdjunctType adjunctType = new AdjunctType(this);
+    private final AdjunctType adjunctType = new AdjunctType(this);
 
     @SetFromFlag
     protected String name;
@@ -375,12 +367,6 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
         return result;
     }
 
-    @Override
-    @Deprecated
-    public <T> T setConfig(ConfigKey<T> key, T val) {
-        return config().set(key, val);
-    }
-
     /**
      * Invoked whenever a config change is applied after management is started.
      * Default implementation throws an exception to disallow the change. 
@@ -435,113 +421,13 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
         return entity;
     }
     
-    /** @deprecated since 0.7.0 only {@link AbstractEnricher} has emit convenience */
-    @Deprecated
-    protected <T> void emit(Sensor<T> sensor, Object val) {
-        checkState(entity != null, "entity must first be set");
-        if (val == Entities.UNCHANGED) {
-            return;
-        }
-        if (val == Entities.REMOVE) {
-            ((EntityInternal)entity).removeAttribute((AttributeSensor<T>) sensor);
-            return;
-        }
-        
-        T newVal = TypeCoercions.coerce(val, sensor.getTypeToken());
-        if (sensor instanceof AttributeSensor) {
-            entity.sensors().set((AttributeSensor<T>)sensor, newVal);
-        } else { 
-            entity.sensors().emit(sensor, newVal);
-        }
-    }
-
-    /**
-     * @deprecated since 0.9.0; for internal use only
-     */
-    @Deprecated
-    protected synchronized SubscriptionTracker getSubscriptionTracker() {
+    private synchronized SubscriptionTracker getSubscriptionTracker() {
         if (_subscriptionTracker!=null) return _subscriptionTracker;
         if (entity==null) return null;
         _subscriptionTracker = new SubscriptionTracker(((EntityInternal)entity).subscriptions().getSubscriptionContext());
         return _subscriptionTracker;
     }
-    
-    /**
-     * @deprecated since 0.9.0; see {@link SubscriptionSupport#subscribe(Entity, Sensor, SensorEventListener)} and {@link BrooklynObject#subscriptions()}
-     */
-    @Deprecated
-    public <T> SubscriptionHandle subscribe(Entity producer, Sensor<T> sensor, SensorEventListener<? super T> listener) {
-        if (!checkCanSubscribe()) return null;
-        return getSubscriptionTracker().subscribe(producer, sensor, listener);
-    }
-
-    /**
-     * @deprecated since 0.9.0; see {@link SubscriptionSupport#subscribeToMembers(Entity, Sensor, SensorEventListener)} and {@link BrooklynObject#subscriptions()}
-     */
-    @Deprecated
-    public <T> SubscriptionHandle subscribeToMembers(Group producerGroup, Sensor<T> sensor, SensorEventListener<? super T> listener) {
-        if (!checkCanSubscribe(producerGroup)) return null;
-        return getSubscriptionTracker().subscribeToMembers(producerGroup, sensor, listener);
-    }
-
-    /**
-     * @deprecated since 0.9.0; see {@link SubscriptionSupport#subscribeToChildren(Entity, Sensor, SensorEventListener)} and {@link BrooklynObject#subscriptions()}
-     */
-    @Deprecated
-    public <T> SubscriptionHandle subscribeToChildren(Entity producerParent, Sensor<T> sensor, SensorEventListener<? super T> listener) {
-        if (!checkCanSubscribe(producerParent)) return null;
-        return getSubscriptionTracker().subscribeToChildren(producerParent, sensor, listener);
-    }
 
-    /**
-     * @deprecated since 0.7.0 use {@link BasicSubscriptionSupport#checkCanSubscribe(Entity)
-     */
-    @Deprecated
-    protected boolean check(Entity requiredEntity) {
-        return checkCanSubscribe(requiredEntity);
-    }
-    
-    /**
-     * @deprecated since 0.9.0; for internal use only
-     */
-    @Deprecated
-    protected boolean checkCanSubscribe(Entity producer) {
-        return subscriptions().checkCanSubscribe(producer);
-    }
-    
-    /**
-     * @deprecated since 0.9.0; for internal use only
-     */
-    @Deprecated
-    protected boolean checkCanSubscribe() {
-        return subscriptions().checkCanSubscribe();
-    }
-        
-    /**
-     * @deprecated since 0.9.0; see {@link SubscriptionSupport#unsubscribe(Entity)} and {@link BrooklynObject#subscriptions()}
-     */
-    @Deprecated
-    public boolean unsubscribe(Entity producer) {
-        return subscriptions().unsubscribe(producer);
-    }
-
-    /**
-     * @deprecated since 0.9.0; see {@link SubscriptionSupport#unsubscribe(Entity, SubscriptionHandle)} and {@link BrooklynObject#subscriptions()}
-     */
-    @Deprecated
-    public boolean unsubscribe(Entity producer, SubscriptionHandle handle) {
-        return subscriptions().unsubscribe(producer, handle);
-    }
-
-    /**
-     * @deprecated since 0.9.0; for internal use only
-     */
-    @Deprecated
-    protected Collection<SubscriptionHandle> getAllSubscriptions() {
-        SubscriptionTracker tracker = getSubscriptionTracker();
-        return (tracker != null) ? tracker.getAllSubscriptions() : Collections.<SubscriptionHandle>emptyList();
-    }
-    
     /** 
      * Unsubscribes and clears all managed subscriptions; is called by the owning entity when a policy is removed
      * and should always be called by any subclasses overriding this method

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java b/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java
index 06662c3..3c28fc0 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java
@@ -79,12 +79,6 @@ public class BasicConfigurableObject implements Configurable, Identifiable, Mana
     }
 
     @Override
-    @Deprecated
-    public <T> T setConfig(ConfigKey<T> key, T value) {
-        return config().set(key, value);
-    }
-
-    @Override
     public <T> T getConfig(ConfigKey<T> key) {
         return config().get(key);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalEntityFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalEntityFactory.java b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalEntityFactory.java
index bd6cc1d..2f61c83 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalEntityFactory.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalEntityFactory.java
@@ -35,9 +35,7 @@ import org.apache.brooklyn.api.entity.Group;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.objs.SpecParameter;
-import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.api.policy.PolicySpec;
-import org.apache.brooklyn.api.sensor.Enricher;
 import org.apache.brooklyn.api.sensor.EnricherSpec;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigConstraints;
@@ -332,18 +330,10 @@ public class InternalEntityFactory extends InternalFactory {
                     initializer.apply((EntityInternal)entity);
                 }
 
-                for (Enricher enricher : spec.getEnrichers()) {
-                    entity.enrichers().add(enricher);
-                }
-
                 for (EnricherSpec<?> enricherSpec : spec.getEnricherSpecs()) {
                     entity.enrichers().add(policyFactory.createEnricher(enricherSpec));
                 }
 
-                for (Policy policy : spec.getPolicies()) {
-                    entity.policies().add(policy);
-                }
-
                 for (PolicySpec<?> policySpec : spec.getPolicySpecs()) {
                     entity.policies().add(policyFactory.createPolicy(policySpec));
                 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalLocationFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalLocationFactory.java b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalLocationFactory.java
index ffe3e21..0a19a26 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalLocationFactory.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalLocationFactory.java
@@ -24,7 +24,6 @@ import java.util.Map.Entry;
 
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.location.AbstractLocation;
 import org.apache.brooklyn.core.location.Locations;
@@ -47,35 +46,6 @@ public class InternalLocationFactory extends InternalFactory {
 
     private static final Logger LOG = LoggerFactory.getLogger(InternalLocationFactory.class);
 
-    /**
-     * Returns true if this is a "new-style" location (i.e. where not expected to call the constructor to instantiate it).
-     * 
-     * @param managementContext
-     * @param clazz
-     * 
-     * @deprecated since 0.7.0; use {@link InternalFactory#isNewStyle(Class)}
-     */
-    @Deprecated
-    public static boolean isNewStyleLocation(ManagementContext managementContext, Class<?> clazz) {
-        try {
-            return isNewStyleLocation(clazz);
-        } catch (IllegalArgumentException e) {
-            return false;
-        }
-    }
-    
-    /**
-     * @deprecated since 0.7.0; use {@link InternalFactory#isNewStyle(Class)}
-     */
-    @Deprecated
-    public static boolean isNewStyleLocation(Class<?> clazz) {
-        if (!Location.class.isAssignableFrom(clazz)) {
-            throw new IllegalArgumentException("Class "+clazz+" is not an location");
-        }
-        
-        return InternalFactory.isNewStyle(clazz);
-    }
-    
     public InternalLocationFactory(ManagementContextInternal managementContext) {
         super(managementContext);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalPolicyFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalPolicyFactory.java b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalPolicyFactory.java
index 8ba7f81..afd0ea6 100644
--- a/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalPolicyFactory.java
+++ b/core/src/main/java/org/apache/brooklyn/core/objs/proxy/InternalPolicyFactory.java
@@ -20,7 +20,6 @@ package org.apache.brooklyn.core.objs.proxy;
 
 import java.util.Map;
 
-import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.policy.Policy;
 import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.api.sensor.Enricher;
@@ -47,47 +46,6 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
  */
 public class InternalPolicyFactory extends InternalFactory {
 
-    /**
-     * Returns true if this is a "new-style" policy (i.e. where not expected to call the constructor to instantiate it).
-     * 
-     * @param managementContext
-     * @param clazz
-     * 
-     * @deprecated since 0.7.0; use {@link InternalFactory#isNewStyle(Class)}
-     */
-    @Deprecated
-    public static boolean isNewStylePolicy(ManagementContext managementContext, Class<?> clazz) {
-        try {
-            return isNewStylePolicy(clazz);
-        } catch (IllegalArgumentException e) {
-            return false;
-        }
-    }
-    
-    /**
-     * @deprecated since 0.7.0; use {@link InternalFactory#isNewStyle(Class)}
-     */
-    @Deprecated
-    public static boolean isNewStylePolicy(Class<?> clazz) {
-        if (!Policy.class.isAssignableFrom(clazz)) {
-            throw new IllegalArgumentException("Class "+clazz+" is not a policy");
-        }
-
-        return InternalFactory.isNewStyle(clazz);
-    }
-    
-    /**
-     * @deprecated since 0.7.0; use {@link InternalFactory#isNewStyle(Class)}
-     */
-    @Deprecated
-    public static boolean isNewStyleEnricher(Class<?> clazz) {
-        if (!Enricher.class.isAssignableFrom(clazz)) {
-            throw new IllegalArgumentException("Class "+clazz+" is not an enricher");
-        }
-        
-        return InternalFactory.isNewStyle(clazz);
-    }
-    
     public InternalPolicyFactory(ManagementContextInternal managementContext) {
         super(managementContext);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java b/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
index 8cc7737..9f89a27 100644
--- a/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
+++ b/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
@@ -182,7 +182,7 @@ public final class AttributeMap {
         // ands gets here won't call any other code at all
         return withLock(() -> {
             T oldValue = updateInternalWithoutLockOrPublish(attribute, newValue);
-            entity.emitInternal(attribute, newValue);
+            entity.sensors().emitInternal(attribute, newValue);
             return oldValue;
         });
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/sensor/DependentConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/sensor/DependentConfiguration.java b/core/src/main/java/org/apache/brooklyn/core/sensor/DependentConfiguration.java
index c2b2fe7..6a42aa2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/sensor/DependentConfiguration.java
+++ b/core/src/main/java/org/apache/brooklyn/core/sensor/DependentConfiguration.java
@@ -880,19 +880,6 @@ public class DependentConfiguration {
         }
         
         /**
-         * Will wait for the attribute on the given entity.
-         * If that entity report {@link Lifecycle#ON_FIRE} for its {@link Attributes#SERVICE_STATE_ACTUAL} then it will abort.
-         * @deprecated since 0.7.0 use {@link DependentConfiguration#builder()} then {@link ProtoBuilder#attributeWhenReady(Entity, AttributeSensor)} then {@link #abortIfOnFire()} 
-         */
-        @Deprecated
-        @SuppressWarnings({ "unchecked", "rawtypes" })
-        public <T2> Builder<T2,T2> attributeWhenReady(Entity source, AttributeSensor<T2> sensor) {
-            this.source = checkNotNull(source, "source");
-            this.sensor = (AttributeSensor) checkNotNull(sensor, "sensor");
-            abortIfOnFire();
-            return (Builder<T2, T2>) this;
-        }
-        /**
          * @deprecated since 0.11.0; explicit groovy utilities/support will be deleted.
          */
         @Deprecated

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServerConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServerConfig.java b/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServerConfig.java
index 391d789..530095d 100644
--- a/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServerConfig.java
+++ b/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServerConfig.java
@@ -20,7 +20,6 @@ package org.apache.brooklyn.core.server;
 
 import static org.apache.brooklyn.core.config.ConfigKeys.newStringConfigKey;
 
-import java.io.File;
 import java.net.URI;
 import java.util.List;
 import java.util.Map;
@@ -30,7 +29,6 @@ import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.config.StringConfigMap;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.mgmt.usage.ManagementNodeStateListener;
-import org.apache.brooklyn.core.mgmt.usage.UsageListener;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.time.Duration;
@@ -146,43 +144,6 @@ public class BrooklynServerConfig {
         return BrooklynServerPaths.getMgmtBaseDir(brooklynProperties);
     }
     
-    /** @deprecated since 0.7.0 use {@link BrooklynServerPaths#newMainPersistencePathResolver(ManagementContext)} */
-    @Deprecated
-    public static String getPersistenceDir(ManagementContext mgmt) {
-        return getPersistenceDir(mgmt.getConfig());
-    }
-    /** @deprecated since 0.7.0 use {@link BrooklynServerPaths#newMainPersistencePathResolver(ManagementContext)} */ 
-    @Deprecated
-    public static String getPersistenceDir(StringConfigMap brooklynProperties) {
-        return resolvePersistencePath(null, brooklynProperties, null);
-    }
-    
-    /**
-     * @param optionalSuppliedValue
-     *     An optional value which has been supplied explicitly
-     * @param brooklynProperties
-     *     The properties map where the persistence path should be looked up if not supplied,
-     *     along with finding the brooklyn.base.dir if needed (using file system persistence
-     *     with a relative path)
-     * @param optionalObjectStoreLocationSpec
-     *     If a location spec is supplied, this will return a container name suitable for use
-     *     with the given object store based on brooklyn.persistence.dir; if null this method
-     *     will return a full file system path, relative to the brooklyn.base.dir if the
-     *     configured brooklyn.persistence.dir is not absolute
-     * @return The container name or full path for where persist state should be kept
-     * @deprecated since 0.7.0 use {@link BrooklynServerPaths#newMainPersistencePathResolver(ManagementContext)} */
-    @Deprecated
-    public static String resolvePersistencePath(String optionalSuppliedValue, StringConfigMap brooklynProperties, String optionalObjectStoreLocationSpec) {
-        return BrooklynServerPaths.newMainPersistencePathResolver(brooklynProperties).location(optionalObjectStoreLocationSpec).dir(optionalSuppliedValue).resolve();
-    }
-    
-    
-    /** @deprecated since 0.7.0 use {@link BrooklynServerPaths#getBrooklynWebTmpDir(ManagementContext)} */
-    @Deprecated
-    public static File getBrooklynWebTmpDir(ManagementContext mgmt) {
-        return BrooklynServerPaths.getBrooklynWebTmpDir(mgmt);
-    }
-
     /**
      * @return {@link ManagementContext#getManagementNodeUri()}, located in this utility class for convenience.
      */

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServiceAttributes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServiceAttributes.java b/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServiceAttributes.java
index 1c756cc..015b738 100644
--- a/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServiceAttributes.java
+++ b/core/src/main/java/org/apache/brooklyn/core/server/BrooklynServiceAttributes.java
@@ -39,18 +39,6 @@ public class BrooklynServiceAttributes {
     /** used to hold the instance of ManagementContext which should be used */
     public static final String BROOKLYN_MANAGEMENT_CONTEXT = ManagementContext.class.getName();
     
-    /** poor-man's security, to specify a user to be automatically logged in
-     * (e.g. to bypass security, during dev/test); 'admin' is usually a sensible choice.
-     * if not specified (the default) username+password is required. 
-     * @deprecated since 0.6.0; not used; you can now configure security properly instead!
-     * (though this may be useful again when we have users and permissions,
-     * to indicate the user who should be logged in by default...) */ @Deprecated
-    public static final String BROOKLYN_AUTOLOGIN_USERNAME = "brooklyn.autologin.username";
-    
-    /** poor-man's security, to specify a default password for access 
-     * @deprecated since 0.6.0; not used; you can now configure security properly instead! */ @Deprecated
-    public static final String BROOKLYN_DEFAULT_PASSWORD = "brooklyn.default.password";
-
     // TODO use ConfigKey (or possibly BrooklynSystemProperties ?)
     
     /** in some cases localhost does not resolve correctly 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/typereg/BasicManagedBundle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/typereg/BasicManagedBundle.java b/core/src/main/java/org/apache/brooklyn/core/typereg/BasicManagedBundle.java
index 253f3a6..8372b99 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/BasicManagedBundle.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/BasicManagedBundle.java
@@ -147,11 +147,6 @@ public class BasicManagedBundle extends AbstractBrooklynObject implements Manage
     }
 
     @Override
-    public <T> T setConfig(ConfigKey<T> key, T val) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public <T> T getConfig(ConfigKey<T> key) {
         throw new UnsupportedOperationException();
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/typereg/BasicOsgiBundleWithUrl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/typereg/BasicOsgiBundleWithUrl.java b/core/src/main/java/org/apache/brooklyn/core/typereg/BasicOsgiBundleWithUrl.java
index 9001ad4..f34e070 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/BasicOsgiBundleWithUrl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/BasicOsgiBundleWithUrl.java
@@ -59,12 +59,6 @@ public class BasicOsgiBundleWithUrl implements CatalogBundle, OsgiBundleWithUrl
     }
     
     @Override
-    @Deprecated //see super
-    public boolean isNamed() {
-        return isNameResolved();
-    }
-
-    @Override
     public String getSymbolicName() {
         return symbolicName;
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java b/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
index a21ffd3..a8f3e50 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
@@ -141,9 +141,7 @@ public class RegisteredTypes {
         @Override public String getDisplayName() { return type.getDisplayName(); }
         @Override public String getCatalogItemId() { return type.getVersionedName().toString(); }
         @Override public String getId() { return type.getId(); }
-        @Override public String getName() { return type.getSymbolicName(); }
         @Override public String getSymbolicName() { return type.getSymbolicName(); }
-        @Override public String getRegisteredTypeName() { return type.getSymbolicName(); }
         @Override public String getDescription() { return type.getDescription(); }
         @Override public String getIconUrl() { return type.getIconUrl(); }
         @Override public String getContainingBundle() { return type.getContainingBundle(); }
@@ -157,7 +155,6 @@ public class RegisteredTypes {
         @Override public List<String> getCatalogItemIdSearchPath() { throw new UnsupportedOperationException(); }
         @Override public TagSupport tags() { throw new UnsupportedOperationException(); }
         @Override public RelationSupport<?> relations() { throw new UnsupportedOperationException(); }
-        @Override public <T> T setConfig(ConfigKey<T> key, T val) { throw new UnsupportedOperationException(); }
         @Override public <T> T getConfig(ConfigKey<T> key) { throw new UnsupportedOperationException(); }
         @Override public ConfigurationSupport config() { throw new UnsupportedOperationException(); }
         @Override public SubscriptionSupport subscriptions() { throw new UnsupportedOperationException(); }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/enricher/stock/reducer/Reducer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/enricher/stock/reducer/Reducer.java b/core/src/main/java/org/apache/brooklyn/enricher/stock/reducer/Reducer.java
index 5f4ab1b..dec0dc2 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/reducer/Reducer.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/reducer/Reducer.java
@@ -121,7 +121,7 @@ public class Reducer extends AbstractEnricher implements SensorEventListener<Obj
         Preconditions.checkState(sensorListTemp.size() > 0, "Nothing to reduce");
 
         for (Sensor<?> sensor : sensorListTemp) {
-            subscribe(producer, sensor, this);
+            subscriptions().subscribe(producer, sensor, this);
         }
 
         subscribedSensors = ImmutableList.copyOf(sensorListTemp);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
index d61944c..ecf7b88 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
@@ -95,22 +95,6 @@ public abstract class AbstractMembershipTrackingPolicy extends AbstractPolicy {
         }
     }
     
-    /**
-     * Sets the group to be tracked; unsubscribes from any previous group, and subscribes to this group.
-     * 
-     * Note this must be called *after* adding the policy to the entity.
-     * 
-     * @param group
-     * 
-     * @deprecated since 0.7; instead set the group as config
-     */
-    @Deprecated
-    public void setGroup(Group group) {
-        // relies on doReconfigureConfig to make the actual change
-        LOG.warn("Deprecated use of setGroup in "+AbstractMembershipTrackingPolicy.class.getSimpleName()+"; group should be set as config");
-        config().set(GROUP, group);
-    }
-    
     @Override
     protected <T> void doReconfigureConfig(ConfigKey<T> key, T val) {
         if (GROUP.getName().equals(key.getName())) {
@@ -128,16 +112,6 @@ public abstract class AbstractMembershipTrackingPolicy extends AbstractPolicy {
         }
     }
     
-    /**
-     * Unsubscribes from the group.
-     * 
-     * @deprecated since 0.7; misleading method name; either remove the policy, or suspend/resume
-     */
-    @Deprecated
-    public void reset() {
-        unsubscribeFromGroup();
-    }
-
     @Override
     public void suspend() {
         unsubscribeFromGroup();
@@ -216,7 +190,7 @@ public abstract class AbstractMembershipTrackingPolicy extends AbstractPolicy {
 
     protected void unsubscribeFromGroup() {
         Group group = getGroup();
-        if (getSubscriptionTracker() != null && group != null) subscriptions().unsubscribe(group);
+        if (group != null) subscriptions().unsubscribe(group);
     }
 
     /** Invoked by framework prior to all entity events, to provide default highlight info;

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroup.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroup.java b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroup.java
index 6b7f3a2..4787297 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroup.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroup.java
@@ -70,10 +70,6 @@ public interface DynamicGroup extends AbstractGroup {
     /** Sets {@link #ENTITY_FILTER}, overriding (and rescanning all) if already set. */
     void setEntityFilter(Predicate<? super Entity> filter);
 
-    /** @deprecated since 0.7.0; use {@link #setEntityFilter(Predicate)} */
-    @Deprecated
-    void setEntityFilter(Closure<Boolean> filter);
-
     /** As {@link #addSubscription(Entity, Sensor)} but with an additional filter. */
     <T> void addSubscription(Entity producer, Sensor<T> sensor, Predicate<? super SensorEvent<? super T>> filter);
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroupImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroupImpl.java b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroupImpl.java
index 0815d93..2470c7e 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroupImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicGroupImpl.java
@@ -33,7 +33,6 @@ import org.apache.brooklyn.core.mgmt.internal.CollectionChangeListener;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.util.core.task.Tasks;
 import org.apache.brooklyn.util.exceptions.Exceptions;
-import org.apache.brooklyn.util.groovy.GroovyJavaMethods;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,8 +41,6 @@ import com.google.common.base.Predicates;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
 
-import groovy.lang.Closure;
-
 public class DynamicGroupImpl extends AbstractGroupImpl implements DynamicGroup {
 
     private static final Logger log = LoggerFactory.getLogger(DynamicGroupImpl.class);
@@ -65,12 +62,6 @@ public class DynamicGroupImpl extends AbstractGroupImpl implements DynamicGroup
         rescanEntities();
     }
 
-    @Deprecated
-    @Override
-    public void setEntityFilter(Closure<Boolean> filter) {
-        setEntityFilter(filter != null ? GroovyJavaMethods.<Entity>predicateFromClosure(filter) : null);
-    }
-
     @Override
     public Predicate<? super Entity> entityFilter() {
         return getEntityFilter();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/CommandPollConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/CommandPollConfig.java b/core/src/main/java/org/apache/brooklyn/feed/CommandPollConfig.java
index f3d8cc4..6da0985 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/CommandPollConfig.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/CommandPollConfig.java
@@ -79,22 +79,10 @@ public class CommandPollConfig<T> extends PollConfig<SshPollValue, T, CommandPol
         commandSupplier = other.commandSupplier;
     }
     
-    /** @deprecated since 0.7.0; use {@link #getCommandSupplier()} and resolve just-in-time */
-    @Deprecated
-    public String getCommand() {
-        return getCommandSupplier().get();
-    }
     public Supplier<String> getCommandSupplier() {
         return commandSupplier;
     }
     
-    /** @deprecated since 0.7.0; use {@link #getEnvSupplier()} and resolve just-in-time */
-    @Deprecated
-    public Map<String, String> getEnv() {
-        return getEnvSupplier().get();
-    }
-    
-    @SuppressWarnings("unused")
     public Supplier<Map<String,String>> getEnvSupplier() {
         return new CombiningEnvSupplier(dynamicEnvironmentSupplier);
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/function/FunctionFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/function/FunctionFeed.java b/core/src/main/java/org/apache/brooklyn/feed/function/FunctionFeed.java
index 0a6d060..962c2c0 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/function/FunctionFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/function/FunctionFeed.java
@@ -171,7 +171,7 @@ public class FunctionFeed extends AbstractFeed {
     }
     
     protected FunctionFeed(Builder builder) {
-        setConfig(ONLY_IF_SERVICE_UP, builder.onlyIfServiceUp);
+        config().set(ONLY_IF_SERVICE_UP, builder.onlyIfServiceUp);
         
         SetMultimap<FunctionPollIdentifier, FunctionPollConfig<?,?>> polls = HashMultimap.<FunctionPollIdentifier,FunctionPollConfig<?,?>>create();
         for (FunctionPollConfig<?,?> config : builder.polls) {
@@ -182,7 +182,7 @@ public class FunctionFeed extends AbstractFeed {
             Callable<?> job = config.getCallable();
             polls.put(new FunctionPollIdentifier(job), configCopy);
         }
-        setConfig(POLLS, polls);
+        config().set(POLLS, polls);
         initUniqueTag(builder.uniqueTag, polls.values());
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
index a2d3125..64a6169 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
@@ -45,6 +45,7 @@ import org.apache.brooklyn.core.feed.DelegatingPollHandler;
 import org.apache.brooklyn.core.feed.Poller;
 import org.apache.brooklyn.core.location.Locations;
 import org.apache.brooklyn.core.location.Machines;
+import org.apache.brooklyn.core.location.internal.LocationInternal;
 import org.apache.brooklyn.util.executor.HttpExecutorFactory;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.http.HttpToolResponse;
@@ -342,7 +343,7 @@ public class HttpFeed extends AbstractFeed {
             Maybe<MachineLocation> location =  Machines.findUniqueElement(locations, MachineLocation.class);
             if (location.isPresent() && location.get().hasExtension(HttpExecutorFactory.class)) {
                 httpExecutorFactory = location.get().getExtension(HttpExecutorFactory.class);
-                Map<String, Object> httpExecutorProps = location.get().getAllConfig(true);
+                Map<String, Object> httpExecutorProps = ((LocationInternal)location.get()).config().getBag().getAllConfig();
                 httpExecutor = httpExecutorFactory.getHttpExecutor(httpExecutorProps);
             } else {
                 httpExecutor = HttpExecutorImpl.newInstance();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
deleted file mode 100644
index de3a4b5..0000000
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
+++ /dev/null
@@ -1,40 +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.feed.http;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.util.http.HttpToolResponse;
-
-/** @deprecated since 0.7.0, use {@link HttpToolResponse}.
- * the old {@link HttpPollValue} concrete class has been renamed {@link HttpToolResponse}
- * because it has nothing specific to polls. this is now just a transitional interface. */
-@Deprecated
-public interface HttpPollValue {
-
-    public int getResponseCode();
-    public String getReasonPhrase();
-    public long getStartTime();
-    public long getLatencyFullContent();
-    public long getLatencyFirstResponse();
-    public Map<String, List<String>> getHeaderLists();
-    public byte[] getContent();
-    
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
deleted file mode 100644
index ecc33ed..0000000
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
+++ /dev/null
@@ -1,39 +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.feed.http;
-
-import java.net.URI;
-
-import org.apache.brooklyn.util.http.HttpTool;
-import org.apache.brooklyn.util.http.HttpToolResponse;
-import org.apache.http.impl.client.DefaultHttpClient;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * @deprecated since 0.7; use {@link HttpTool}
- */
-@Deprecated
-public class HttpPolls {
-
-    public static HttpToolResponse executeSimpleGet(URI uri) {
-        return HttpTool.httpGet(new DefaultHttpClient(), uri, ImmutableMap.<String,String>of());
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/shell/ShellFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/shell/ShellFeed.java b/core/src/main/java/org/apache/brooklyn/feed/shell/ShellFeed.java
index 3f78c3a..ab617f1 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/shell/ShellFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/shell/ShellFeed.java
@@ -209,7 +209,7 @@ public class ShellFeed extends AbstractFeed {
 
             polls.put(new ShellPollIdentifier(command, env, dir, input, context, timeout), configCopy);
         }
-        setConfig(POLLS, polls);
+        config().set(POLLS, polls);
         initUniqueTag(builder.uniqueTag, polls.values());
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/feed/ssh/SshValueFunctions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/ssh/SshValueFunctions.java b/core/src/main/java/org/apache/brooklyn/feed/ssh/SshValueFunctions.java
index f73f604..67fbca5 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/ssh/SshValueFunctions.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/ssh/SshValueFunctions.java
@@ -114,22 +114,6 @@ public class SshValueFunctions {
     }
 
     public static Function<SshPollValue, Boolean> exitStatusEquals(final int expected) {
-        return chain(SshValueFunctions.exitStatus(), Functions.forPredicate(Predicates.equalTo(expected)));
-    }
-
-    /**
-     * @deprecated since 0.9.0; use {@link Functionals#chain(Function, Function)}
-     */
-    @Deprecated
-    public static <A,B,C> Function<A,C> chain(final Function<A,? extends B> f1, final Function<B,C> f2) {
-        return Functionals.chain(f1, f2);
-    }
-
-    /**
-     * @deprecated since 0.9.0; use {@link Functionals#chain(Function, Function, Function)}
-     */
-    @Deprecated
-    public static <A,B,C,D> Function<A,D> chain(final Function<A,? extends B> f1, final Function<B,? extends C> f2, final Function<C,D> f3) {
-        return Functionals.chain(f1, f2, f3);
+        return Functionals.chain(SshValueFunctions.exitStatus(), Functions.forPredicate(Predicates.equalTo(expected)));
     }
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7df1d382/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
index ae26b05..1ea8a4d 100644
--- a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
@@ -71,9 +71,7 @@ import com.google.common.collect.Sets;
  */
 public class LocalhostMachineProvisioningLocation extends FixedListMachineProvisioningLocation<SshMachineLocation> implements AddressableLocation, LocationWithObjectStore {
 
-    /** @deprecated since 0.9.0; shouldn't be public */
-    @Deprecated
-    public static final Logger LOG = LoggerFactory.getLogger(LocalhostMachineProvisioningLocation.class);
+    private static final Logger LOG = LoggerFactory.getLogger(LocalhostMachineProvisioningLocation.class);
     
     public static final ConfigKey<Boolean> SKIP_ON_BOX_BASE_DIR_RESOLUTION = ConfigKeys.newConfigKeyWithDefault(
             BrooklynConfigKeys.SKIP_ON_BOX_BASE_DIR_RESOLUTION, 
@@ -152,7 +150,7 @@ public class LocalhostMachineProvisioningLocation extends FixedListMachineProvis
         }
         
         if (getConfig(BrooklynConfigKeys.ONBOX_BASE_DIR)==null && (getManagementContext()==null || getManagementContext().getConfig().getConfig(BrooklynConfigKeys.ONBOX_BASE_DIR)==null)) {
-            setConfig(BrooklynConfigKeys.ONBOX_BASE_DIR, "/tmp/brooklyn-"+Os.user());
+            config().set(BrooklynConfigKeys.ONBOX_BASE_DIR, "/tmp/brooklyn-"+Os.user());
         }
         
         return this;
@@ -187,7 +185,7 @@ public class LocalhostMachineProvisioningLocation extends FixedListMachineProvis
             // (or alternatively switch to copying all ancestor keys)
             for (HasConfigKey<?> k: SshMachineLocation.ALL_SSH_CONFIG_KEYS) {
                 if (config().getRaw(k).isPresent())
-                    flags2.put(k, getConfig(k));
+                    flags2.put(k, config().get(k));
             }
             
             if (isManaged()) {