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

[43/54] incubator-brooklyn git commit: [BROOKLYN-162] Renaming package brooklyn.location

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/MachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/MachineProvisioningLocation.java b/api/src/main/java/org/apache/brooklyn/location/MachineProvisioningLocation.java
new file mode 100644
index 0000000..c3bc346
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/MachineProvisioningLocation.java
@@ -0,0 +1,72 @@
+/*
+ * 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.location;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * A location that is able to provision new machines within its location.
+ *
+ * This interface extends {@link Location} to add the ability to provision {@link MachineLocation}s in this location.
+ */
+public interface MachineProvisioningLocation<T extends MachineLocation> extends ProvisioningLocation<T> {
+    /**
+     * Obtain a machine in this location.
+     * 
+     * @param flags Details of the desired machine (e.g. image, size, open ports, etc; some flag support is limited to selected providers).
+     * "callerContext" can be specified to have custom logging and error messages (useful if starting machines in parallel)
+     * @return a machine that is a child of this location.
+     * @throws NoMachinesAvailableException if there are no machines available in this location (or impls may return null, but that is discouraged)
+     */
+    @Override
+    T obtain(Map<?,?> flags) throws NoMachinesAvailableException;
+
+    /**
+     * Creates a new location of the same type, but with additional creation instructions in the form of flags,
+     * e.g. for specifying subnets, security groups, etc
+     * <p>
+     * Implementers who wish to subclass this provisioning location for additional functionality
+     * in a specific cloud can use the relevant implementation of this method as a guide. 
+     */
+    MachineProvisioningLocation<T> newSubLocation(Map<?,?> newFlags);
+    
+    /**
+     * Release a previously-obtained machine.
+     *
+     * @param machine a {@link MachineLocation} previously obtained from a call to {@link #obtain()}
+     * @throws IllegalStateException if the machine did not come from a call to {@link #obtain()} or it has already been released.
+     */
+    @Override
+    void release(T machine);
+    
+    /**
+     * Gets flags, suitable as an argument to {@link #obtain(Map)}. The tags provided give
+     * hints about the machine required. The provisioning-location could be configured to 
+     * understand those tags. 
+     * 
+     * For example, an AWS-location could be configured to understand that a particular entity
+     * type (e.g. "TomcatServer") requires a particular AMI in that region, so would return the 
+     * required image id.
+     *  
+     * @param tags
+     * @return
+     */
+    Map<String,Object> getProvisioningFlags(Collection<String> tags);
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/NoMachinesAvailableException.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/NoMachinesAvailableException.java b/api/src/main/java/org/apache/brooklyn/location/NoMachinesAvailableException.java
new file mode 100644
index 0000000..d8f16ce
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/NoMachinesAvailableException.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location;
+
+
+/**
+ * Indicates no machines are available in a given location.
+ */
+public class NoMachinesAvailableException extends LocationNotAvailableException {
+    private static final long serialVersionUID = 1079817235289265761L;
+    
+    public NoMachinesAvailableException(String s) {
+        super(s);
+    }
+
+    public NoMachinesAvailableException(String s, Throwable throwable) {
+        super(s, throwable);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/OsDetails.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/OsDetails.java b/api/src/main/java/org/apache/brooklyn/location/OsDetails.java
new file mode 100644
index 0000000..c5aea67
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/OsDetails.java
@@ -0,0 +1,46 @@
+/*
+ * 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.location;
+
+import javax.annotation.Nullable;
+
+public interface OsDetails {
+
+    /** The name of the operating system, e.g. "Debian" or "Red Hat Enterprise Linux Server" */
+    @Nullable
+    String getName();
+
+    /**
+     * The version of the operating system. Generally numeric (e.g. "6.3") but occasionally
+     * alphabetic (e.g. Debian's "Squeeze").
+     */
+    @Nullable
+    String getVersion();
+
+    /** The operating system's architecture, e.g. "x86" or "x86_64" */
+    @Nullable
+    String getArch();
+
+    boolean is64bit();
+
+    boolean isWindows();
+    boolean isLinux();
+    boolean isMac();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/PortRange.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/PortRange.java b/api/src/main/java/org/apache/brooklyn/location/PortRange.java
new file mode 100644
index 0000000..25dd621
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/PortRange.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location;
+
+/**
+ * A range of ports (indicator for Location and other APIs).
+ * Using methods {@code PortRanges.fromXxx(...)} this is adaptable from a number, a string, or a collection of numbers or a strings.
+ * String may be of the form:
+ *   <li> "80": just 80
+ *   <li> "8080-8090": limited range sequentially; ie try 8080, then 8081, ..., then 8090, then give up
+ *   <li> "8080-8000": as above, but descending; ie try 8080, then 8079, ..., then 8000, then give up
+ *   <li> "8000+": unlimited range sequentially; ie try 8000, then 8001, then 8002, etc
+ *   <li> "80,8080,8000,8080-8099": different ranges, in order; ie try 80, then 8080, then 8000, then 8080 (again), then 8081, ..., then 8099, then give up
+ * Ranges (but not lists) may be preceeded by "!" to indicate a randomly selected port:
+ * 
+ * @see brooklyn.location.basic.PortRanges
+ */
+//MAYDO could have:   <li> "~32168-65535" (or "~32168-"): try randomly selected numbers in range 32168-65535 (MAX_PORT) until all have been tried
+public interface PortRange extends Iterable<Integer> {
+    /**
+     * Whether there are any ports in the range.
+     */
+    boolean isEmpty();
+    
+    /**
+     * Note: this method is only here for use with "groovy truth". Users are strongly discouraged  
+     * from calling it directly.
+     *  
+     * @return {@code !isEmpty()}; i.e. true if there is at least one port in the range; false otherwise
+     */
+    boolean asBoolean();
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/PortSupplier.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/PortSupplier.java b/api/src/main/java/org/apache/brooklyn/location/PortSupplier.java
new file mode 100644
index 0000000..24572a0
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/PortSupplier.java
@@ -0,0 +1,50 @@
+/*
+ * 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.location;
+
+/** Mixin interface for location which allows it to supply ports from a given range */
+public interface PortSupplier {
+
+    /**
+     * Reserve a specific port for an application. If your application requires a specific port - for example, port 80 for a web
+     * server - you should reserve this port before starting your application. Using this method, you will be able to detect if
+     * another application has already claimed this port number.
+     *
+     * @param portNumber the required port number.
+     * @return {@code true} if the port was successfully reserved; {@code false} if it has been previously reserved.
+     */
+    boolean obtainSpecificPort(int portNumber);
+
+    /**
+     * Reserve a port for your application, with a port number in a specific range. If your application requires a port, but it does
+     * not mind exactly which port number - for example, a port for internal JMX monitoring - call this method.
+     *
+     * @param range the range of acceptable port numbers.
+     * @return the port number that has been reserved, or -1 if there was no available port in the acceptable range.
+     */
+    int obtainPort(PortRange range);
+
+    /**
+     * Release a previously reserved port.
+     *
+     * @param portNumber the port number from a call to {@link #obtainPort(PortRange)} or {@link #obtainSpecificPort(int)}
+     */
+    void releasePort(int portNumber);
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/api/src/main/java/org/apache/brooklyn/location/ProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/location/ProvisioningLocation.java b/api/src/main/java/org/apache/brooklyn/location/ProvisioningLocation.java
new file mode 100644
index 0000000..3cc3f92
--- /dev/null
+++ b/api/src/main/java/org/apache/brooklyn/location/ProvisioningLocation.java
@@ -0,0 +1,44 @@
+/*
+ * 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.location;
+
+import java.util.Map;
+
+/**
+ * A location that is able to provision new locations within it.
+ */
+public interface ProvisioningLocation<T extends Location> extends Location {
+    /**
+     * Obtain a new (sub)-location in the location represented by this class.
+     * 
+     * @param flags Constraints and details of the location to be provisioned
+     * @return the location provisioned
+     * @throws LocationNotAvailableException if could not provision such a location
+     */
+    T obtain(Map<?,?> flags) throws LocationNotAvailableException;
+
+    /**
+     * Release a previously-obtained location.
+     *
+     * @param location a location previously obtained
+     * @throws IllegalStateException if the machine did not come from a call to {@link #obtain()} or it has already been released.
+     */
+    void release(T machine);
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 e9a9a58..8c6f7e1 100644
--- a/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
+++ b/api/src/main/java/org/apache/brooklyn/mementos/BrooklynMementoPersister.java
@@ -37,7 +37,7 @@ import org.apache.brooklyn.api.management.ManagementContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.time.Duration;
 
 import com.google.common.annotations.Beta;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/basic/BrooklynTypes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/BrooklynTypes.java b/core/src/main/java/brooklyn/basic/BrooklynTypes.java
index 8db853d..4ccbfd0 100644
--- a/core/src/main/java/brooklyn/basic/BrooklynTypes.java
+++ b/core/src/main/java/brooklyn/basic/BrooklynTypes.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.policy.Policy;
 import brooklyn.config.ConfigKey;
 import brooklyn.enricher.basic.EnricherDynamicType;
 import brooklyn.entity.basic.EntityDynamicType;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.policy.basic.PolicyDynamicType;
 import brooklyn.util.exceptions.Exceptions;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 99e1a8f..e9778ab 100644
--- a/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
+++ b/core/src/main/java/brooklyn/catalog/CatalogPredicates.java
@@ -30,8 +30,8 @@ import org.apache.brooklyn.policy.Policy;
 import org.apache.brooklyn.policy.PolicySpec;
 
 import brooklyn.catalog.internal.CatalogUtils;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
 import brooklyn.management.entitlement.Entitlements;
 
 import com.google.common.base.Function;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 b1d5385..a3bb808 100644
--- a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
+++ b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
@@ -54,9 +54,9 @@ import org.apache.brooklyn.policy.PolicySpec;
 import brooklyn.catalog.CatalogPredicates;
 import brooklyn.catalog.internal.CatalogClasspathDo.CatalogScanningModes;
 import brooklyn.config.BrooklynServerConfig;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.BasicLocationRegistry;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.BasicLocationRegistry;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.collections.MutableMap;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java b/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
index 0f9bde9..af0e53d 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogClasspathDo.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
 import org.apache.brooklyn.policy.Policy;
 
 import brooklyn.entity.basic.ApplicationBuilder;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.ResourceUtils;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/catalog/internal/CatalogLocationItemDto.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/CatalogLocationItemDto.java b/core/src/main/java/brooklyn/catalog/internal/CatalogLocationItemDto.java
index e8bf2ec..8d12b1a 100644
--- a/core/src/main/java/brooklyn/catalog/internal/CatalogLocationItemDto.java
+++ b/core/src/main/java/brooklyn/catalog/internal/CatalogLocationItemDto.java
@@ -18,8 +18,8 @@
  */
 package brooklyn.catalog.internal;
 
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
 
 
 public class CatalogLocationItemDto extends CatalogItemDtoAbstract<Location,LocationSpec<?>> {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java b/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
index dc99712..0e570b7 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.ServiceStateLogic.ServiceProblemsLogic;
 import brooklyn.entity.trait.StartableMethods;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.exceptions.RuntimeInterruptedException;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 c7a017c..db1c26f 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java
@@ -76,8 +76,8 @@ import brooklyn.internal.BrooklynInitialization;
 import brooklyn.internal.storage.BrooklynStorage;
 import brooklyn.internal.storage.Reference;
 import brooklyn.internal.storage.impl.BasicReference;
-import brooklyn.location.Location;
-import brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.Locations;
 import brooklyn.management.internal.EffectorUtils;
 import brooklyn.management.internal.EntityManagementSupport;
 import brooklyn.management.internal.ManagementContextInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/BasicStartable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BasicStartable.java b/core/src/main/java/brooklyn/entity/basic/BasicStartable.java
index 8ddc794..00d87c3 100644
--- a/core/src/main/java/brooklyn/entity/basic/BasicStartable.java
+++ b/core/src/main/java/brooklyn/entity/basic/BasicStartable.java
@@ -25,8 +25,8 @@ import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.trait.Startable;
-import brooklyn.location.Location;
-import brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.Locations;
 
 import com.google.common.collect.ImmutableList;
 
@@ -51,6 +51,6 @@ public interface BasicStartable extends Entity, Startable {
         };
     }
 
-    public static final ConfigKey<brooklyn.location.basic.Locations.LocationsFilter> LOCATIONS_FILTER = ConfigKeys.newConfigKey(brooklyn.location.basic.Locations.LocationsFilter.class,
+    public static final ConfigKey<Locations.LocationsFilter> LOCATIONS_FILTER = ConfigKeys.newConfigKey(Locations.LocationsFilter.class,
             "brooklyn.locationsFilter", "Provides a hook for customizing locations to be used for a given context");
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 0552f75..630bdd8 100644
--- a/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/BasicStartableImpl.java
@@ -24,12 +24,13 @@ import java.util.List;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.location.basic.Locations;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import brooklyn.entity.trait.Startable;
 import brooklyn.entity.trait.StartableMethods;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.exceptions.Exceptions;
 
 import com.google.common.base.Predicates;
@@ -51,7 +52,7 @@ public class BasicStartableImpl extends AbstractEntity implements BasicStartable
             // essentially does StartableMethods.start(this, locations),
             // but optionally filters locations for each child
 
-            brooklyn.location.basic.Locations.LocationsFilter filter = getConfig(LOCATIONS_FILTER);
+            Locations.LocationsFilter filter = getConfig(LOCATIONS_FILTER);
             Iterable<Entity> startables = filterStartableManagedEntities(getChildren());
             if (!Iterables.isEmpty(startables)) {
                 List<Task<?>> tasks = Lists.newArrayListWithCapacity(Iterables.size(startables));

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/BrooklynConfigKeys.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BrooklynConfigKeys.java b/core/src/main/java/brooklyn/entity/basic/BrooklynConfigKeys.java
index 3c641cb..ac3de30 100644
--- a/core/src/main/java/brooklyn/entity/basic/BrooklynConfigKeys.java
+++ b/core/src/main/java/brooklyn/entity/basic/BrooklynConfigKeys.java
@@ -24,7 +24,7 @@ import brooklyn.config.ConfigKey;
 import brooklyn.entity.trait.Startable;
 import brooklyn.event.basic.AttributeSensorAndConfigKey;
 import brooklyn.event.basic.TemplatedStringAttributeSensorAndConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.internal.ssh.ShellTool;
 import brooklyn.util.internal.ssh.SshTool;
 import brooklyn.util.time.Duration;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/DataEntityImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/DataEntityImpl.java b/core/src/main/java/brooklyn/entity/basic/DataEntityImpl.java
index d6a465c..52ba52e 100644
--- a/core/src/main/java/brooklyn/entity/basic/DataEntityImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/DataEntityImpl.java
@@ -25,7 +25,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 
 import brooklyn.event.feed.function.FunctionFeed;
 import brooklyn.event.feed.function.FunctionPollConfig;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.base.Functions;
 import com.google.common.base.Supplier;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/EffectorStartableImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EffectorStartableImpl.java b/core/src/main/java/brooklyn/entity/basic/EffectorStartableImpl.java
index 92a1e68..1bbb4c1 100644
--- a/core/src/main/java/brooklyn/entity/basic/EffectorStartableImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/EffectorStartableImpl.java
@@ -27,7 +27,7 @@ import brooklyn.config.ConfigKey;
 import brooklyn.entity.annotation.Effector;
 import brooklyn.entity.annotation.EffectorParam;
 import brooklyn.entity.trait.Startable;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.config.ConfigBag;
 
 import com.google.common.reflect.TypeToken;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 d49dad3..c1cac26 100644
--- a/core/src/main/java/brooklyn/entity/basic/Entities.java
+++ b/core/src/main/java/brooklyn/entity/basic/Entities.java
@@ -69,10 +69,10 @@ import brooklyn.entity.proxying.EntityProxyImpl;
 import brooklyn.entity.trait.Startable;
 import brooklyn.entity.trait.StartableMethods;
 import brooklyn.event.basic.DependentConfiguration;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.LocationInternal;
-import brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.basic.Locations;
 import brooklyn.management.internal.EffectorUtils;
 import brooklyn.management.internal.EntityManagerInternal;
 import brooklyn.management.internal.LocalManagementContext;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/EntityFactoryForLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityFactoryForLocation.java b/core/src/main/java/brooklyn/entity/basic/EntityFactoryForLocation.java
index f1644aa..eb7ef3a 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityFactoryForLocation.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityFactoryForLocation.java
@@ -20,7 +20,7 @@ package brooklyn.entity.basic;
 
 import org.apache.brooklyn.api.entity.Entity;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 /**
  * dispatch interface to allow an EntityFactory to indicate it might be able to discover

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 97f6618..1250d40 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityFunctions.java
@@ -31,7 +31,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.config.ConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.flags.TypeCoercions;
 import brooklyn.util.guava.Functionals;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 8fe53d2..08c3e19 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityInternal.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.mementos.EntityMemento;
 
 import brooklyn.basic.BrooklynObjectInternal;
 import brooklyn.config.ConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.management.internal.EntityManagementSupport;
 import brooklyn.util.config.ConfigBag;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/EntityPredicates.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityPredicates.java b/core/src/main/java/brooklyn/entity/basic/EntityPredicates.java
index ac5adbf..7c7d2f3 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityPredicates.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityPredicates.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.api.event.AttributeSensor;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.config.ConfigKey.HasConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.collections.CollectionFunctionals;
 import brooklyn.util.guava.SerializablePredicate;
 import brooklyn.util.javalang.Reflections;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/EntitySuppliers.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntitySuppliers.java b/core/src/main/java/brooklyn/entity/basic/EntitySuppliers.java
index c0f30b9..0a5defd 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntitySuppliers.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntitySuppliers.java
@@ -20,8 +20,8 @@ package brooklyn.entity.basic;
 
 import org.apache.brooklyn.api.entity.Entity;
 
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
 
 import com.google.common.base.Supplier;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 0325171..70a1667 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
@@ -20,9 +20,7 @@ package brooklyn.entity.basic;
 
 import java.util.Collection;
 import java.util.Map;
-import java.util.Set;
 
-import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.apache.brooklyn.api.basic.BrooklynObject.TagSupport;
@@ -43,7 +41,7 @@ import brooklyn.config.ConfigKey;
 import brooklyn.config.ConfigKey.HasConfigKey;
 import brooklyn.entity.basic.EntityInternal.FeedSupport;
 import brooklyn.entity.proxying.EntityProxyImpl;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.management.internal.EntityManagementSupport;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.guava.Maybe;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/Lifecycle.java b/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
index 9918bde..75b32b4 100644
--- a/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
+++ b/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
@@ -31,6 +31,7 @@ import com.google.common.base.CaseFormat;
 import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
+import org.apache.brooklyn.location.Location;
 
 /**
  * An enumeration representing the status of an {@link org.apache.brooklyn.api.entity.Entity}.
@@ -41,7 +42,7 @@ public enum Lifecycle {
      *
      * This stage encompasses the contruction. Once this stage is
      * complete, the basic set of {@link brooklyn.event.Sensor}s will be available, apart from any that require the entity to be active or
-     * deployed to a {@link brooklyn.location.Location}.
+     * deployed to a {@link Location}.
      */
     CREATED,
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/drivers/BasicEntityDriverManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/drivers/BasicEntityDriverManager.java b/core/src/main/java/brooklyn/entity/drivers/BasicEntityDriverManager.java
index 3a9ed09..889a05a 100644
--- a/core/src/main/java/brooklyn/entity/drivers/BasicEntityDriverManager.java
+++ b/core/src/main/java/brooklyn/entity/drivers/BasicEntityDriverManager.java
@@ -24,7 +24,7 @@ import org.apache.brooklyn.api.entity.drivers.EntityDriverManager;
 
 import com.google.common.annotations.Beta;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 public class BasicEntityDriverManager implements EntityDriverManager {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/drivers/ReflectiveEntityDriverFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/drivers/ReflectiveEntityDriverFactory.java b/core/src/main/java/brooklyn/entity/drivers/ReflectiveEntityDriverFactory.java
index 3c3836a..86591b3 100644
--- a/core/src/main/java/brooklyn/entity/drivers/ReflectiveEntityDriverFactory.java
+++ b/core/src/main/java/brooklyn/entity/drivers/ReflectiveEntityDriverFactory.java
@@ -28,10 +28,10 @@ import org.apache.brooklyn.api.entity.drivers.EntityDriver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import brooklyn.location.Location;
-import brooklyn.location.basic.SshMachineLocation;
-import brooklyn.location.paas.PaasLocation;
-import brooklyn.location.basic.WinRmMachineLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.paas.PaasLocation;
+import org.apache.brooklyn.location.basic.WinRmMachineLocation;
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/drivers/RegistryEntityDriverFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/drivers/RegistryEntityDriverFactory.java b/core/src/main/java/brooklyn/entity/drivers/RegistryEntityDriverFactory.java
index 84265dc..2c1243f 100644
--- a/core/src/main/java/brooklyn/entity/drivers/RegistryEntityDriverFactory.java
+++ b/core/src/main/java/brooklyn/entity/drivers/RegistryEntityDriverFactory.java
@@ -30,7 +30,7 @@ import org.apache.brooklyn.api.entity.drivers.DriverDependentEntity;
 import org.apache.brooklyn.api.entity.drivers.EntityDriver;
 import org.apache.brooklyn.api.entity.drivers.EntityDriverManager;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.base.Objects;
 import com.google.common.base.Throwables;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 353d721..e7657ea 100644
--- a/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
+++ b/core/src/main/java/brooklyn/entity/effector/EffectorTasks.java
@@ -33,9 +33,9 @@ import org.slf4j.LoggerFactory;
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.BrooklynTaskTags;
 import brooklyn.entity.basic.ConfigKeys;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
-import brooklyn.location.basic.WinRmMachineLocation;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.WinRmMachineLocation;
 import brooklyn.management.internal.EffectorUtils;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.javalang.Reflections;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/DynamicCluster.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/DynamicCluster.java b/core/src/main/java/brooklyn/entity/group/DynamicCluster.java
index 27e158e..e6f31de 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicCluster.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicCluster.java
@@ -45,7 +45,7 @@ import brooklyn.entity.trait.MemberReplaceable;
 import brooklyn.event.basic.BasicAttributeSensor;
 import brooklyn.event.basic.BasicNotificationSensor;
 import brooklyn.event.basic.Sensors;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.flags.SetFromFlag;
 import brooklyn.util.time.Duration;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 287abc8..eafb161 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicClusterImpl.java
@@ -52,10 +52,10 @@ import brooklyn.entity.basic.ServiceStateLogic.ServiceProblemsLogic;
 import brooklyn.entity.effector.Effectors;
 import brooklyn.entity.trait.Startable;
 import brooklyn.entity.trait.StartableMethods;
-import brooklyn.location.Location;
-import brooklyn.location.MachineProvisioningLocation;
-import brooklyn.location.basic.Locations;
-import brooklyn.location.cloud.AvailabilityZoneExtension;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.cloud.AvailabilityZoneExtension;
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 d6b0884..60f437e 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicFabricImpl.java
@@ -45,7 +45,7 @@ import brooklyn.entity.basic.ServiceStateLogic;
 import brooklyn.entity.effector.Effectors;
 import brooklyn.entity.trait.Changeable;
 import brooklyn.entity.trait.Startable;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.GroovyJavaMethods;
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/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 a165f62..eeab8e2 100644
--- a/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
+++ b/core/src/main/java/brooklyn/entity/group/DynamicRegionsFabricImpl.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.trait.Startable;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.exceptions.Exceptions;
 
 import com.google.common.base.Preconditions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/zoneaware/AbstractZoneFailureDetector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/zoneaware/AbstractZoneFailureDetector.java b/core/src/main/java/brooklyn/entity/group/zoneaware/AbstractZoneFailureDetector.java
index d2082ca..62b07eb 100644
--- a/core/src/main/java/brooklyn/entity/group/zoneaware/AbstractZoneFailureDetector.java
+++ b/core/src/main/java/brooklyn/entity/group/zoneaware/AbstractZoneFailureDetector.java
@@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.brooklyn.api.entity.Entity;
 
 import brooklyn.entity.group.DynamicCluster.ZoneFailureDetector;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.annotations.Beta;
 import com.google.common.base.Ticker;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/zoneaware/BalancingNodePlacementStrategy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/zoneaware/BalancingNodePlacementStrategy.java b/core/src/main/java/brooklyn/entity/group/zoneaware/BalancingNodePlacementStrategy.java
index 2393f47..700b0b5 100644
--- a/core/src/main/java/brooklyn/entity/group/zoneaware/BalancingNodePlacementStrategy.java
+++ b/core/src/main/java/brooklyn/entity/group/zoneaware/BalancingNodePlacementStrategy.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 
 import brooklyn.entity.group.DynamicCluster.NodePlacementStrategy;
 import brooklyn.entity.trait.Startable;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableList;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/zoneaware/CombiningZoneFailureDetector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/zoneaware/CombiningZoneFailureDetector.java b/core/src/main/java/brooklyn/entity/group/zoneaware/CombiningZoneFailureDetector.java
index f318106..b7ea052 100644
--- a/core/src/main/java/brooklyn/entity/group/zoneaware/CombiningZoneFailureDetector.java
+++ b/core/src/main/java/brooklyn/entity/group/zoneaware/CombiningZoneFailureDetector.java
@@ -23,7 +23,7 @@ import java.util.List;
 import org.apache.brooklyn.api.entity.Entity;
 
 import brooklyn.entity.group.DynamicCluster.ZoneFailureDetector;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/zoneaware/CriticalCauseZoneFailureDetector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/zoneaware/CriticalCauseZoneFailureDetector.java b/core/src/main/java/brooklyn/entity/group/zoneaware/CriticalCauseZoneFailureDetector.java
index 6691985..ecdf73f 100644
--- a/core/src/main/java/brooklyn/entity/group/zoneaware/CriticalCauseZoneFailureDetector.java
+++ b/core/src/main/java/brooklyn/entity/group/zoneaware/CriticalCauseZoneFailureDetector.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.entity.group.zoneaware;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.time.Duration;
 
 import com.google.common.base.Predicate;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/group/zoneaware/ProportionalZoneFailureDetector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/group/zoneaware/ProportionalZoneFailureDetector.java b/core/src/main/java/brooklyn/entity/group/zoneaware/ProportionalZoneFailureDetector.java
index dfec84a..13a9ed0 100644
--- a/core/src/main/java/brooklyn/entity/group/zoneaware/ProportionalZoneFailureDetector.java
+++ b/core/src/main/java/brooklyn/entity/group/zoneaware/ProportionalZoneFailureDetector.java
@@ -18,7 +18,7 @@
  */
 package brooklyn.entity.group.zoneaware;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.time.Duration;
 
 import com.google.common.base.Ticker;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/proxying/InternalLocationFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/proxying/InternalLocationFactory.java b/core/src/main/java/brooklyn/entity/proxying/InternalLocationFactory.java
index 3c665f6..f44602f 100644
--- a/core/src/main/java/brooklyn/entity/proxying/InternalLocationFactory.java
+++ b/core/src/main/java/brooklyn/entity/proxying/InternalLocationFactory.java
@@ -25,11 +25,10 @@ import java.util.Map.Entry;
 import org.apache.brooklyn.api.management.ManagementContext;
 
 import brooklyn.config.ConfigKey;
-import brooklyn.entity.basic.AbstractEntity;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.AbstractLocation;
-import brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.AbstractLocation;
+import org.apache.brooklyn.location.basic.LocationInternal;
 import brooklyn.management.internal.LocalLocationManager;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.config.ConfigBag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
index c0139ae..29aa938 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
@@ -40,7 +40,7 @@ import brooklyn.entity.basic.AbstractGroupImpl;
 import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.rebind.dto.MementosGenerators;
 import brooklyn.event.feed.AbstractFeed;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.policy.basic.AbstractPolicy;
 import brooklyn.util.exceptions.Exceptions;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
index 13c6d83..1719eff 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicLocationRebindSupport.java
@@ -30,8 +30,8 @@ import org.slf4j.LoggerFactory;
 
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.rebind.dto.MementosGenerators;
-import brooklyn.location.Location;
-import brooklyn.location.basic.AbstractLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.AbstractLocation;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.flags.FlagUtils;
 import brooklyn.util.flags.TypeCoercions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
index 3039e89..d92fa72 100644
--- a/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/ImmediateDeltaChangeListener.java
@@ -38,8 +38,8 @@ import org.apache.brooklyn.mementos.PolicyMemento;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 
-import brooklyn.location.Location;
-import brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.LocationInternal;
 
 import com.google.common.collect.Maps;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
index 8b68aec..538eaf4 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
@@ -50,7 +50,7 @@ import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.rebind.persister.BrooklynPersistenceUtils;
 import brooklyn.entity.rebind.persister.PersistenceActivityMetrics;
 import brooklyn.internal.BrooklynFeatureEnablement;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.collections.MutableSet;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
index 85f4851..4e0f887 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextImpl.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.mementos.BrooklynMementoPersister.LookupContext;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.collections.MutableMap;
 
 import com.google.common.collect.Maps;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
index 98e0586..f093089 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindContextLookupContext.java
@@ -35,7 +35,7 @@ import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 
 import brooklyn.catalog.internal.CatalogUtils;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 /** Looks in {@link RebindContext} <i>and</i> {@link ManagementContext} to find entities, locations, etc. */
 public class RebindContextLookupContext implements LookupContext {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
index 5fdb335..f08eb01 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindExceptionHandlerImpl.java
@@ -39,7 +39,7 @@ import org.apache.brooklyn.api.entity.rebind.RebindManager.RebindFailureMode;
 import org.apache.brooklyn.policy.Enricher;
 import org.apache.brooklyn.policy.Policy;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.collections.MutableList;
 import brooklyn.util.collections.QuorumCheck;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
index bd33c1b..d27ea65 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindIteration.java
@@ -80,9 +80,9 @@ import brooklyn.entity.rebind.RebindManagerImpl.RebindTracker;
 import brooklyn.entity.rebind.persister.PersistenceActivityMetrics;
 import brooklyn.event.feed.AbstractFeed;
 import brooklyn.internal.BrooklynFeatureEnablement;
-import brooklyn.location.Location;
-import brooklyn.location.basic.AbstractLocation;
-import brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.AbstractLocation;
+import org.apache.brooklyn.location.basic.LocationInternal;
 import brooklyn.management.internal.BrooklynObjectManagementMode;
 import brooklyn.management.internal.BrooklynObjectManagerInternal;
 import brooklyn.management.internal.EntityManagerInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/TreeUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/TreeUtils.java b/core/src/main/java/brooklyn/entity/rebind/TreeUtils.java
index 4574cd6..983bb45 100644
--- a/core/src/main/java/brooklyn/entity/rebind/TreeUtils.java
+++ b/core/src/main/java/brooklyn/entity/rebind/TreeUtils.java
@@ -23,7 +23,7 @@ import java.util.Collection;
 import java.util.Deque;
 import java.util.Set;
 
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 
 import com.google.common.collect.Sets;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
index c65444f..1a5ae1f 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/MementosGenerators.java
@@ -58,8 +58,8 @@ import brooklyn.entity.rebind.AbstractBrooklynObjectRebindSupport;
 import brooklyn.entity.rebind.TreeUtils;
 import brooklyn.entity.rebind.persister.BrooklynPersistenceUtils;
 import brooklyn.event.feed.AbstractFeed;
-import brooklyn.location.Location;
-import brooklyn.location.basic.LocationInternal;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.basic.LocationInternal;
 import brooklyn.policy.basic.AbstractPolicy;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.config.ConfigBag;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
index f52f2d2..c874060 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynPersistenceUtils.java
@@ -48,9 +48,9 @@ import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.rebind.PersistenceExceptionHandlerImpl;
 import brooklyn.entity.rebind.transformer.CompoundTransformer;
 import brooklyn.entity.rebind.transformer.CompoundTransformerLoader;
-import brooklyn.location.Location;
-import brooklyn.location.LocationSpec;
-import brooklyn.location.basic.LocalhostMachineProvisioningLocation;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.LocationSpec;
+import org.apache.brooklyn.location.basic.LocalhostMachineProvisioningLocation;
 import brooklyn.management.ha.ManagementPlaneSyncRecordPersisterToObjectStore;
 import brooklyn.management.internal.LocalLocationManager;
 import brooklyn.management.internal.ManagementContextInternal;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
index e78af93..c936526 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/XmlMementoSerializer.java
@@ -57,7 +57,7 @@ import brooklyn.entity.rebind.dto.BasicPolicyMemento;
 import brooklyn.entity.rebind.dto.MutableBrooklynMemento;
 import brooklyn.event.basic.BasicAttributeSensor;
 import brooklyn.event.basic.BasicConfigKey;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.management.classloading.BrooklynClassLoadingContextSequential;
 import brooklyn.management.classloading.ClassLoaderFromBrooklynClassLoadingContext;
 import brooklyn.management.classloading.JavaBrooklynClassLoadingContext;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/trait/Startable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/trait/Startable.java b/core/src/main/java/brooklyn/entity/trait/Startable.java
index 71f25f4..97674eb 100644
--- a/core/src/main/java/brooklyn/entity/trait/Startable.java
+++ b/core/src/main/java/brooklyn/entity/trait/Startable.java
@@ -32,7 +32,7 @@ import brooklyn.entity.basic.ConfigKeys;
 import brooklyn.entity.basic.MethodEffector;
 import brooklyn.entity.effector.EffectorBody;
 import brooklyn.entity.effector.Effectors;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.task.Tasks;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/entity/trait/StartableMethods.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/trait/StartableMethods.java b/core/src/main/java/brooklyn/entity/trait/StartableMethods.java
index b89a018..acfbde3 100644
--- a/core/src/main/java/brooklyn/entity/trait/StartableMethods.java
+++ b/core/src/main/java/brooklyn/entity/trait/StartableMethods.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
 import brooklyn.entity.basic.Entities;
 import brooklyn.entity.basic.EntityPredicates;
 import brooklyn.entity.effector.Effectors;
-import brooklyn.location.Location;
+import org.apache.brooklyn.location.Location;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.exceptions.CompoundRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/event/basic/PortAttributeSensorAndConfigKey.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/basic/PortAttributeSensorAndConfigKey.java b/core/src/main/java/brooklyn/event/basic/PortAttributeSensorAndConfigKey.java
index 9611bd5..ccfcc63 100644
--- a/core/src/main/java/brooklyn/event/basic/PortAttributeSensorAndConfigKey.java
+++ b/core/src/main/java/brooklyn/event/basic/PortAttributeSensorAndConfigKey.java
@@ -30,11 +30,11 @@ import org.slf4j.LoggerFactory;
 import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.BrooklynConfigKeys;
 import brooklyn.internal.BrooklynInitialization;
-import brooklyn.location.Location;
-import brooklyn.location.MachineProvisioningLocation;
-import brooklyn.location.PortRange;
-import brooklyn.location.PortSupplier;
-import brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.Location;
+import org.apache.brooklyn.location.MachineProvisioningLocation;
+import org.apache.brooklyn.location.PortRange;
+import org.apache.brooklyn.location.PortSupplier;
+import org.apache.brooklyn.location.basic.Locations;
 import brooklyn.util.flags.TypeCoercions;
 import brooklyn.util.guava.Maybe;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/event/feed/ssh/SshFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/feed/ssh/SshFeed.java b/core/src/main/java/brooklyn/event/feed/ssh/SshFeed.java
index f7975d9..200e2fb 100644
--- a/core/src/main/java/brooklyn/event/feed/ssh/SshFeed.java
+++ b/core/src/main/java/brooklyn/event/feed/ssh/SshFeed.java
@@ -39,9 +39,9 @@ import brooklyn.event.feed.AbstractFeed;
 import brooklyn.event.feed.AttributePollHandler;
 import brooklyn.event.feed.DelegatingPollHandler;
 import brooklyn.event.feed.Poller;
-import brooklyn.location.basic.Locations;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.Locations;
+import org.apache.brooklyn.location.basic.Machines;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.internal.ssh.SshTool;
 import brooklyn.util.time.Duration;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/event/feed/ssh/SshPollValue.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/feed/ssh/SshPollValue.java b/core/src/main/java/brooklyn/event/feed/ssh/SshPollValue.java
index 65dad55..7bdde17 100644
--- a/core/src/main/java/brooklyn/event/feed/ssh/SshPollValue.java
+++ b/core/src/main/java/brooklyn/event/feed/ssh/SshPollValue.java
@@ -20,7 +20,7 @@ package brooklyn.event.feed.ssh;
 
 import javax.annotation.Nullable;
 
-import brooklyn.location.basic.SshMachineLocation;
+import org.apache.brooklyn.location.basic.SshMachineLocation;
 
 public class SshPollValue {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/event/feed/windows/WindowsPerformanceCounterFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/feed/windows/WindowsPerformanceCounterFeed.java b/core/src/main/java/brooklyn/event/feed/windows/WindowsPerformanceCounterFeed.java
index 04f87ba..040d887 100644
--- a/core/src/main/java/brooklyn/event/feed/windows/WindowsPerformanceCounterFeed.java
+++ b/core/src/main/java/brooklyn/event/feed/windows/WindowsPerformanceCounterFeed.java
@@ -49,7 +49,7 @@ import brooklyn.event.basic.Sensors;
 import brooklyn.event.feed.AbstractFeed;
 import brooklyn.event.feed.PollHandler;
 import brooklyn.event.feed.Poller;
-import brooklyn.location.basic.WinRmMachineLocation;
+import org.apache.brooklyn.location.basic.WinRmMachineLocation;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.flags.TypeCoercions;
 import brooklyn.util.time.Duration;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/internal/BrooklynInitialization.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/internal/BrooklynInitialization.java b/core/src/main/java/brooklyn/internal/BrooklynInitialization.java
index 83d8d9d..70eea9f 100644
--- a/core/src/main/java/brooklyn/internal/BrooklynInitialization.java
+++ b/core/src/main/java/brooklyn/internal/BrooklynInitialization.java
@@ -20,7 +20,7 @@ package brooklyn.internal;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import brooklyn.location.basic.PortRanges;
+import org.apache.brooklyn.location.basic.PortRanges;
 import brooklyn.util.crypto.SecureKeys;
 import brooklyn.util.flags.TypeCoercions;
 import brooklyn.util.net.Networking;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e2c57058/core/src/main/java/brooklyn/location/access/BrooklynAccessUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/access/BrooklynAccessUtils.java b/core/src/main/java/brooklyn/location/access/BrooklynAccessUtils.java
deleted file mode 100644
index 9bf0f9b..0000000
--- a/core/src/main/java/brooklyn/location/access/BrooklynAccessUtils.java
+++ /dev/null
@@ -1,143 +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 brooklyn.location.access;
-
-import java.util.Collection;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.ConfigKey;
-import brooklyn.entity.basic.Attributes;
-import brooklyn.event.basic.BasicConfigKey;
-import brooklyn.location.Location;
-import brooklyn.location.MachineLocation;
-import brooklyn.location.basic.Machines;
-import brooklyn.location.basic.SshMachineLocation;
-import brooklyn.location.basic.SupportsPortForwarding;
-import brooklyn.util.exceptions.Exceptions;
-import brooklyn.util.guava.Maybe;
-import brooklyn.util.net.Cidr;
-import brooklyn.util.task.DynamicTasks;
-import brooklyn.util.task.Tasks;
-import brooklyn.util.task.ssh.SshTasks;
-import brooklyn.util.task.system.ProcessTaskWrapper;
-import brooklyn.util.text.Strings;
-
-import com.google.common.base.Supplier;
-import com.google.common.net.HostAndPort;
-
-public class BrooklynAccessUtils {
-
-    private static final Logger log = LoggerFactory.getLogger(BrooklynAccessUtils.class);
-    
-    public static final ConfigKey<PortForwardManager> PORT_FORWARDING_MANAGER = new BasicConfigKey<PortForwardManager>(
-            PortForwardManager.class, "brooklyn.portforwarding.manager", "A port-forwarding manager to use at an entity "
-                + "or a location, where supported; note this should normally be a serializable client instance to prevent "
-                + "the creation of multiple disconnected instances via config duplication");
-    
-    public static final ConfigKey<Cidr> MANAGEMENT_ACCESS_CIDR = new BasicConfigKey<Cidr>(
-            Cidr.class, "brooklyn.portforwarding.management.cidr", "CIDR to enable by default for port-forwarding for management",
-            null);  // TODO should be a list
-
-    public static HostAndPort getBrooklynAccessibleAddress(Entity entity, int port) {
-        String host;
-        
-        // look up port forwarding
-        PortForwardManager pfw = entity.getConfig(PORT_FORWARDING_MANAGER);
-        if (pfw!=null) {
-            Collection<Location> ll = entity.getLocations();
-            Maybe<SupportsPortForwarding> machine = Machines.findUniqueElement(ll, SupportsPortForwarding.class);
-            if (machine.isPresent()) {
-                synchronized (BrooklynAccessUtils.class) {
-                    // TODO finer-grained synchronization
-                    
-                    HostAndPort hp = pfw.lookup((MachineLocation)machine.get(), port);
-                    if (hp!=null) return hp;
-                    
-                    Location l = (Location) machine.get();
-                    if (l instanceof SupportsPortForwarding) {
-                        Cidr source = entity.getConfig(MANAGEMENT_ACCESS_CIDR);
-                        if (source!=null) {
-                            log.debug("BrooklynAccessUtils requesting new port-forwarding rule to access "+port+" on "+entity+" (at "+l+", enabled for "+source+")");
-                            // TODO discuss, is this the best way to do it
-                            // (will probably _create_ the port forwarding rule!)
-                            hp = ((SupportsPortForwarding) l).getSocketEndpointFor(source, port);
-                            if (hp!=null) return hp;
-                        } else {
-                            log.warn("No "+MANAGEMENT_ACCESS_CIDR.getName()+" configured for "+entity+", so cannot forward port "+port+" " +
-                                    "even though "+PORT_FORWARDING_MANAGER.getName()+" was supplied");
-                        }
-                    }
-                }
-            }
-        }
-        
-        host = entity.getAttribute(Attributes.HOSTNAME);
-        if (host!=null) return HostAndPort.fromParts(host, port);
-        
-        throw new IllegalStateException("Cannot find way to access port "+port+" on "+entity+" from Brooklyn (no host.name)");
-    }
-
-    /** attempts to resolve hostnameTarget from origin
-     * @return null if it definitively can't be resolved,  
-     * best-effort IP address if possible, or blank if we could not run ssh or make sense of the output */
-    public static String getResolvedAddress(Entity entity, SshMachineLocation origin, String hostnameTarget) {
-        ProcessTaskWrapper<Integer> task = SshTasks.newSshExecTaskFactory(origin, "ping -c 1 -t 1 "+hostnameTarget)
-            .summary("checking resolution of "+hostnameTarget).allowingNonZeroExitCode().newTask();
-        DynamicTasks.queueIfPossible(task).orSubmitAndBlock(entity).asTask().blockUntilEnded();
-        if (task.asTask().isError()) {
-            log.warn("ping could not be run, at "+entity+" / "+origin+": "+Tasks.getError(task.asTask()));
-            return "";
-        }
-        if (task.getExitCode()==null || task.getExitCode()!=0) {
-            if (task.getExitCode()!=null && task.getExitCode()<10) {
-                // small number means ping failed to resolve or ping the hostname
-                log.debug("not able to resolve "+hostnameTarget+" from "+origin+" for "+entity+" because exit code was "+task.getExitCode());
-                return null;
-            }
-            // large number means ping probably did not run
-            log.warn("ping not run as expected, at "+entity+" / "+origin+" (code "+task.getExitCode()+"):\n"+task.getStdout().trim()+" --- "+task.getStderr().trim());
-            return "";
-        }
-        String out = task.getStdout();
-        try {
-            String line1 = Strings.getFirstLine(out);
-            String ip = Strings.getFragmentBetween(line1, "(", ")");
-            if (Strings.isNonBlank(ip)) 
-                return ip;
-        } catch (Exception e) {
-            Exceptions.propagateIfFatal(e);
-            /* ignore non-parseable output */ 
-        }
-        if (out.contains("127.0.0.1")) return "127.0.0.1";
-        return "";
-    }
-
-    public static Supplier<String> resolvedAddressSupplier(final Entity entity, final SshMachineLocation origin, final String hostnameTarget) {
-        return new Supplier<String>() {
-            @Override
-            public String get() {
-                return getResolvedAddress(entity, origin, hostnameTarget);
-            }
-        };
-    }
-
-}