You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/09/01 17:16:40 UTC

[17/28] incubator-brooklyn git commit: rename non-java mentions of classes which have been moved -- in plans, comments, and docs

rename non-java mentions of classes which have been moved -- in plans, comments, and docs

minor other tidies, to policies docs, and camp Service.toString, to remove prefixes rather than just change them;
in docs, we've also updated `package_path`, policies docs, links, and confirmed the build of api docs and catalog


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

Branch: refs/heads/master
Commit: f17da16f6b4ed54e45df58e3acf33aa77fc513e3
Parents: 9fca8a2
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Mon Aug 31 17:20:30 2015 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Sep 1 12:05:39 2015 +0100

----------------------------------------------------------------------
 .../brooklyn/api/catalog/BrooklynCatalog.java   |   8 +-
 .../apache/brooklyn/api/location/Location.java  |   4 -
 .../apache/brooklyn/camp/spi/pdp/Service.java   |   3 +-
 .../brooklyn/core/catalog/CatalogLoadMode.java  |   3 +-
 .../catalog/internal/CatalogInitialization.java |   1 +
 .../core/entity/lifecycle/Lifecycle.java        |   8 +-
 .../brooklyn/core/location/geo/HostGeoInfo.java |  11 +
 .../rebind/transformer/CompoundTransformer.java |   2 +-
 .../core/objs/proxy/InternalEntityFactory.java  |   2 +-
 .../core/sensor/DependentConfiguration.java     |   2 +-
 .../core/catalog/CatalogPredicatesTest.java     |  22 +-
 .../core/effector/EffectorBasicTest.java        |  14 +-
 .../core/entity/EntityPreManagementTest.java    |   6 +-
 .../core/entity/PolicyRegistrationTest.java     |   7 +-
 .../mgmt/osgi/OsgiVersionMoreEntityTest.java    |   3 +-
 ...stomAggregatingEnricherDeprecatedTest.groovy |  14 +-
 .../TransformingEnricherDeprecatedTest.groovy   |   4 +-
 .../entity/group/DynamicClusterTest.java        |   2 +-
 .../entity/group/DynamicFabricTest.java         |   4 +-
 docs/README.md                                  |   9 +-
 docs/_build/make-javadoc.sh                     |   2 +-
 .../big_examples/global-web-fabric/index.md     |   8 +-
 docs/_includes/java_link.html                   |   4 +-
 docs/guide/dev/code/tests.md                    |   4 +-
 docs/guide/java/entitlements.md                 |   6 +-
 docs/guide/java/index.md                        |   2 +-
 docs/guide/java/policies.md                     |  64 +--
 docs/guide/java/policy.md                       |  37 +-
 docs/guide/ops/brooklyn_properties.md           |   4 +-
 docs/guide/ops/catalog/index.md                 |  10 +-
 docs/guide/ops/locations/index.md               |   8 +-
 docs/guide/ops/locations/more-locations.md      |   4 +-
 docs/guide/ops/persistence/index.md             |   2 +-
 docs/guide/ops/troubleshooting/deployment.md    |   2 +-
 .../going-deep-in-java-and-logs.md              | 175 +++---
 .../ops/troubleshooting/softwareprocess.md      |   3 +-
 docs/guide/start/_my-web-cluster.yaml           |   2 +-
 docs/guide/yaml/chef/creating-blueprints.md     |   2 +-
 docs/guide/yaml/custom-entities.md              |   4 +-
 .../example_yaml/appserver-clustered-w-db.yaml  |   4 +-
 .../appserver-configured-in-config.yaml         |   2 +-
 .../yaml/example_yaml/appserver-configured.yaml |   2 +-
 .../appserver-w-db-other-flavor.yaml            |   2 +-
 .../guide/yaml/example_yaml/appserver-w-db.yaml |   2 +-
 .../yaml/example_yaml/appserver-w-policy.yaml   |   4 +-
 docs/guide/yaml/example_yaml/cluster-vm.yaml    |   2 +-
 .../simple-appserver-with-location-byon.yaml    |   2 +-
 .../simple-appserver-with-location.yaml         |   2 +-
 .../yaml/example_yaml/simple-appserver.yaml     |   2 +-
 ...est-app-with-enrichers-slightly-simpler.yaml |  18 +-
 docs/guide/yaml/index.md                        |   1 +
 docs/guide/yaml/winrm/about-winrm.md            |   0
 docs/guide/yaml/winrm/index.md                  |   4 +-
 docs/guide/yaml/yaml-reference.md               |  12 +-
 .../release-process/verify-release-artifacts.md |   2 +-
 docs/website/learnmore/blueprint-tour.md        |   4 +-
 .../website/learnmore/catalog/catalog-item.html |   2 +-
 .../brooklyn/location/jclouds/JcloudsUtil.java  |   6 +-
 .../JcloudsPortForwarderExtension.java          |   3 +-
 .../policy/enricher/HttpLatencyDetector.java    |   5 +-
 .../apache/brooklyn/feed/jmx/JmxFeedTest.java   |  15 +-
 .../apache/brooklyn/feed/jmx/JmxHelperTest.java |   3 +-
 .../entity/nosql/couchbase/pillowfight.yaml     |   2 +-
 .../entity/proxy/nginx/NginxSshDriver.java      |   3 +-
 .../entity/webapp/jboss/JBoss6SshDriver.java    |   3 +-
 .../entity/webapp/jboss/JBoss7SshDriver.java    |   3 +-
 .../entity/webapp/tomcat/TomcatSshDriver.java   |   3 +-
 .../webapp/WebAppLiveIntegrationTest.groovy     |   9 -
 .../brooklyn/spi/creation/CampCatalogUtils.java |   2 +-
 .../main/resources/brooklyn/default.catalog.bom |  20 +-
 .../apache/brooklyn/cli/CliIntegrationTest.java |   4 +-
 .../javascript/specs/model/application-spec.js  |   2 +-
 .../test/javascript/specs/model/entity-spec.js  |   4 +-
 ...lynLauncherRebindToCloudObjectStoreTest.java |   6 +-
 .../src/test/resources/mongo-sharded.yaml       |   2 +-
 .../qa/load/SimulatedJBoss7ServerImpl.java      |   3 +-
 .../SoftlayerObtainPrivateLiveTest.java         |   3 +-
 .../rest/domain/ApplicationSpecTest.java        |   2 +-
 .../brooklyn/rest/domain/EntitySpecTest.java    |   2 +-
 .../resources/fixtures/application-list.json    |   2 +-
 .../resources/fixtures/application-spec.json    |   4 +-
 .../test/resources/fixtures/application.json    |   4 +-
 .../resources/fixtures/entity-only-type.json    |   4 +-
 .../src/test/resources/fixtures/entity.json     |   2 +-
 .../brooklyn/rest/domain/ApplicationTest.java   |   2 +-
 .../org/apache/brooklyn/test/TestUtils.groovy   | 538 -------------------
 .../org/apache/brooklyn/test/TestUtils.java     |  79 +++
 .../java/org/apache/brooklyn/test/Asserts.java  |  17 +-
 .../util/internal/BrooklynSystemProperties.java |   5 +-
 .../util/javalang/StackTraceSimplifier.java     |   6 +-
 90 files changed, 413 insertions(+), 894 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/api/src/main/java/org/apache/brooklyn/api/catalog/BrooklynCatalog.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/catalog/BrooklynCatalog.java b/api/src/main/java/org/apache/brooklyn/api/catalog/BrooklynCatalog.java
index 00ce2e7..21002d9 100644
--- a/api/src/main/java/org/apache/brooklyn/api/catalog/BrooklynCatalog.java
+++ b/api/src/main/java/org/apache/brooklyn/api/catalog/BrooklynCatalog.java
@@ -26,25 +26,25 @@ import com.google.common.base.Predicate;
 public interface BrooklynCatalog {
     static String DEFAULT_VERSION = "0.0.0_DEFAULT_VERSION";
 
-    /** @return The item with the given {@link brooklyn.catalog.CatalogItem#getSymbolicName()
+    /** @return The item with the given {@link CatalogItem#getSymbolicName()
      * symbolicName}, or null if not found.
      * @deprecated since 0.7.0 use {@link #getCatalogItem(String, String)};
      * or see also CatalogUtils getCatalogItemOptionalVersion */
     @Deprecated
     CatalogItem<?,?> getCatalogItem(String symbolicName);
 
-    /** @return The item with the given {@link brooklyn.catalog.CatalogItem#getSymbolicName()
+    /** @return The item with the given {@link CatalogItem#getSymbolicName()
      * symbolicName}, or null if not found. */
     CatalogItem<?,?> getCatalogItem(String symbolicName, String version);
 
     /** @return Deletes the item with the given
-     *  {@link brooklyn.catalog.CatalogItem#getSymbolicName() symbolicName}
+     *  {@link CatalogItem#getSymbolicName() symbolicName}
      * @throws NoSuchElementException if not found
      * @deprecated since 0.7.0 use {@link #deleteCatalogItem(String, String)} */
     @Deprecated
     void deleteCatalogItem(String symbolicName);
 
-    /** @return Deletes the item with the given {@link brooklyn.catalog.CatalogItem#getSymbolicName()
+    /** @return Deletes the item with the given {@link CatalogItem#getSymbolicName()
      * symbolicName} and version
      * @throws NoSuchElementException if not found */
     void deleteCatalogItem(String symbolicName, String version);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/api/src/main/java/org/apache/brooklyn/api/location/Location.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/location/Location.java b/api/src/main/java/org/apache/brooklyn/api/location/Location.java
index e2c49fb..392af13 100644
--- a/api/src/main/java/org/apache/brooklyn/api/location/Location.java
+++ b/api/src/main/java/org/apache/brooklyn/api/location/Location.java
@@ -29,10 +29,6 @@ import org.apache.brooklyn.config.ConfigKey.HasConfigKey;
 /**
  * A location that an entity can be in. Examples of locations include a single machine
  * or a pool of machines, or a region within a given cloud. 
- * 
- * See {@link brooklyn.entity.trait.Startable#start(Collection)}.
- * 
- * Locations may not be {@link Serializable} in subsequent releases!
  */
 public interface Location extends Serializable, BrooklynObject {
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/pdp/Service.java
----------------------------------------------------------------------
diff --git a/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/pdp/Service.java b/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/pdp/Service.java
index af15ddf..7bc310f 100644
--- a/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/pdp/Service.java
+++ b/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/pdp/Service.java
@@ -25,6 +25,7 @@ import java.util.Map;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.yaml.Yamls;
 import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -87,7 +88,7 @@ public class Service {
     
     @Override
     public String toString() {
-        return ToStringBuilder.reflectionToString(this);
+        return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/main/java/org/apache/brooklyn/core/catalog/CatalogLoadMode.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/CatalogLoadMode.java b/core/src/main/java/org/apache/brooklyn/core/catalog/CatalogLoadMode.java
index 73f5a4e..dd2e54b 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/CatalogLoadMode.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/CatalogLoadMode.java
@@ -20,6 +20,7 @@ package org.apache.brooklyn.core.catalog;
 
 import org.apache.brooklyn.core.catalog.internal.CatalogInitialization;
 import org.apache.brooklyn.core.mgmt.persist.PersistMode;
+import org.apache.brooklyn.core.server.BrooklynServerConfig;
 import org.slf4j.LoggerFactory;
 
 /** @deprecated since 0.7.0 replaced by {@link CatalogInitialization} */
@@ -27,7 +28,7 @@ import org.slf4j.LoggerFactory;
 public enum CatalogLoadMode {
     /**
      * The server will load its initial catalog from the URL configured in
-     * {@link brooklyn.config.BrooklynServerConfig#BROOKLYN_CATALOG_URL} and will
+     * {@link BrooklynServerConfig#BROOKLYN_CATALOG_URL} and will
      * disregard existing persisted state.
      */
     LOAD_BROOKLYN_CATALOG_URL,

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
index 907cbb8..041037f 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
@@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.ha.ManagementNodeState;
+import org.apache.brooklyn.core.catalog.CatalogLoadMode;
 import org.apache.brooklyn.core.mgmt.ManagementContextInjectable;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.server.BrooklynServerConfig;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/Lifecycle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/Lifecycle.java b/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/Lifecycle.java
index dfbdbd7..68b316e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/Lifecycle.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/Lifecycle.java
@@ -25,6 +25,7 @@ import java.util.regex.Pattern;
 
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.core.config.render.RendererHints;
+import org.apache.brooklyn.core.entity.trait.Startable;
 import org.apache.brooklyn.util.core.flags.TypeCoercions;
 import org.apache.brooklyn.util.text.StringFunctions;
 
@@ -41,7 +42,7 @@ public enum Lifecycle {
      * The entity has just been created.
      *
      * 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
+     * complete, the basic set of sensors will be available, apart from any that require the entity to be active or
      * deployed to a {@link Location}.
      */
     CREATED,
@@ -49,7 +50,7 @@ public enum Lifecycle {
     /**
      * The entity is starting.
      * <p>
-     * This stage is typically entered when the {@link brooklyn.entity.trait.Startable#START} {@link brooklyn.entity.Effector} 
+     * This stage is typically entered when the {@link Startable#START} effector 
      * is called, to undertake the startup operations from the management plane.
      * When this completes the entity will normally transition to 
      * {@link Lifecycle#RUNNING}. 
@@ -65,7 +66,8 @@ public enum Lifecycle {
     /**
      * The entity is stopping.
      *
-     * This stage is activated when the {@link brooklyn.entity.trait.Startable#STOP} effector is called. The entity service is stopped. 
+     * This stage is activated when the 
+     * {@link Startable#STOP} effector is called. The entity service is stopped. 
      * Sensors that provide data from the running entity may be cleared and subscriptions cancelled.
      */
     STOPPING,

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/main/java/org/apache/brooklyn/core/location/geo/HostGeoInfo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/geo/HostGeoInfo.java b/core/src/main/java/org/apache/brooklyn/core/location/geo/HostGeoInfo.java
index 7089de9..f99b41d 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/geo/HostGeoInfo.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/geo/HostGeoInfo.java
@@ -140,9 +140,20 @@ public class HostGeoInfo implements Serializable {
         }
         return result;
     }
+
+    @Deprecated
+    private static boolean warnedLegacy = false;
     
     private static HostGeoLookup findHostGeoLookupImpl() throws InstantiationException, IllegalAccessException, ClassNotFoundException {
         String type = BrooklynSystemProperties.HOST_GEO_LOOKUP_IMPL.getValue();
+        if (type==null) {
+            type = BrooklynSystemProperties.HOST_GEO_LOOKUP_IMPL_LEGACY.getValue();
+            if (type!=null && !warnedLegacy) {
+                warnedLegacy = true;
+                log.warn("Using deprecated host-geo-lookup property "+BrooklynSystemProperties.HOST_GEO_LOOKUP_IMPL_LEGACY+"; "
+                    + "set "+BrooklynSystemProperties.HOST_GEO_LOOKUP_IMPL+" instead");
+            }
+        }
         /* utrace seems more accurate than geobytes, and it gives a report of how many tokens are left;
          * but maxmind if it's installed locally is even better (does not require remote lookup),
          * so use it if available */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java
index 74b1375..09b28b4 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java
@@ -201,7 +201,7 @@ public class CompoundTransformer {
         }
 
         private String toXstreamClassnameFormat(String val) {
-            // xstream format for inner classes is like <brooklyn.entity.rebind.transformer.CompoundTransformerTest_-OrigType>
+            // xstream format for inner classes is like <org.apache.brooklyn.core.mgmt.rebind.transformer.CompoundTransformerTest_-OrigType>
             return (val.contains("$")) ? val.replace("$", "_-") : val;
         }
         public CompoundTransformer build() {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/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 9547c9d..af7dd77 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
@@ -112,7 +112,7 @@ public class InternalEntityFactory extends InternalFactory {
         // TODO OSGi strangeness! The classloader obtained from the type should be enough.
         // If an OSGi class loader, it should delegate to find things like Entity.class etc.
         // However, we get errors such as:
-        //    NoClassDefFoundError: brooklyn.event.AttributeSensor not found by io.brooklyn.brooklyn-test-osgi-entities
+        //    NoClassDefFoundError: org.apache.brooklyn.api.sensor.AttributeSensor not found by ....brooklyn-test-osgi-entities
         // Building our own aggregating class loader gets around this.
         // But we really should not have to do this! What are the consequences?
         //

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/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 d4f32d8..01e3426 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
@@ -90,7 +90,7 @@ import com.google.common.collect.Lists;
  * If using a lot it may be useful to:
  * <pre>
  * {@code
- *   import static brooklyn.event.basic.DependentConfiguration.*;
+ *   import static org.apache.brooklyn.core.sensor.DependentConfiguration.*;
  * }
  * </pre>
  */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/core/catalog/CatalogPredicatesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/CatalogPredicatesTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/CatalogPredicatesTest.java
index e858061..2f9e841 100644
--- a/core/src/test/java/org/apache/brooklyn/core/catalog/CatalogPredicatesTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/catalog/CatalogPredicatesTest.java
@@ -55,7 +55,7 @@ public class CatalogPredicatesTest {
     @Test
     public void testDisplayName() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .displayName("myname")
                 .build());
 
@@ -66,7 +66,7 @@ public class CatalogPredicatesTest {
     @Test
     public void testDeprecated() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>deprecated(false).apply(item));
@@ -81,7 +81,7 @@ public class CatalogPredicatesTest {
     @Test
     public void testDisabled() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>disabled(false).apply(item));
@@ -96,7 +96,7 @@ public class CatalogPredicatesTest {
     @Test
     public void testIsCatalogItemType() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>isCatalogItemType(CatalogItemType.ENTITY).apply(item));
@@ -106,7 +106,7 @@ public class CatalogPredicatesTest {
     @Test
     public void testSymbolicName() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>symbolicName(Predicates.equalTo("foo")).apply(item));
@@ -116,14 +116,14 @@ public class CatalogPredicatesTest {
     @Test
     public void testIsBestVersion() {
         CatalogItem<Entity, EntitySpec<?>> itemV1 = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
         CatalogItem<Entity, EntitySpec<?>> itemV2 = createItem(CatalogItemBuilder.newEntity("foo", "2.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
         CatalogItem<Entity, EntitySpec<?>> itemV3Disabled = createItem(CatalogItemBuilder.newEntity("foo", "3.0")
                 .disabled(true)
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>isBestVersion(mgmt).apply(itemV2));
@@ -135,7 +135,7 @@ public class CatalogPredicatesTest {
     public void testEntitledToSee() {
         // TODO No entitlements configured, so everything allowed - therefore test not thorough enough!
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .plan("services:\n- type: brooklyn.entity.basic.BasicEntity")
+                .plan("services:\n- type: org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
         assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>entitledToSee(mgmt).apply(item));
@@ -145,10 +145,10 @@ public class CatalogPredicatesTest {
     @Test
     public void testJavaType() {
         CatalogItem<Entity, EntitySpec<?>> item = createItem(CatalogItemBuilder.newEntity("foo", "1.0")
-                .javaType("brooklyn.entity.basic.BasicEntity")
+                .javaType("org.apache.brooklyn.entity.stock.BasicEntity")
                 .build());
 
-        assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>javaType(Predicates.equalTo("brooklyn.entity.basic.BasicEntity")).apply(item));
+        assertTrue(CatalogPredicates.<Entity,EntitySpec<?>>javaType(Predicates.equalTo("org.apache.brooklyn.entity.stock.BasicEntity")).apply(item));
         assertFalse(CatalogPredicates.<Entity,EntitySpec<?>>javaType(Predicates.equalTo("wrongtype")).apply(item));
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/core/effector/EffectorBasicTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/effector/EffectorBasicTest.java b/core/src/test/java/org/apache/brooklyn/core/effector/EffectorBasicTest.java
index b05a397..a8dfda5 100644
--- a/core/src/test/java/org/apache/brooklyn/core/effector/EffectorBasicTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/effector/EffectorBasicTest.java
@@ -32,7 +32,7 @@ import org.apache.brooklyn.core.location.SimulatedLocation;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
 import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.test.TestUtils;
+import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.core.task.Tasks;
 import org.apache.brooklyn.util.exceptions.Exceptions;
@@ -63,20 +63,20 @@ public class EffectorBasicTest extends BrooklynAppUnitTestSupport {
     @Test
     public void testInvokeEffectorStart() {
         app.start(locs);
-        TestUtils.assertSetsEqual(locs, app.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, app.getLocations());
         // TODO above does not get registered as a task
     }
 
     @Test
     public void testInvokeEffectorStartWithMap() {
         app.invoke(Startable.START, MutableMap.of("locations", locs)).getUnchecked();
-        TestUtils.assertSetsEqual(locs, app.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, app.getLocations());
     }
 
     @Test
     public void testInvokeEffectorStartWithArgs() {
         Entities.invokeEffectorWithArgs((EntityLocal)app, app, Startable.START, locs).getUnchecked();
-        TestUtils.assertSetsEqual(locs, app.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, app.getLocations());
     }
 
     @Test
@@ -84,9 +84,9 @@ public class EffectorBasicTest extends BrooklynAppUnitTestSupport {
         TestEntity entity = app.createAndManageChild(EntitySpec.create(TestEntity.class));
         TestEntity entity2 = app.createAndManageChild(EntitySpec.create(TestEntity.class));
         app.start(locs);
-        TestUtils.assertSetsEqual(locs, app.getLocations());
-        TestUtils.assertSetsEqual(locs, entity.getLocations());
-        TestUtils.assertSetsEqual(locs, entity2.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, app.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, entity.getLocations());
+        Asserts.assertEqualsIgnoringOrder(locs, entity2.getLocations());
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/core/entity/EntityPreManagementTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/EntityPreManagementTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/EntityPreManagementTest.java
index 0d83980..e10c703 100644
--- a/core/src/test/java/org/apache/brooklyn/core/entity/EntityPreManagementTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/entity/EntityPreManagementTest.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.core.policy.AbstractPolicy;
 import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.core.test.entity.TestApplication;
 import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.test.TestUtils;
+import org.apache.brooklyn.test.Asserts;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.Assert;
@@ -102,7 +102,7 @@ public class EntityPreManagementTest {
         e.setParent(app);
         Entities.manage(e);
         
-        TestUtils.assertEventually(new Runnable() {
+        Asserts.succeedsEventually(new Runnable() {
             @Override
             public void run() {
                 if (events.isEmpty()) Assert.fail("no events received");
@@ -135,7 +135,7 @@ public class EntityPreManagementTest {
         
         Entities.startManagement(app, managementContext);
         
-        TestUtils.assertEventually(new Runnable() {
+        Asserts.succeedsEventually(new Runnable() {
             @Override
             public void run() {
                 if (events.isEmpty()) Assert.fail("no events received");

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/core/entity/PolicyRegistrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/PolicyRegistrationTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/PolicyRegistrationTest.java
index b802bb6..10b85bb 100644
--- a/core/src/test/java/org/apache/brooklyn/core/entity/PolicyRegistrationTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/entity/PolicyRegistrationTest.java
@@ -31,13 +31,12 @@ import org.apache.brooklyn.api.policy.PolicySpec;
 import org.apache.brooklyn.api.sensor.EnricherSpec;
 import org.apache.brooklyn.api.sensor.SensorEvent;
 import org.apache.brooklyn.api.sensor.SensorEventListener;
-import org.apache.brooklyn.core.entity.AbstractEntity;
 import org.apache.brooklyn.core.entity.lifecycle.PolicyDescriptor;
 import org.apache.brooklyn.core.policy.AbstractPolicy;
 import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
 import org.apache.brooklyn.core.test.entity.TestEntity;
 import org.apache.brooklyn.core.test.entity.TestEntityNoEnrichersImpl;
-import org.apache.brooklyn.test.TestUtils;
+import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -135,7 +134,7 @@ public class PolicyRegistrationTest extends BrooklynAppUnitTestSupport {
     }
     
     private <T> void assertEqualsEventually(final T actual, final T expected) {
-        TestUtils.assertEventually(MutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
+        Asserts.succeedsEventually(MutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
                 @Override public void run() {
                     assertEquals(actual, expected, "actual="+actual);
                 }});
@@ -143,7 +142,7 @@ public class PolicyRegistrationTest extends BrooklynAppUnitTestSupport {
     
     // Ignores order of vals in collection, but asserts each same size and same elements 
     private <T> void assertCollectionEqualsEventually(final Collection<? extends T> actual, final Collection<? extends T> expected) {
-        TestUtils.assertEventually(MutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
+        Asserts.succeedsEventually(MutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
                 @Override public void run() {
                     assertEquals(ImmutableSet.copyOf(actual), ImmutableSet.copyOf(expected), "actual="+actual);
                     assertEquals(actual.size(), expected.size(), "actual="+actual);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiVersionMoreEntityTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiVersionMoreEntityTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiVersionMoreEntityTest.java
index b7c7292..5eb9bbf 100644
--- a/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiVersionMoreEntityTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/osgi/OsgiVersionMoreEntityTest.java
@@ -99,7 +99,8 @@ public class OsgiVersionMoreEntityTest {
     
     /**
      * Test fix for
-     * java.lang.NoClassDefFoundError: brooklyn.event.AttributeSensor not found by io.brooklyn.brooklyn-test-osgi-entities [41]
+     * NoClassDefFoundError: org.apache.brooklyn.api.sensor.AttributeSensor not found by ....brooklyn-test-osgi-entities
+     * (see comments in InternalEntityFactory)
      */
     @Test
     public void testEntityProxy() throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/enricher/stock/CustomAggregatingEnricherDeprecatedTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/enricher/stock/CustomAggregatingEnricherDeprecatedTest.groovy b/core/src/test/java/org/apache/brooklyn/enricher/stock/CustomAggregatingEnricherDeprecatedTest.groovy
index 481e233..68d6804 100644
--- a/core/src/test/java/org/apache/brooklyn/enricher/stock/CustomAggregatingEnricherDeprecatedTest.groovy
+++ b/core/src/test/java/org/apache/brooklyn/enricher/stock/CustomAggregatingEnricherDeprecatedTest.groovy
@@ -27,9 +27,9 @@ import org.apache.brooklyn.core.test.entity.TestEntity
 import org.apache.brooklyn.enricher.stock.CustomAggregatingEnricher;
 import org.apache.brooklyn.core.entity.Entities
 import org.apache.brooklyn.entity.group.BasicGroup
+import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.core.location.SimulatedLocation
 import org.apache.brooklyn.core.sensor.BasicAttributeSensor
-import org.apache.brooklyn.test.TestUtils
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 import org.testng.annotations.AfterMethod
@@ -271,18 +271,18 @@ class CustomAggregatingEnricherDeprecatedTest {
 
             group.addMember(p1)
             p1.setAttribute(intSensor, 1)
-            TestUtils.executeUntilSucceeds(timeout:TIMEOUT_MS) {
+            Asserts.succeedsEventually(timeout:TIMEOUT_MS) {
                 assertEquals cae.getAggregate(), 1
             }
 
             group.addMember(p2)
             p2.setAttribute(intSensor, 2)
-            TestUtils.executeUntilSucceeds(timeout:TIMEOUT_MS) {
+            Asserts.succeedsEventually(timeout:TIMEOUT_MS) {
                 assertEquals cae.getAggregate(), 3
             }
 
             group.removeMember(p2)
-            TestUtils.executeUntilSucceeds(timeout:TIMEOUT_MS) {
+            Asserts.succeedsEventually(timeout:TIMEOUT_MS) {
                 assertEquals cae.getAggregate(), 1
             }
         } catch (Exception e) {
@@ -315,12 +315,12 @@ class CustomAggregatingEnricherDeprecatedTest {
         assertEquals cae.getAggregate(), 1
 
         p2.setAttribute(intSensor, 2)
-        TestUtils.executeUntilSucceeds(timeout:TIMEOUT_MS) {
+        Asserts.succeedsEventually(timeout:TIMEOUT_MS) {
             assertEquals cae.getAggregate(), 3
         }
         
         group.removeMember(p2)
-        TestUtils.executeUntilSucceeds(timeout:TIMEOUT_MS) {
+        Asserts.succeedsEventually(timeout:TIMEOUT_MS) {
             assertEquals cae.getAggregate(), 1
         }
     }
@@ -343,7 +343,7 @@ class CustomAggregatingEnricherDeprecatedTest {
         assertEquals cae.getAggregate(), 1
         
         group.addMember(p3)
-        TestUtils.assertSucceedsContinually(timeout:SHORT_WAIT_MS) {
+        Asserts.succeedsContinually(timeout:SHORT_WAIT_MS) {
             assertEquals cae.getAggregate(), 1
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/enricher/stock/TransformingEnricherDeprecatedTest.groovy
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/enricher/stock/TransformingEnricherDeprecatedTest.groovy b/core/src/test/java/org/apache/brooklyn/enricher/stock/TransformingEnricherDeprecatedTest.groovy
index d1f264d..b524738 100644
--- a/core/src/test/java/org/apache/brooklyn/enricher/stock/TransformingEnricherDeprecatedTest.groovy
+++ b/core/src/test/java/org/apache/brooklyn/enricher/stock/TransformingEnricherDeprecatedTest.groovy
@@ -28,7 +28,7 @@ import org.apache.brooklyn.enricher.stock.SensorTransformingEnricher;
 import org.apache.brooklyn.core.entity.Entities
 import org.apache.brooklyn.core.location.SimulatedLocation
 import org.apache.brooklyn.core.sensor.BasicAttributeSensor
-import org.apache.brooklyn.test.TestUtils
+import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.MutableMap
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
@@ -73,7 +73,7 @@ public class TransformingEnricherDeprecatedTest {
         //ensure previous values get picked up
         producer.addEnricher(e1);
 
-        TestUtils.assertEventually(MutableMap.of("timeout", TIMEOUT_MS), 
+        Asserts.succeedsEventually(MutableMap.of("timeout", TIMEOUT_MS), 
                 new Callable<Object>() { public Object call() {
                     Assert.assertEquals(producer.getAttribute(target), (Long)((long)6));
                     return null;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/entity/group/DynamicClusterTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicClusterTest.java b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicClusterTest.java
index 0e2f73f..44e4fbd 100644
--- a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicClusterTest.java
+++ b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicClusterTest.java
@@ -437,7 +437,7 @@ public class DynamicClusterTest extends BrooklynAppUnitTestSupport {
             return null;
         } catch (Exception e) {
             Exceptions.propagateIfFatal(e);
-            // expect: brooklyn.util.exceptions.PropagatedRuntimeException: Error invoking resize at DynamicClusterImpl{id=I9Ggxfc1}: 1 of 3 parallel child tasks failed: Simulating entity stop failure for test
+            // expect: PropagatedRuntimeException: Error invoking resize at DynamicClusterImpl{id=I9Ggxfc1}: 1 of 3 parallel child tasks failed: Simulating entity stop failure for test
             Assert.assertTrue(e.toString().contains("resize"));
             return e;
         }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/core/src/test/java/org/apache/brooklyn/entity/group/DynamicFabricTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicFabricTest.java b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicFabricTest.java
index 0c18820..9d1830e 100644
--- a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicFabricTest.java
+++ b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicFabricTest.java
@@ -47,9 +47,9 @@ import org.apache.brooklyn.core.test.entity.BlockingEntity;
 import org.apache.brooklyn.core.test.entity.TestEntity;
 import org.apache.brooklyn.entity.stock.BasicEntity;
 import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.test.TestUtils;
 import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.collections.MutableMap;
+import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.repeat.Repeater;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -325,7 +325,7 @@ public class DynamicFabricTest extends BrooklynAppUnitTestSupport {
             fabric.start(ImmutableList.of(loc1));
             assertEquals(fabric.getChildren().size(), 1);
         } catch (Exception e) {
-            Throwable unwrapped = TestUtils.unwrapThrowable(e);
+            Throwable unwrapped = Exceptions.getFirstInteresting(e);
             if (unwrapped instanceof IllegalStateException && unwrapped.getMessage() != null && (unwrapped.getMessage().contains("is not Startable"))) {
                 // success
             } else {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/README.md
----------------------------------------------------------------------
diff --git a/docs/README.md b/docs/README.md
index bf0766b..8728afc 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -63,7 +63,7 @@ Some issues we've encountered are:
 Seeing the Website and Docs
 ---------------------------
 
-To build and see the documentation, run this command in your `docs` folder:
+To build and most of see the documentation, run this command in your `docs` folder:
 
     jekyll serve
     
@@ -73,6 +73,9 @@ Modified files will be detected and regenerated (but that might take up to 1m).
 Add `--no-watch` argument to turn off regeneration, or use `jekyll build` instead
 to generate a site in `_site` without a server.
 
+This does <i>not</i> generate API docs and certain other material;
+see the notes on `_build/build.sh` below for that.
+
 
 Project Structure
 -----------------
@@ -141,8 +144,8 @@ Building the Website and Guide
 ------------------------------
 
 For most users, the `jekyll serve` command described above is sufficient to test changes locally.
-The main reason to use the build scripts (and to read this section) is to push changes to the server.
-This power is reserved to Brooklyn committers.
+The main reason to use the build scripts (and to read this section) is to push changes to the server
+(requires Apache Brooklyn commit rights), or to test generated content such as API docs.
 
 The build is controlled by config files in `_build/` and accessed through `_build/build.sh`.
 There are a number of different builds possible; to list these, run:

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/_build/make-javadoc.sh
----------------------------------------------------------------------
diff --git a/docs/_build/make-javadoc.sh b/docs/_build/make-javadoc.sh
index 56e3bb5..2fa6258 100755
--- a/docs/_build/make-javadoc.sh
+++ b/docs/_build/make-javadoc.sh
@@ -45,7 +45,7 @@ javadoc -sourcepath $SOURCE_PATHS \
 if ((${PIPESTATUS[0]})) ; then echo ; echo ; echo "ERROR: javadoc process exited non-zero" ; exit 1 ; fi
 echo ; echo
 
-if [ ! -f target/$JAVADOC_TARGET1_SUBPATH/brooklyn/entity/Entity.html ]; then echo "ERROR: missing expected content. Are the paths right?" ; exit 1 ; fi
+if [ ! -f target/$JAVADOC_TARGET1_SUBPATH/org/apache/brooklyn/api/entity/Entity.html ]; then echo "ERROR: missing expected content. Are the paths right?" ; exit 1 ; fi
 
 if [ ! -z "`grep warnings target/javadoc.log`" ] ; then echo "WARNINGs occurred during javadoc build. See target/javadoc.log for more information." ; fi
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/_extra/big_examples/global-web-fabric/index.md
----------------------------------------------------------------------
diff --git a/docs/_extra/big_examples/global-web-fabric/index.md b/docs/_extra/big_examples/global-web-fabric/index.md
index 8ddbadc..a8c373a 100644
--- a/docs/_extra/big_examples/global-web-fabric/index.md
+++ b/docs/_extra/big_examples/global-web-fabric/index.md
@@ -73,7 +73,7 @@ unpack it, and copy it to `~/.brooklyn/GeoLite2-City.mmdb`.
 This will be picked up automatically if it is installed.
 You can instead specify to use an online lookup service, such as 
 [utrace.de](http://www.utrace.de) by specifying
-`-Dbrooklyn.location.geo.HostGeoLookup=UtraceHostGeoLookup`;
+`-Dorg.apache.brooklyn.core.location.geo.HostGeoLookup=UtraceHostGeoLookup`;
 but note this has a cap of 100 per day.
 
 This information is also used to display locations on the map
@@ -202,13 +202,13 @@ import static com.google.common.base.Preconditions.checkNotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.config.StringConfigMap;
 import org.apache.brooklyn.core.entity.AbstractApplication;
 import org.apache.brooklyn.core.entity.Attributes;
 import org.apache.brooklyn.entity.dns.geoscaling.GeoscalingDnsService;
 import org.apache.brooklyn.entity.group.DynamicFabric;
 import org.apache.brooklyn.entity.proxy.AbstractController;
-import org.apache.brooklyn.entity.proxying.EntitySpec;
 import org.apache.brooklyn.entity.webapp.ElasticJavaWebAppService;
 import PortRanges;
 {% endhighlight %}
@@ -228,8 +228,8 @@ The following static constants are assumed (most of these as in the [Simple Web
 The code (which can safely be omitted) is as follows:
 
 {% highlight java %}
-import brooklyn.launcher.BrooklynLauncher;
-import brooklyn.util.CommandLineUtil;
+import org.apache.brooklyn.launcher.BrooklynLauncher;
+import org.apache.brooklyn.util.CommandLineUtil;
 
 import com.google.common.base.Joiner;
 import com.google.common.collect.ImmutableList;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/_includes/java_link.html
----------------------------------------------------------------------
diff --git a/docs/_includes/java_link.html b/docs/_includes/java_link.html
index 01ac1d7..9411877 100644
--- a/docs/_includes/java_link.html
+++ b/docs/_includes/java_link.html
@@ -4,7 +4,7 @@ includes a code-formatted class name with link to its javadoc and optionally its
 
 usage:  
 
-{ % include java_link.html class_name="JcloudsLocationConfig" package_path="brooklyn/location/jclouds" project_subpath="location/jclouds" % }
+{ % include java_link.html class_name="JcloudsLocationConfig" package_path="org/apache/brooklyn/location/jclouds" project_subpath="location/jclouds" % }
 
 
 {% endcomment %}{% if include.project_subpath %}<code>{{ include.class_name }}</code>
@@ -15,4 +15,4 @@ usage:
 {% endif %}{% comment %}
 
 must NOT have a newline at the end here, as the include is often done inline
-{% endcomment %}
\ No newline at end of file
+{% endcomment %}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/dev/code/tests.md
----------------------------------------------------------------------
diff --git a/docs/guide/dev/code/tests.md b/docs/guide/dev/code/tests.md
index 460cc23..a19f814 100644
--- a/docs/guide/dev/code/tests.md
+++ b/docs/guide/dev/code/tests.md
@@ -25,7 +25,7 @@ To run these from the command line, use something like the following:
 
 To run a single test, use something like the following:
 
-*     run a single test class: `mvn -Dtest=brooklyn.enricher.EnrichersTest -DfailIfNoTests=false test`
-*     run a single test method: `mvn -Dtest=brooklyn.enricher.EnrichersTest#testAdding -DfailIfNoTests=false test`
+*     run a single test class: `mvn -Dtest=org.apache.brooklyn.enricher.stock.EnrichersTest -DfailIfNoTests=false test`
+*     run a single test method: `mvn -Dtest=org.apache.brooklyn.enricher.stock.EnrichersTest#testAdding -DfailIfNoTests=false test`
 
 <!-- TODO describe how to run each of these, as a group, and individually; and profiles -->

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/java/entitlements.md
----------------------------------------------------------------------
diff --git a/docs/guide/java/entitlements.md b/docs/guide/java/entitlements.md
index a1dd544..f4e13b8 100644
--- a/docs/guide/java/entitlements.md
+++ b/docs/guide/java/entitlements.md
@@ -24,10 +24,10 @@ This answers the question who is allowed do what to whom, looking at the followi
 
 To set a custom entitlements manager to apply across the board, simply use:
 
-    brooklyn.entitlements.global=brooklyn.management.entitlement.AcmeEntitlementManager
+    brooklyn.entitlements.global=org.apache.brooklyn.core.mgmt.entitlement.AcmeEntitlementManager
 
 The example above refers to a sample manager which is included in the test JARs of Brooklyn,
-which you can see [here]({{ site.brooklyn.url.git }}/core/src/test/java/brooklyn/management/entitlement/AcmeEntitlementManagerTest.java),
+which you can see [here]({{ site.brooklyn.url.git }}/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTest.java),
 and include in your project by adding the core tests JAR to your `dropins` folder.
 
 There are some entitlements schemes which exist out of the box, so for a simpler setup,
@@ -38,5 +38,5 @@ which re-use the LDAP authorization support in Brooklyn,
 allowing permissions objects to be declared in LDAP leveraging regular expressions.
 For more information on this, ask on IRC or the mailing list,
 and see 
-{% include java_link.html class_name="EntitlementManager" package_path="brooklyn/management/entitlement" project_subpath="api" %}.
+{% include java_link.html class_name="EntitlementManager" package_path="org/apache/brooklyn/core/mgmt/entitlement" project_subpath="api" %}.
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/java/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/java/index.md b/docs/guide/java/index.md
index c2bd407..279ca4b 100644
--- a/docs/guide/java/index.md
+++ b/docs/guide/java/index.md
@@ -9,8 +9,8 @@ children:
 - common-usage.md
 - entity.md
 - entities.md
-- policy.md
 - policies.md
+- policy.md
 - service-state.md
 - entitlements.md
 ---

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/java/policies.md
----------------------------------------------------------------------
diff --git a/docs/guide/java/policies.md b/docs/guide/java/policies.md
index 9457f72..aee2766 100644
--- a/docs/guide/java/policies.md
+++ b/docs/guide/java/policies.md
@@ -21,51 +21,6 @@ When a policy runs it can:
 
 Entities can have zero or more ``Policy`` instances attached to them.
 
-Writing Policies
-----------------
-
-### Sample Policy
-
-<!---
-TODO
--->
-
-*This section is not complete. Feel free to [fork]({{site.path.guide}}/dev/code) the docs and lend a hand.*
-
-### Best Practice
-
-The following recommendations should be considered when designing policies:
-	
-#### Management should take place as "low" as possible in the hierarchy
-*	place management responsibility in policies at the entity, as much as possible ideally management should take run as a policy on the relevant entity
-
-*	place escalated management responsibility at the parent entity. Where this is impractical, perhaps because two aspects of an entity are best handled in two different places, ensure that the separation of responsibilities is documented and there is a group membership relationship between secondary/aspect managers.
-
-
-#### Policies should be small and composable
-<!-- 
-TODO Requires Content
--->
-
-e.g. one policy which takes a sensor and emits a different, enriched sensor, and a second policy which responds to the enriched sensor of the first 	(e.g. a policy detects a process is maxed out and emits a TOO_HOT sensor; a second policy responds to this by scaling up the VM where it is running, requesting more CPU)
-#### Where a policy cannot resolve a situation at an entity, the issue should be escalated to a manager with a compatible policy.
-
-Typically escalation will go to the entity parent, and then cascade up.
-e.g. if the earlier VM CPU cannot be increased, the TOO_HOT event may go to the parent, a cluster entity, which attempts to balance. If the cluster cannot balance, then to another policy which attempts to scale out the cluster, and should the cluster be unable to scale, to a third policy which emits TOO_HOT for the cluster.
-	
-#### Management escalation should be carefully designed so that policies are not incompatible
-
-Order policies carefully, and mark sensors as "handled" (or potentially "swallow" them locally), so that subsequent policies and parent entities do not take superfluous (or contradictory) corrective action.
-      
-
-For this release, some of the mechanisms for implementing the above practices are still being developed.
-
-### Implementation Classes
-
-*This section is not complete. Feel free to [fork]({{site.path.guide}}/dev/code) the docs and lend a hand.*
-
-- extend ``AbstractPolicy``, or override an existing policy
-
 
 Off-the-Shelf Policies
 ----------------------
@@ -73,11 +28,12 @@ Off-the-Shelf Policies
 Policies are highly reusable as their inputs, thresholds and targets are customizable.
 
 ### Management Policies
-- Resizer Policy
+
+- AutoScaler Policy
    
    Increases or decreases the size of a Resizable entity based on an aggregate sensor value, the current size of the entity, and customized high/low watermarks.
 
-   A Resizer policy can take any sensor as a metric, have its watermarks tuned live, and target any resizable entity - be it an application server managing how many instances it handles, or a tier managing global capacity.
+   An AutoScaler policy can take any sensor as a metric, have its watermarks tuned live, and target any resizable entity - be it an application server managing how many instances it handles, or a tier managing global capacity.
 
    e.g. if the average request per second across a cluster of Tomcat servers goes over the high watermark, it will resize the cluster to bring the average back to within the watermarks.
   
@@ -87,7 +43,7 @@ TODO - describe how they can be customised (briefly mention sensors)
 -->
 
 
-###  Enricher Policies
+###  Enrichers
 
 *	Delta
 
@@ -110,14 +66,8 @@ TODO - describe how they can be customised (briefly mention sensors)
 
 	Aggregates multiple sensor values (usually across a tier, esp. a cluster) and performs a supplied aggregation method to them to return an aggregate figure, e.g. sum, mean, median, etc. 
 
-Implementing Policies
----------------------
-
-<!---
-TODO
--->
-
-*This section is not yet complete. Feel free to [fork]({{site.path.guide}}/dev/code) the docs and lend a hand.*
 
-Please see the class* ``brooklyn.policy.Policy`` *and implementations.
+Next: Writing a Policy
+---------------------------
 
+To write a policy, see the section on [Writing a Policy](policy.html).

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/java/policy.md
----------------------------------------------------------------------
diff --git a/docs/guide/java/policy.md b/docs/guide/java/policy.md
index fbb79db..93ad8ba 100644
--- a/docs/guide/java/policy.md
+++ b/docs/guide/java/policy.md
@@ -3,12 +3,14 @@ layout: website-normal
 title: Writing a Policy
 ---
 
+### Your First Policy
+
 Policies perform the active management enabled by Brooklyn.  
 Each policy instance is associated with an entity,
 and at runtime it will typically subscribe to sensors on that entity or children,
 performing some computation and optionally actions when a subscribed sensor event occurs.
 This action might be invoking an effector or emitting a new sensor,
-depending the desired behvaiour is.
+depending the desired behavior is.
 
 Writing a policy is straightforward.
 Simply extend ``AbstractPolicy``,
@@ -33,14 +35,43 @@ and supply the computation and/or activity desired whenever that event occurs:
     }
 {% endhighlight %}
 
+
 You'll want to do more complicated things, no doubt,
 like access other entities, perform multiple subscriptions,
 and emit other sensors -- and you can.
-See the source code, and see some commonly used policies
-in ``AutoScalerPolicy`` and ``RollingMeanEnricher``. 
+See the best practices below and source code for some commonly used policies and enrichers,
+such as ``AutoScalerPolicy`` and ``RollingMeanEnricher``. 
 
 One rule of thumb, to close on:
 try to keep policies simple, and compose them together at runtime;
 for instance, if a complex computation triggers an action,
 define one **enricher** policy to aggregate other sensors and emit a new sensor,
 then write a second policy to perform that action.
+
+
+### Best Practice
+
+The following recommendations should be considered when designing policies:
+    
+#### Management should take place as "low" as possible in the hierarchy
+*   place management responsibility in policies at the entity, as much as possible ideally management should take run as a policy on the relevant entity
+
+*   place escalated management responsibility at the parent entity. Where this is impractical, perhaps because two aspects of an entity are best handled in two different places, ensure that the separation of responsibilities is documented and there is a group membership relationship between secondary/aspect managers.
+
+
+#### Policies should be small and composable
+
+e.g. one policy which takes a sensor and emits a different, enriched sensor, and a second policy which responds to the enriched sensor of the first     (e.g. a policy detects a process is maxed out and emits a TOO_HOT sensor; a second policy responds to this by scaling up the VM where it is running, requesting more CPU)
+
+#### Where a policy cannot resolve a situation at an entity, the issue should be escalated to a manager with a compatible policy.
+
+Typically escalation will go to the entity parent, and then cascade up.
+e.g. if the earlier VM CPU cannot be increased, the TOO_HOT event may go to the parent, a cluster entity, which attempts to balance. If the cluster cannot balance, then to another policy which attempts to scale out the cluster, and should the cluster be unable to scale, to a third policy which emits TOO_HOT for the cluster.
+    
+#### Management escalation should be carefully designed so that policies are not incompatible
+
+Order policies carefully, and mark sensors as "handled" (or potentially "swallow" them locally), so that subsequent policies and parent entities do not take superfluous (or contradictory) corrective action.
+      
+### Implementation Classes
+
+- extend ``AbstractPolicy``, or override an existing policy

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/brooklyn_properties.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/brooklyn_properties.md b/docs/guide/ops/brooklyn_properties.md
index 637dba2..cb00ceb 100644
--- a/docs/guide/ops/brooklyn_properties.md
+++ b/docs/guide/ops/brooklyn_properties.md
@@ -171,7 +171,7 @@ with a `default` set (and if not specified `default` defaults to `minimal`);
 so the above can equivalently be written:
 
 {% highlight properties %}
-brooklyn.entitlements.global=brooklyn.management.entitlement.PerUserEntitlementManager
+brooklyn.entitlements.global=org.apache.brooklyn.core.mgmt.entitlement.PerUserEntitlementManager
 brooklyn.entitlements.perUser.default=readonly
 brooklyn.entitlements.perUser.admin=root
 brooklyn.entitlements.perUser.support=readonly
@@ -181,7 +181,7 @@ brooklyn.entitlements.perUser.metrics=minimal
 For more information, see 
 [Java: Entitlements]({{ site.path.guide }}/java/entitlements.html).
 or
-{% include java_link.html class_name="EntitlementManager" package_path="brooklyn/management/entitlement" project_subpath="api" %}.
+{% include java_link.html class_name="EntitlementManager" package_path="org/apache/brooklyn/api/mgmt/entitlement" project_subpath="api" %}.
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/catalog/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/catalog/index.md b/docs/guide/ops/catalog/index.md
index 9a65448..dea666f 100644
--- a/docs/guide/ops/catalog/index.md
+++ b/docs/guide/ops/catalog/index.md
@@ -134,7 +134,7 @@ The following optional catalog metadata is supported:
 The following example installs the `RiakNode` entity, making it also available as an application template,
 with a nice display name, description, and icon.
 It can be referred in other blueprints to as `datastore:1.0`,
-and its implementation will be the Java class `brooklyn.entity.nosql.riak.RiakNode` included with Brooklyn.
+and its implementation will be the Java class `org.apache.brooklyn.entity.nosql.riak.RiakNode` included with Brooklyn.
 
 ~~~ yaml
 brooklyn.catalog:
@@ -145,7 +145,7 @@ brooklyn.catalog:
   name: Datastore (Riak)
   description: Riak is an open-source NoSQL key-value data store.
   item:
-    type: brooklyn.entity.nosql.riak.RiakNode
+    type: org.apache.brooklyn.entity.nosql.riak.RiakNode
     name: Riak Node
 ~~~ 
 
@@ -162,11 +162,11 @@ brooklyn.catalog:
   items:
     - id: riak-node
       item:
-        type: brooklyn.entity.nosql.riak.RiakNode
+        type: org.apache.brooklyn.entity.nosql.riak.RiakNode
         name: Riak Node
     - id: riak-cluster
       item:
-        type: brooklyn.entity.nosql.riak.RiakCluster
+        type: org.apache.brooklyn.entity.nosql.riak.RiakCluster
         name: Riak Cluster
     - id: datastore
       name: Datastore (Riak Cluster)
@@ -191,7 +191,7 @@ brooklyn.catalog:
 The items this will install are:
 
 - `riak-node`, as before, but with a different name
-- `riak-cluster` as a convenience short name for the `brooklyn.entity.nosql.riak.RiakCluster` class
+- `riak-cluster` as a convenience short name for the `org.apache.brooklyn.entity.nosql.riak.RiakCluster` class
 - `datastore`, now pointing at the `riak-cluster` blueprint, in SoftLayer and with the given size and machine spec, 
   as the default implementation for anyone
   requesting a `datastore` (and if installed atop the previous example, new references to `datastore` 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/locations/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/locations/index.md b/docs/guide/ops/locations/index.md
index 9fb5572..60dd2e0 100644
--- a/docs/guide/ops/locations/index.md
+++ b/docs/guide/ops/locations/index.md
@@ -106,7 +106,7 @@ These steps can be skipped or customized as described below.
 The following is a subset of the most commonly used configuration keys used to customize 
 cloud provisioning.
 For more keys and more detail on the keys below, see 
-{% include java_link.html class_name="JcloudsLocationConfig" package_path="brooklyn/location/jclouds" project_subpath="locations/jclouds" %}.
+{% include java_link.html class_name="JcloudsLocationConfig" package_path="org/apache/brooklyn/location/jclouds" project_subpath="locations/jclouds" %}.
 
 ###### VM Creation
     
@@ -131,10 +131,10 @@ For more keys and more detail on the keys below, see
   including the ID of the app and of the entity.
   (As many cloud portals let you filter views, this can help find a specific entity or all machines for a given application.)
   For more sophisticated control over host naming, you can supply a custom 
-  {% include java_link.html class_name="CloudMachineNamer" package_path="brooklyn/location/cloud/names" project_subpath="core" %},
+  {% include java_link.html class_name="CloudMachineNamer" package_path="org/apache/brooklyn/core/location/cloud/names" project_subpath="core" %},
   for example
   `cloudMachineNamer: CustomMachineNamer`.
-  {% include java_link.html class_name="CustomMachineNamer" package_path="brooklyn/location/cloud/names" project_subpath="core" %}
+  {% include java_link.html class_name="CustomMachineNamer" package_path="org/apache/brooklyn/core/location/cloud/names" project_subpath="core" %}
   will use the entity's name or following a template you supply.
   On many clouds, a random suffix will be appended to help guarantee uniqueness;
   this can be removed by setting `vmNameSaltLength: 0` (selected clouds only).
@@ -154,7 +154,7 @@ For more keys and more detail on the keys below, see
   machines with `machineCreateAttempts` (jclouds only). This is useful as an efficient low-level fix
   for those occasions when cloud providers give machines that are dead on arrival.
   You can of course also resolve it at a higher level with a policy such as 
-  {% include java_link.html class_name="ServiceRestarter" package_path="brooklyn/policy/ha" project_subpath="policies" %}.
+  {% include java_link.html class_name="ServiceRestarter" package_path="org/apache/brooklyn/policy/ha" project_subpath="policy" %}.
 
 - If you want to investigate failures, set `destroyOnFailure: false`
   to keep failed VM's around. (You'll have to manually clean them up.)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/locations/more-locations.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/locations/more-locations.md b/docs/guide/ops/locations/more-locations.md
index 994eaf7..0a00bf5 100644
--- a/docs/guide/ops/locations/more-locations.md
+++ b/docs/guide/ops/locations/more-locations.md
@@ -17,7 +17,7 @@ For example:
 
 {% highlight yaml %}
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server 
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server 
   location:
     host: 192.168.0.1
 {% endhighlight %}
@@ -50,6 +50,6 @@ and then to `acct2`.
 
 ### The Server Pool
 
-The {% include java_link.html class_name="ServerPool" package_path="brooklyn/entity/pool" project_subpath="software/base" %}
+The {% include java_link.html class_name="ServerPool" package_path="org/apache/brooklyn/entity/machine/pool" project_subpath="software/base" %}
 entity type allows defining an entity which becomes available as a location.
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/persistence/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/persistence/index.md b/docs/guide/ops/persistence/index.md
index ab8e724..a74f301 100644
--- a/docs/guide/ops/persistence/index.md
+++ b/docs/guide/ops/persistence/index.md
@@ -99,7 +99,7 @@ Object Store Persistence
 Brooklyn can persist its state to any Object Store API that jclouds supports including 
 S3, Swift and Azure. This gives access to any compatible Object Store product or cloud provider
 including AWS-S3, SoftLayer, Rackspace, HP and Microsoft Azure. For a complete list of supported
-providers, see [jclouds](http://jclouds.apache.org/guides/providers/#blobstore-providers).
+providers, see [jclouds](http://jclouds.apache.org/reference/providers/#blobstore).
 
 To configure the Object Store, add the credentials to `~/.brooklyn/brooklyn.properties` such as:
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/troubleshooting/deployment.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/troubleshooting/deployment.md b/docs/guide/ops/troubleshooting/deployment.md
index 6b1baea..38b6c5e 100644
--- a/docs/guide/ops/troubleshooting/deployment.md
+++ b/docs/guide/ops/troubleshooting/deployment.md
@@ -16,7 +16,7 @@ brackets.
 The error `Unrecognized application blueprint format: no services defined` means that the `services:`
 section is missing.
 
-An error like `Deployment plan item io.brooklyn.camp.spi.pdp.Service@23c159e2[name=<null>,description=<null>,serviceType=com.acme.Foo,characteristics=[],customAttributes={}] cannot be matched` means that the given entity type (in this case com.acme.Foo) is not in the catalog or on the classpath.
+An error like `Deployment plan item Service[name=<null>,description=<null>,serviceType=com.acme.Foo,characteristics=[],customAttributes={}] cannot be matched` means that the given entity type (in this case com.acme.Foo) is not in the catalog or on the classpath.
 
 An error like `Illegal parameter for 'location' (aws-ec3); not resolvable: java.util.NoSuchElementException: Unknown location 'aws-ec3': either this location is not recognised or there is a problem with location resolver configuration` means that the given location (in this case aws-ec3) 
 was unknown. This means it does not match any of the named locations in brooklyn.properties, nor any of the