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:39 UTC

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

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/troubleshooting/going-deep-in-java-and-logs.md b/docs/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
index 065eef2..8a66ce0 100644
--- a/docs/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
+++ b/docs/guide/ops/troubleshooting/going-deep-in-java-and-logs.md
@@ -15,35 +15,35 @@ a bash script.
 First let's take a look at the `customize()` method of the Tomcat server blueprint:
 
 {% highlight java %}
-  @Override
-  public void customize() {
-      newScript(CUSTOMIZING)
-          .body.append("mkdir -p conf logs webapps temp")
-          .failOnNonZeroResultCode()
-          .execute();
-
-      copyTemplate(entity.getConfig(TomcatServer.SERVER_XML_RESOURCE), Os.mergePaths(getRunDir(), "conf", "server.xml"));
-      copyTemplate(entity.getConfig(TomcatServer.WEB_XML_RESOURCE), Os.mergePaths(getRunDir(), "conf", "web.xml"));
-
-      if (isProtocolEnabled("HTTPS")) {
-          String keystoreUrl = Preconditions.checkNotNull(getSslKeystoreUrl(), "keystore URL must be specified if using HTTPS for " + entity);
-          String destinationSslKeystoreFile = getHttpsSslKeystoreFile();
-          InputStream keystoreStream = resource.getResourceFromUrl(keystoreUrl);
-          getMachine().copyTo(keystoreStream, destinationSslKeystoreFile);
-      }
-
-      getEntity().deployInitialWars();
-  }
+@Override
+public void customize() {
+    newScript(CUSTOMIZING)
+        .body.append("mkdir -p conf logs webapps temp")
+        .failOnNonZeroResultCode()
+        .execute();
+
+    copyTemplate(entity.getConfig(TomcatServer.SERVER_XML_RESOURCE), Os.mergePaths(getRunDir(), "conf", "server.xml"));
+    copyTemplate(entity.getConfig(TomcatServer.WEB_XML_RESOURCE), Os.mergePaths(getRunDir(), "conf", "web.xml"));
+
+    if (isProtocolEnabled("HTTPS")) {
+        String keystoreUrl = Preconditions.checkNotNull(getSslKeystoreUrl(), "keystore URL must be specified if using HTTPS for " + entity);
+        String destinationSslKeystoreFile = getHttpsSslKeystoreFile();
+        InputStream keystoreStream = resource.getResourceFromUrl(keystoreUrl);
+        getMachine().copyTo(keystoreStream, destinationSslKeystoreFile);
+    }
+
+    getEntity().deployInitialWars();
+}
 {% endhighlight %}
 
 Here we can see that it's running a script to create four directories before continuing with the customization. Let's
 introduce an error by changing `mkdir` to `mkrid`:
 
 {% highlight java %}
-      newScript(CUSTOMIZING)
-          .body.append("mkrid -p conf logs webapps temp") // `mkdir` changed to `mkrid`
-          .failOnNonZeroResultCode()
-          .execute();
+newScript(CUSTOMIZING)
+    .body.append("mkrid -p conf logs webapps temp") // `mkdir` changed to `mkrid`
+    .failOnNonZeroResultCode()
+    .execute();
 {% endhighlight %}
 
 Now let's try deploying this using the following YAML:
@@ -53,7 +53,7 @@ Now let's try deploying this using the following YAML:
 name: Tomcat failure test
 location: localhost
 services:
-- type: brooklyn.entity.webapp.tomcat.TomcatServer
+- type: org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
 
 {% endhighlight %}
 
@@ -93,16 +93,16 @@ STDOUT
 Executed /tmp/brooklyn-20150721-132251052-l4b9-customizing_TomcatServerImpl_i.sh, result 127: Execution failed, invalid result 127 for customizing TomcatServerImpl{id=e1HP2s8x}
 
 java.lang.IllegalStateException: Execution failed, invalid result 127 for customizing TomcatServerImpl{id=e1HP2s8x}
-    at brooklyn.entity.basic.lifecycle.ScriptHelper.logWithDetailsAndThrow(ScriptHelper.java:390)
-    at brooklyn.entity.basic.lifecycle.ScriptHelper.executeInternal(ScriptHelper.java:379)
-    at brooklyn.entity.basic.lifecycle.ScriptHelper$8.call(ScriptHelper.java:289)
-    at brooklyn.entity.basic.lifecycle.ScriptHelper$8.call(ScriptHelper.java:287)
-    at brooklyn.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
-    at brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper.logWithDetailsAndThrow(ScriptHelper.java:390)
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper.executeInternal(ScriptHelper.java:379)
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper$8.call(ScriptHelper.java:289)
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper$8.call(ScriptHelper.java:287)
+    at org.apache.brooklyn.core.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
+    at org.apache.brooklyn.core.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
-at java.lang.Thread.run(Thread.java:745)
+    at java.lang.Thread.run(Thread.java:745)
 {% endhighlight %}
 
 In order to find the exception, we'll need to look in Brooklyn's debug log file. By default, the debug log file
@@ -118,34 +118,32 @@ In this case, the `?Tomcat` search takes us directly to the full stack trace (On
 is shown here):
 
 {% highlight console %}
-
-at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[guava-17.0.jar:na]
-at brooklyn.util.task.BasicTask.get(BasicTask.java:343) ~[classes/:na]
-at brooklyn.util.task.BasicTask.getUnchecked(BasicTask.java:352) ~[classes/:na]
-... 9 common frames omitted
+... at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[guava-17.0.jar:na]
+    at org.apache.brooklyn.core.util.task.BasicTask.get(BasicTask.java:343) ~[classes/:na]
+    at org.apache.brooklyn.core.util.task.BasicTask.getUnchecked(BasicTask.java:352) ~[classes/:na]
+    ... 9 common frames omitted
 Caused by: brooklyn.util.exceptions.PropagatedRuntimeException: 
-at brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:97) ~[classes/:na]
-at brooklyn.util.task.BasicTask.getUnchecked(BasicTask.java:354) ~[classes/:na]
-at brooklyn.entity.basic.lifecycle.ScriptHelper.execute(ScriptHelper.java:339) ~[classes/:na]
-at brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:72) ~[classes/:na]
-at brooklyn.entity.basic.AbstractSoftwareProcessDriver$8.run(AbstractSoftwareProcessDriver.java:150) ~[classes/:na]
-at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_71]
-at brooklyn.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343) ~[classes/:na]
-... 5 common frames omitted
+    at org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:97) ~[classes/:na]
+    at org.apache.brooklyn.core.util.task.BasicTask.getUnchecked(BasicTask.java:354) ~[classes/:na]
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper.execute(ScriptHelper.java:339) ~[classes/:na]
+    at org.apache.brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:72) ~[classes/:na]
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver$8.run(AbstractSoftwareProcessDriver.java:150) ~[classes/:na]
+    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_71]
+    at org.apache.brooklyn.core.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343) ~[classes/:na]
+    ... 5 common frames omitted
 Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Execution failed, invalid result 127 for customizing TomcatServerImpl{id=e1HP2s8x}
-at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.7.0_71]
-at java.util.concurrent.FutureTask.get(FutureTask.java:188) [na:1.7.0_71]
-at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[guava-17.0.jar:na]
-at brooklyn.util.task.BasicTask.get(BasicTask.java:343) ~[classes/:na]
-at brooklyn.util.task.BasicTask.getUnchecked(BasicTask.java:352) ~[classes/:na]
-... 10 common frames omitted
+    at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.7.0_71]
+    at java.util.concurrent.FutureTask.get(FutureTask.java:188) [na:1.7.0_71]
+    at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[guava-17.0.jar:na]
+    at org.apache.brooklyn.core.util.task.BasicTask.get(BasicTask.java:343) ~[classes/:na]
+    at org.apache.brooklyn.core.util.task.BasicTask.getUnchecked(BasicTask.java:352) ~[classes/:na]
+    ... 10 common frames omitted
 Caused by: java.lang.IllegalStateException: Execution failed, invalid result 127 for customizing TomcatServerImpl{id=e1HP2s8x}
-at brooklyn.entity.basic.lifecycle.ScriptHelper.logWithDetailsAndThrow(ScriptHelper.java:390) ~[classes/:na]
-at brooklyn.entity.basic.lifecycle.ScriptHelper.executeInternal(ScriptHelper.java:379) ~[classes/:na]
-at brooklyn.entity.basic.lifecycle.ScriptHelper$8.call(ScriptHelper.java:289) ~[classes/:na]
-at brooklyn.entity.basic.lifecycle.ScriptHelper$8.call(ScriptHelper.java:287) ~[classes/:na]
-... 6 common frames omitted
-
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper.logWithDetailsAndThrow(ScriptHelper.java:390) ~[classes/:na]
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper.executeInternal(ScriptHelper.java:379) ~[classes/:na]
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper$8.call(ScriptHelper.java:289) ~[classes/:na]
+    at org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper$8.call(ScriptHelper.java:287) ~[classes/:na]
+    ... 6 common frames omitted
 {% endhighlight %}
 
 Brooklyn's use of tasks and helper classes can make the stack trace a little harder than usual to follow, but a good
@@ -153,7 +151,7 @@ place to start is to look through the stack trace for the node's implementation
 named `FooNodeImpl` or `FooSshDriver`). In this case we can see the following:
 
 {% highlight console %}
-at brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:72) ~[classes/:na]
+at org.apache.brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:72) ~[classes/:na]
 {% endhighlight %}
 
 Combining this with the error message of `mkrid: command not found` we can see that indeed `mkdir` has been
@@ -192,27 +190,27 @@ this case it's shown in the Detailed Status section, and we don't need to go to
 Failed after 221ms: Error getting resource 'classpath://nonexistent.xml' for TomcatServerImpl{id=PVZxDKU1}: java.io.IOException: Error accessing classpath://nonexistent.xml: java.io.IOException: nonexistent.xml not found on classpath
 
 java.lang.RuntimeException: Error getting resource 'classpath://nonexistent.xml' for TomcatServerImpl{id=PVZxDKU1}: java.io.IOException: Error accessing classpath://nonexistent.xml: java.io.IOException: nonexistent.xml not found on classpath
-    at brooklyn.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:297)
-    at brooklyn.util.ResourceUtils.getResourceAsString(ResourceUtils.java:475)
-    at brooklyn.entity.basic.AbstractSoftwareProcessDriver.getResourceAsString(AbstractSoftwareProcessDriver.java:447)
-    at brooklyn.entity.basic.AbstractSoftwareProcessDriver.processTemplate(AbstractSoftwareProcessDriver.java:469)
-    at brooklyn.entity.basic.AbstractSoftwareProcessDriver.copyTemplate(AbstractSoftwareProcessDriver.java:390)
-    at brooklyn.entity.basic.AbstractSoftwareProcessDriver.copyTemplate(AbstractSoftwareProcessDriver.java:379)
-    at brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:79)
-    at brooklyn.entity.basic.AbstractSoftwareProcessDriver$8.run(AbstractSoftwareProcessDriver.java:150)
+    at org.apache.brooklyn.core.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:297)
+    at org.apache.brooklyn.core.util.ResourceUtils.getResourceAsString(ResourceUtils.java:475)
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver.getResourceAsString(AbstractSoftwareProcessDriver.java:447)
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver.processTemplate(AbstractSoftwareProcessDriver.java:469)
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver.copyTemplate(AbstractSoftwareProcessDriver.java:390)
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver.copyTemplate(AbstractSoftwareProcessDriver.java:379)
+    at org.apache.brooklyn.entity.webapp.tomcat.TomcatSshDriver.customize(TomcatSshDriver.java:79)
+    at org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessDriver$8.run(AbstractSoftwareProcessDriver.java:150)
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
-    at brooklyn.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
-    at brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
+    at org.apache.brooklyn.core.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
+    at org.apache.brooklyn.core.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
-at java.lang.Thread.run(Thread.java:745)
-    Caused by: java.io.IOException: Error accessing classpath://nonexistent.xml: java.io.IOException: nonexistent.xml not found on classpath
-at brooklyn.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:233)
+    at java.lang.Thread.run(Thread.java:745)
+Caused by: java.io.IOException: Error accessing classpath://nonexistent.xml: java.io.IOException: nonexistent.xml not found on classpath
+    at org.apache.brooklyn.core.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:233)
     ... 14 more
-    Caused by: java.io.IOException: nonexistent.xml not found on classpath
-    at brooklyn.util.ResourceUtils.getResourceViaClasspath(ResourceUtils.java:372)
-at brooklyn.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:230)
+Caused by: java.io.IOException: nonexistent.xml not found on classpath
+    at org.apache.brooklyn.core.util.ResourceUtils.getResourceViaClasspath(ResourceUtils.java:372)
+    at org.apache.brooklyn.core.util.ResourceUtils.getResourceFromUrl(ResourceUtils.java:230)
     ... 14 more
 
 {% endhighlight %}
@@ -230,7 +228,7 @@ the entity fails to start.
 We can simulate this type of failure by launching Tomcat with an invalid configuration file. As seen in the previous
 examples, Brooklyn copies two xml configuration files to the server: `server.xml` and `web.xml`
 
-The first few non-comment lines of `server.xml` are as follows (you can see the full file [here](https://github.com/apache/incubator-brooklyn/blob/master/software/webapp/src/main/resources/brooklyn/entity/webapp/tomcat/server.xml)):
+The first few non-comment lines of `server.xml` are as follows (you can see the full file [here]({{ site.brooklyn.url.git }}/software/webapp/src/main/resources/org/apache/brooklyn/entity/webapp/tomcat/server.xml)):
 
 {% highlight xml %}
 
@@ -275,14 +273,14 @@ The task that failed was the `post-start` task, and the stack trace from the Det
 Failed after 5m 1s: Timeout waiting for SERVICE_UP from TomcatServerImpl{id=BUHgQeOs}
 
 java.lang.IllegalStateException: Timeout waiting for SERVICE_UP from TomcatServerImpl{id=BUHgQeOs}
-    at brooklyn.entity.basic.Entities.waitForServiceUp(Entities.java:1073)
-    at brooklyn.entity.basic.SoftwareProcessImpl.waitForServiceUp(SoftwareProcessImpl.java:388)
-    at brooklyn.entity.basic.SoftwareProcessImpl.waitForServiceUp(SoftwareProcessImpl.java:385)
-    at brooklyn.entity.basic.SoftwareProcessDriverLifecycleEffectorTasks.postStartCustom(SoftwareProcessDriverLifecycleEffectorTasks.java:164)
-    at brooklyn.entity.software.MachineLifecycleEffectorTasks$7.run(MachineLifecycleEffectorTasks.java:433)
+    at org.apache.brooklyn.core.entity.Entities.waitForServiceUp(Entities.java:1073)
+    at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl.waitForServiceUp(SoftwareProcessImpl.java:388)
+    at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl.waitForServiceUp(SoftwareProcessImpl.java:385)
+    at org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks.postStartCustom(SoftwareProcessDriverLifecycleEffectorTasks.java:164)
+    at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$7.run(MachineLifecycleEffectorTasks.java:433)
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
-    at brooklyn.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
-    at brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
+    at org.apache.brooklyn.core.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:343)
+    at org.apache.brooklyn.core.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
@@ -418,7 +416,7 @@ Let's go back to the Brooklyn debug console and look for the `webapp.tomcat.conn
 [![Sensors view in the Brooklyn debug console.](images/jmx-sensors.png)](images/jmx-sensors-large.png)
 
 As the sensor is not shown, it's likely that it's simply null or not set. We can check this by clicking
-the `Show/hide empty records` icon (highlighted in yellow above):
+the "Show/hide empty records" icon (highlighted in yellow above):
 
 [![All sensors view in the Brooklyn debug console.](images/jmx-sensors-all.png)](images/jmx-sensors-all-large.png)
 
@@ -448,7 +446,7 @@ Let's take a look in the log file:
 
 {% highlight console %}
 
-less /tmp/brooklyn-martin/apps/c3bmrlC3/entities/TomcatServer_C1TAjYia/logs/catalina.out
+$ less /tmp/brooklyn-martin/apps/c3bmrlC3/entities/TomcatServer_C1TAjYia/logs/catalina.out
 
 Jul 21, 2015 4:12:12 PM org.apache.tomcat.util.digester.Digester fatalError
 SEVERE: Parse Fatal Error at line 143 column 3: The element type "unmatched-element" must be terminated by the matching end-tag "</unmatched-element>".
@@ -475,12 +473,11 @@ SEVERE: Parse Fatal Error at line 143 column 3: The element type "unmatched-elem
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:497)
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
-at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
-
-    Jul 21, 2015 4:12:12 PM org.apache.catalina.startup.Catalina load
-    WARNING: Catalina.start using conf/server.xml: The element type "unmatched-element" must be terminated by the matching end-tag "</unmatched-element>".
-    Jul 21, 2015 4:12:12 PM org.apache.catalina.startup.Catalina start
-    SEVERE: Cannot start server. Server instance is not configured.
+    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
+Jul 21, 2015 4:12:12 PM org.apache.catalina.startup.Catalina load
+WARNING: Catalina.start using conf/server.xml: The element type "unmatched-element" must be terminated by the matching end-tag "</unmatched-element>".
+Jul 21, 2015 4:12:12 PM org.apache.catalina.startup.Catalina start
+SEVERE: Cannot start server. Server instance is not configured.
 
 {% endhighlight %}
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/ops/troubleshooting/softwareprocess.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/troubleshooting/softwareprocess.md b/docs/guide/ops/troubleshooting/softwareprocess.md
index 5e7f883..85ab2c0 100644
--- a/docs/guide/ops/troubleshooting/softwareprocess.md
+++ b/docs/guide/ops/troubleshooting/softwareprocess.md
@@ -20,7 +20,8 @@ or `~/.ssh/id_dsa` on the Brooklyn host (uploading the associated `~/.ssh/id_rsa
 authorised_keys). However, this can be overridden (e.g. with specific passwords etc) in the 
 location's configuration.
 
-For Windows, there is a similar sensor with the name `host.winrmAddress`. (TODO sensor for password?) 
+For Windows, there is a similar sensor with the name `host.winrmAddress`. 
+<!-- TODO similar sensor for password? --> 
 
 
 ## Install and Run Directories

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/start/_my-web-cluster.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/start/_my-web-cluster.yaml b/docs/guide/start/_my-web-cluster.yaml
index d4c5ce6..ba22574 100644
--- a/docs/guide/start/_my-web-cluster.yaml
+++ b/docs/guide/start/_my-web-cluster.yaml
@@ -4,7 +4,7 @@ location: localhost
 
 services:
 
-- type: brooklyn.entity.webapp.ControlledDynamicWebAppCluster
+- type: org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster
   name: My Web
   brooklyn.config:
     wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/chef/creating-blueprints.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/chef/creating-blueprints.md b/docs/guide/yaml/chef/creating-blueprints.md
index 337c7f3..8d30131 100644
--- a/docs/guide/yaml/chef/creating-blueprints.md
+++ b/docs/guide/yaml/chef/creating-blueprints.md
@@ -27,7 +27,7 @@ The first thing to note is the type definition:
 
     - type: chef:mysql
 
-This indicates that the Chef entity should be used (`brooklyn.entity.chef.ChefEntity`) 
+This indicates that the Chef entity should be used (`org.apache.brooklyn.entity.chef.ChefEntity`) 
 to interpret and pass the configuration,
 and that it should be parameterised with a `brooklyn.chef.cookbook.primary.name` of `mysql`.
 This is the cookbook namespace used by default for determining what to install and run.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/custom-entities.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/custom-entities.md b/docs/guide/yaml/custom-entities.md
index 04f7763..a2887a9 100644
--- a/docs/guide/yaml/custom-entities.md
+++ b/docs/guide/yaml/custom-entities.md
@@ -76,7 +76,7 @@ using `env` variables to inject the `netcat-server` location and
       env:
         TARGET_HOSTNAME: $brooklyn:component("netcat-server").attributeWhenReady("host.name")
       brooklyn.initializers:
-      - type: brooklyn.entity.software.ssh.SshCommandEffector
+      - type: org.apache.brooklyn.core.effector.ssh.SshCommandEffector
         brooklyn.config:
           name: sayHiNetcat
           description: Echo a small hello string to the netcat entity
@@ -94,7 +94,7 @@ so that the `$message` we passed above gets logged and reported back:
         echo hello | nc -l 4321 >> server-input &
         echo $! > $PID_FILE
       brooklyn.initializers:
-      - type: brooklyn.entity.software.ssh.SshCommandSensor
+      - type: org.apache.brooklyn.core.sensor.ssh.SshCommandSensor
         brooklyn.config:
           name: output.last
           command: tail -1 server-input

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-clustered-w-db.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-clustered-w-db.yaml b/docs/guide/yaml/example_yaml/appserver-clustered-w-db.yaml
index 79bc187..8bbb14f 100644
--- a/docs/guide/yaml/example_yaml/appserver-clustered-w-db.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-clustered-w-db.yaml
@@ -1,10 +1,10 @@
 name: appserver-clustered-w-db
 services:
-- type: brooklyn.entity.webapp.ControlledDynamicWebAppCluster
+- type: org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster
   initialSize: 2
   memberSpec:
     $brooklyn:entitySpec:
-      type: brooklyn.entity.webapp.jboss.JBoss7Server
+      type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
       brooklyn.config:
         wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war
         http.port: 8080+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-configured-in-config.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-configured-in-config.yaml b/docs/guide/yaml/example_yaml/appserver-configured-in-config.yaml
index 50c1873..f817dd7 100644
--- a/docs/guide/yaml/example_yaml/appserver-configured-in-config.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-configured-in-config.yaml
@@ -1,6 +1,6 @@
 name: appserver-configured-in-config
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
   brooklyn.config:
     wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war
     http.port: 8080

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-configured.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-configured.yaml b/docs/guide/yaml/example_yaml/appserver-configured.yaml
index 04ec858..58416ca 100644
--- a/docs/guide/yaml/example_yaml/appserver-configured.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-configured.yaml
@@ -1,5 +1,5 @@
 name: appserver-configured
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
   war: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war
   httpPort: 8080

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-w-db-other-flavor.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-w-db-other-flavor.yaml b/docs/guide/yaml/example_yaml/appserver-w-db-other-flavor.yaml
index 8c0fa2a..ac1106e 100644
--- a/docs/guide/yaml/example_yaml/appserver-w-db-other-flavor.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-w-db-other-flavor.yaml
@@ -1,6 +1,6 @@
 name: appserver-w-db-other-flavor
 services:
-- type: brooklyn.entity.webapp.tomcat.TomcatServer
+- type: org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
   name: AppServer HelloWorld 
   brooklyn.config:
     wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-w-db.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-w-db.yaml b/docs/guide/yaml/example_yaml/appserver-w-db.yaml
index adc90f0..0e9d959 100644
--- a/docs/guide/yaml/example_yaml/appserver-w-db.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-w-db.yaml
@@ -1,6 +1,6 @@
 name: appserver-w-db
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
   name: AppServer HelloWorld 
   brooklyn.config:
     wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/appserver-w-policy.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/appserver-w-policy.yaml b/docs/guide/yaml/example_yaml/appserver-w-policy.yaml
index b71357c..52bc3b8 100644
--- a/docs/guide/yaml/example_yaml/appserver-w-policy.yaml
+++ b/docs/guide/yaml/example_yaml/appserver-w-policy.yaml
@@ -1,10 +1,10 @@
 name: appserver-w-policy
 services:
-- type: brooklyn.entity.webapp.ControlledDynamicWebAppCluster
+- type: org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster
   initialSize: 1
   memberSpec:
     $brooklyn:entitySpec:
-      type: brooklyn.entity.webapp.jboss.JBoss7Server
+      type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
       brooklyn.config:
         wars.root: http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war
         http.port: 8080+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/cluster-vm.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/cluster-vm.yaml b/docs/guide/yaml/example_yaml/cluster-vm.yaml
index 50521fb..2b57f4e 100644
--- a/docs/guide/yaml/example_yaml/cluster-vm.yaml
+++ b/docs/guide/yaml/example_yaml/cluster-vm.yaml
@@ -1,6 +1,6 @@
 name: cluster-vm
 services:
-- type: brooklyn.entity.group.DynamicCluster
+- type: org.apache.brooklyn.entity.group.DynamicCluster
   initialSize: 5
   memberSpec:
     $brooklyn:entitySpec:

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/simple-appserver-with-location-byon.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/simple-appserver-with-location-byon.yaml b/docs/guide/yaml/example_yaml/simple-appserver-with-location-byon.yaml
index 7ba5b0c..633716f 100644
--- a/docs/guide/yaml/example_yaml/simple-appserver-with-location-byon.yaml
+++ b/docs/guide/yaml/example_yaml/simple-appserver-with-location-byon.yaml
@@ -7,6 +7,6 @@ location:
     - 192.168.0.18
     - 192.168.0.19
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
   location:
     byon: { hosts: [ 127.0.0.1 ] }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/simple-appserver-with-location.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/simple-appserver-with-location.yaml b/docs/guide/yaml/example_yaml/simple-appserver-with-location.yaml
index c241ab2..79344c8 100644
--- a/docs/guide/yaml/example_yaml/simple-appserver-with-location.yaml
+++ b/docs/guide/yaml/example_yaml/simple-appserver-with-location.yaml
@@ -5,4 +5,4 @@ location:
     identity: AKA_YOUR_ACCESS_KEY_ID
     credential: <access-key-hex-digits>
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/simple-appserver.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/simple-appserver.yaml b/docs/guide/yaml/example_yaml/simple-appserver.yaml
index 3850b26..8e9d76a 100644
--- a/docs/guide/yaml/example_yaml/simple-appserver.yaml
+++ b/docs/guide/yaml/example_yaml/simple-appserver.yaml
@@ -1,4 +1,4 @@
 name: simple-appserver
 location: localhost
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/example_yaml/test-app-with-enrichers-slightly-simpler.yaml
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/example_yaml/test-app-with-enrichers-slightly-simpler.yaml b/docs/guide/yaml/example_yaml/test-app-with-enrichers-slightly-simpler.yaml
index b35c2ff..55d5b87 100644
--- a/docs/guide/yaml/example_yaml/test-app-with-enrichers-slightly-simpler.yaml
+++ b/docs/guide/yaml/example_yaml/test-app-with-enrichers-slightly-simpler.yaml
@@ -1,25 +1,25 @@
 #
 # example showing how enrichers can be set 
-# 
+#
 name: test-app-with-enrichers
 description: Testing many enrichers
 services:
-- type: brooklyn.entity.group.DynamicCluster
+- type: org.apache.brooklyn.entity.group.DynamicCluster
   id: cluster
   initialSize: 3
   location: localhost
   memberSpec:
     $brooklyn:entitySpec:
-      type: brooklyn.test.entity.TestEntity
+      type: org.apache.brooklyn.core.test.entity.TestEntity
       brooklyn.enrichers:
-      - type: brooklyn.enricher.basic.Transformer
+      - type: org.apache.brooklyn.enricher.stock.Transformer
         # transform "ip" (which we expect a feed, not shown here, to set) to a URL;
         # you can curl an address string to the sensors/ip endpoint an entity to trigger these enrichers 
         brooklyn.config:
           enricher.sourceSensor: $brooklyn:sensor("ip")
           enricher.targetSensor: $brooklyn:sensor("url")
           enricher.targetValue: $brooklyn:formatString("http://%s/", $brooklyn:attributeWhenReady("ip"))
-      - type: brooklyn.enricher.basic.Propagator
+      - type: org.apache.brooklyn.enricher.stock.Propagator
         # use propagator to duplicate one sensor as another, giving the supplied sensor mapping;
         # the other use of Propagator is where you specify a producer (using $brooklyn:entity(...) as below)
         # from which to take sensors; in that mode you can specify `propagate` as a list of sensors whose names are unchanged,
@@ -28,13 +28,13 @@ services:
           sensorMapping:
             $brooklyn:sensor("url"): $brooklyn:sensor("org.apache.brooklyn.core.entity.Attributes", "main.uri")
   brooklyn.enrichers:
-  - type: brooklyn.enricher.basic.Aggregator
+  - type: org.apache.brooklyn.enricher.stock.Aggregator
     # aggregate `url` sensors from children into a list
     brooklyn.config:
       enricher.sourceSensor: $brooklyn:sensor("url")
       enricher.targetSensor: $brooklyn:sensor("urls.list")
       enricher.aggregating.fromMembers: true
-  - type: brooklyn.enricher.basic.Joiner
+  - type: org.apache.brooklyn.enricher.stock.Joiner
     # create a string from that list, for use e.g. in bash scripts
     brooklyn.config:
       enricher.sourceSensor: $brooklyn:sensor("urls.list")
@@ -42,7 +42,7 @@ services:
       maximum: 2
       # TODO infer uniqueTag, name etc
       uniqueTag: urls.list.comma_separated.max_2
-  - type: brooklyn.enricher.basic.Joiner
+  - type: org.apache.brooklyn.enricher.stock.Joiner
     # pick one uri as the main one to use
     brooklyn.config:
       enricher.sourceSensor: $brooklyn:sensor("urls.list")
@@ -50,7 +50,7 @@ services:
       quote: false
       maximum: 1
 brooklyn.enrichers:
-- type: brooklyn.enricher.basic.Propagator
+- type: org.apache.brooklyn.enricher.stock.Propagator
   # if nothing specified for `propagating` or `sensorMapping` then 
   # Propagator will do all but the usual lifecycle defaults, handy at the root!
   brooklyn.config:

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/index.md b/docs/guide/yaml/index.md
index c431d1a..55acfee 100644
--- a/docs/guide/yaml/index.md
+++ b/docs/guide/yaml/index.md
@@ -9,6 +9,7 @@ children:
 - multiple-services.md
 - clusters-and-policies.md
 - custom-entities.md
+- winrm/
 - chef/
 - { path: yaml-reference.md, title: YAML Blueprint Reference }
 - { link: 'https://github.com/brooklyncentral/blueprint-library', title: 'GitHub Blueprint Library' }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/winrm/about-winrm.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/winrm/about-winrm.md b/docs/guide/yaml/winrm/about-winrm.md
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/winrm/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/winrm/index.md b/docs/guide/yaml/winrm/index.md
index 7989a61..58b5524 100644
--- a/docs/guide/yaml/winrm/index.md
+++ b/docs/guide/yaml/winrm/index.md
@@ -1,5 +1,5 @@
 ---
-title: Windows blueprints
+title: Windows Blueprints
 layout: website-normal
 children:
 - re-authentication.md
@@ -112,7 +112,7 @@ The installation script - referred to as `/Users/richard/install7zip.ps1` in the
     Start-Process "msiexec" -ArgumentList '/qn','/i',$Dl -RedirectStandardOutput ( [System.IO.Path]::Combine($Path, "stdout.txt") ) -RedirectStandardError ( [System.IO.Path]::Combine($Path, "stderr.txt") ) -Wait
 
 This is only a very simple example. A core complex example can be found in the [Microsoft SQL Server blueprint in the
-Brooklyn source code](https://github.com/apache/incubator-brooklyn/tree/master/software/database/src/main/resources/brooklyn/entity/database/mssql).
+Brooklyn source code]({{ brooklyn.url.git }}/software/database/src/main/resources/org/apache/brooklyn/entity/database/mssql).
 
 
 Known Limitations and Special Cases

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/guide/yaml/yaml-reference.md
----------------------------------------------------------------------
diff --git a/docs/guide/yaml/yaml-reference.md b/docs/guide/yaml/yaml-reference.md
index 64c81a5..221e71e 100644
--- a/docs/guide/yaml/yaml-reference.md
+++ b/docs/guide/yaml/yaml-reference.md
@@ -18,9 +18,9 @@ service `type` (synonyms `serviceType` and `service_type`), indicating what type
 service is being specified there.  The following formats are supported for
 defining types:
 
-* `io.brooklyn.package.JavaEntityClass`
-* `java:io.brooklyn.package.JavaEntityClass`
-* *OSGi and YAML references are coming soon!* <!-- TODO -->
+* `com.acme.brooklyn.package.JavaEntityClass`
+* `java:com.acme.brooklyn.package.JavaEntityClass`
+* `java-entity-class` (where this has been added to the [catalog](../ops/catalog/))
 
 A reference of some of the common service `type` instances used is included in a section below.
 
@@ -49,12 +49,12 @@ the entity being defined, with these being the most common:
   a single `Map` where the `brooklyn.config` is passed in.
   Some common initializers are:
   
-  * `brooklyn.entity.software.ssh.SshCommandEffector`: takes a `name` and `command`,
+  * `org.apache.brooklyn.core.effector.ssh.SshCommandEffector`: takes a `name` and `command`,
     and optionally a map of named `parameters` to their `description` and `defaultValue`,
     to define an effector with the given name implemented by the given SSH command
     (on an entity which as an ssh-able machine)
 
-  * `brooklyn.entity.software.ssh.SshCommandSensor`: takes a `name` and `command`,
+  * `org.apache.brooklyn.core.sensor.ssh.SshCommandSensor`: takes a `name` and `command`,
     and optionally a `period`, to create a sensor feed which populates the sensor with
     the given name by running the given command (on an entity which as an ssh-able machine) 
 
@@ -151,7 +151,7 @@ concise DSL defined here:
 * `$brooklyn:config("key")` will insert the value set against the given key at this entity (or nearest ancestor);
   can be used to supply config at the root which is used in multiple places in the plan
 * `$brooklyn:sensor("sensor.name")` returns the given sensor on the current entity if found, or an untyped (Object) sensor;
-  `$brooklyn:sensor("io.brooklyn.ContainingEntityClass", "sensor.name")` returns the strongly typed sensor defined in the given class
+  `$brooklyn:sensor("com.acme.brooklyn.ContainingEntityClass", "sensor.name")` returns the strongly typed sensor defined in the given class
 * `$brooklyn:component("ID")` refers to a Brooklyn component with the given ID; you can then access the following subfields,
   using the same syntax as defined above but with a different reference entity,
   e.g. `$brooklyn:component("ID").attributeWhenReady("sensor")`:

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/website/developers/committers/release-process/verify-release-artifacts.md
----------------------------------------------------------------------
diff --git a/docs/website/developers/committers/release-process/verify-release-artifacts.md b/docs/website/developers/committers/release-process/verify-release-artifacts.md
index 048737b..086e56c 100644
--- a/docs/website/developers/committers/release-process/verify-release-artifacts.md
+++ b/docs/website/developers/committers/release-process/verify-release-artifacts.md
@@ -113,7 +113,7 @@ Try deploying a simple app, such as the YAML:
 {% highlight yaml %}
 location: localhost
 services:
-- type: brooklyn.entity.webapp.jboss.JBoss7Server
+- type: org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
 {% endhighlight %}
 
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/website/learnmore/blueprint-tour.md
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/blueprint-tour.md b/docs/website/learnmore/blueprint-tour.md
index c31ac89..0a7795b 100644
--- a/docs/website/learnmore/blueprint-tour.md
+++ b/docs/website/learnmore/blueprint-tour.md
@@ -116,7 +116,7 @@ services:</div></div>
             under the covers automatically with OSGi.
         </p></div>
       </div><div class="connector"><div>&nbsp;</div></div></div></div>
-<div>- type: <span class="ann_highlight">brooklyn.entity.webapp.ControlledDynamicWebAppCluster:1.1.0</span>
+<div>- type: <span class="ann_highlight">org.apache.brooklyn.entity.webapp.ControlledDynamicWebAppCluster:1.1.0</span>
   war: http://example.com/couchbase-chat/chatroom.war
   java.sysprops:
     chat.db.url: $brooklyn:entity("chat-couchbase").attributeWhenReady("couchbase.cluster.connection.url")</div></div>
@@ -135,7 +135,7 @@ services:</div></div>
 <div>  brooklyn.policies:
   - type: <span class="ann_highlight">autoscaler</span>
     brooklyn.config:
-      metric: $brooklyn:sensor(""webapp.reqs.perSec.windowed.perNode")
+      metric: $brooklyn:sensor("webapp.reqs.perSec.windowed.perNode")
       metricLowerBound: 400
       metricUpperBound: 600</div></div>
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/docs/website/learnmore/catalog/catalog-item.html
----------------------------------------------------------------------
diff --git a/docs/website/learnmore/catalog/catalog-item.html b/docs/website/learnmore/catalog/catalog-item.html
index b7acd5b..f52ec56 100644
--- a/docs/website/learnmore/catalog/catalog-item.html
+++ b/docs/website/learnmore/catalog/catalog-item.html
@@ -73,7 +73,7 @@ under the License.
         return;
       }
 
-      // entities/brooklyn.entity.brooklynnode.BrooklynNode
+      // e.g. entities/org.apache.brooklyn.entity.brooklynnode.BrooklynNode
       var item = brooklyn.findItemOfType(items[args[0]], args[1]);
 
       $("#summary").html(brooklyn.typeSummary(item));

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
index bfa3003..1101b34 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsUtil.java
@@ -170,7 +170,7 @@ public class JcloudsUtil implements JcloudsLocationConfig {
     }
 
     /**
-     * @deprecated since 0.7; {@see #installJavaAndCurl(OperatingSystem)}
+     * @deprecated since 0.7; see {@link #installJavaAndCurl(OperatingSystem)}
      */
     @Deprecated
     public static final Statement APT_RUN_SCRIPT = newStatementList(//
@@ -185,7 +185,7 @@ public class JcloudsUtil implements JcloudsLocationConfig {
                 .toString()));
 
     /**
-     * @deprecated since 0.7; {@see #installJavaAndCurl(OperatingSystem)}
+     * @deprecated since 0.7; see {@link #installJavaAndCurl(OperatingSystem)}
      */
     @Deprecated
     public static final Statement YUM_RUN_SCRIPT = newStatementList(
@@ -198,7 +198,7 @@ public class JcloudsUtil implements JcloudsLocationConfig {
                 .toString()));
 
     /**
-     * @deprecated since 0.7; {@see #installJavaAndCurl(OperatingSystem)}
+     * @deprecated since 0.7; {@link #installJavaAndCurl(OperatingSystem)}
      */
     @Deprecated
     public static final Statement ZYPPER_RUN_SCRIPT = exec(new StringBuilder()//

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/networking/JcloudsPortForwarderExtension.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/networking/JcloudsPortForwarderExtension.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/networking/JcloudsPortForwarderExtension.java
index deacda4..d101a60 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/networking/JcloudsPortForwarderExtension.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/networking/JcloudsPortForwarderExtension.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.location.jclouds.networking;
 
 import org.jclouds.compute.domain.NodeMetadata;
+import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.core.location.access.BrooklynAccessUtils;
 import org.apache.brooklyn.core.location.access.PortForwardManager;
 import org.apache.brooklyn.util.net.Cidr;
@@ -35,7 +36,7 @@ public interface JcloudsPortForwarderExtension {
      * 
      * This should also register the port with the {@link PortForwardManager}, via 
      * {@code portForwardManager.associate(node.getId(), result, targetPort)} so that
-     * subsequent calls to {@link BrooklynAccessUtils#getBrooklynAccessibleAddress(brooklyn.entity.Entity, int)}
+     * subsequent calls to {@link BrooklynAccessUtils#getBrooklynAccessibleAddress(Entity, int)}
      * will know about the mapped port.
      */
     public HostAndPort openPortForwarding(NodeMetadata node, int targetPort, Optional<Integer> optionalPublicPort, Protocol protocol, Cidr accessingCidr);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java
----------------------------------------------------------------------
diff --git a/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java b/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java
index 58fda00..1bd9e8f 100644
--- a/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java
+++ b/policy/src/main/java/org/apache/brooklyn/policy/enricher/HttpLatencyDetector.java
@@ -30,6 +30,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntityLocal;
 import org.apache.brooklyn.api.sensor.AttributeSensor;
+import org.apache.brooklyn.api.sensor.Enricher;
 import org.apache.brooklyn.api.sensor.SensorEvent;
 import org.apache.brooklyn.api.sensor.SensorEventListener;
 import org.apache.brooklyn.config.ConfigKey;
@@ -65,7 +66,7 @@ import com.google.common.reflect.TypeToken;
  * and has limited support for https.
  */
 //@Catalog(name="HTTP Latency Detector", description="An Enricher which computes latency in accessing a URL, normally by periodically polling that URL")
-public class HttpLatencyDetector extends AbstractEnricher {
+public class HttpLatencyDetector extends AbstractEnricher implements Enricher {
 
     private static final Logger log = LoggerFactory.getLogger(HttpLatencyDetector.class);
     
@@ -304,7 +305,7 @@ public class HttpLatencyDetector extends AbstractEnricher {
         }
 
         /** returns the detector. note that callers should then add this to the entity,
-         * typically using {@link Entity#addEnricher(brooklyn.policy.Enricher)} */
+         * typically using {@link Entity#addEnricher(Enricher)} */
         public HttpLatencyDetector build() {
             return new HttpLatencyDetector(MutableMap.builder()
                     .putIfNotNull(PERIOD, period)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
index 3975e68..6b78930 100644
--- a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxFeedTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.brooklyn.feed.jmx;
 
-import static org.apache.brooklyn.test.TestUtils.executeUntilSucceeds;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
 
@@ -64,22 +63,14 @@ import org.apache.brooklyn.entity.java.UsesJmx;
 import org.apache.brooklyn.entity.java.UsesJmx.JmxAgentModes;
 import org.apache.brooklyn.entity.software.base.test.jmx.GeneralisedDynamicMBean;
 import org.apache.brooklyn.entity.software.base.test.jmx.JmxService;
-import org.apache.brooklyn.feed.jmx.JmxAttributePollConfig;
-import org.apache.brooklyn.feed.jmx.JmxFeed;
-import org.apache.brooklyn.feed.jmx.JmxHelper;
-import org.apache.brooklyn.feed.jmx.JmxNotificationFilters;
-import org.apache.brooklyn.feed.jmx.JmxNotificationSubscriptionConfig;
-import org.apache.brooklyn.feed.jmx.JmxOperationPollConfig;
-import org.apache.brooklyn.feed.jmx.JmxValueFunctions;
+import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
 import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.test.TestUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 import org.testng.collections.Lists;
-import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
 
 import com.google.common.base.Function;
 import com.google.common.collect.ImmutableList;
@@ -236,7 +227,7 @@ public class JmxFeedTest {
                         .operationName(opName))
                 .build();
         
-        TestUtils.executeUntilSucceeds(ImmutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
+        Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
             public void run() {
                 assertTrue(invocationCount.get() > 0, "invocationCount="+invocationCount);
                 assertEquals(entity.getAttribute(intAttribute), (Integer)opReturnVal);
@@ -413,7 +404,7 @@ public class JmxFeedTest {
     }
     
     private <T> void assertSensorEventually(final AttributeSensor<T> sensor, final T expectedVal, long timeout) {
-        executeUntilSucceeds(ImmutableMap.of("timeout", timeout), new Callable<Void>() {
+        Asserts.succeedsEventually(ImmutableMap.of("timeout", timeout), new Callable<Void>() {
             public Void call() {
                 assertEquals(entity.getAttribute(sensor), expectedVal);
                 return null;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
index 3470166..a78f49b 100644
--- a/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/feed/jmx/JmxHelperTest.java
@@ -36,6 +36,7 @@ import javax.management.StandardEmitterMBean;
 import org.apache.brooklyn.entity.software.base.test.jmx.GeneralisedDynamicMBean;
 import org.apache.brooklyn.entity.software.base.test.jmx.JmxService;
 import org.apache.brooklyn.feed.jmx.JmxHelper;
+import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.test.TestUtils;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.exceptions.Exceptions;
@@ -249,7 +250,7 @@ public class JmxHelperTest {
 
         final Notification notif = sendNotification(mbean, "one", sequence++, "abc");
 
-        TestUtils.executeUntilSucceeds(ImmutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
+        Asserts.succeedsEventually(ImmutableMap.of("timeout", TIMEOUT_MS), new Runnable() {
             public void run() {
                 assertEquals(received.size(), 1);
                 assertNotificationsEqual(received.get(0), notif);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/nosql/src/main/resources/org/apache/brooklyn/entity/nosql/couchbase/pillowfight.yaml
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/resources/org/apache/brooklyn/entity/nosql/couchbase/pillowfight.yaml b/software/nosql/src/main/resources/org/apache/brooklyn/entity/nosql/couchbase/pillowfight.yaml
index 5323885..d91fcc9 100644
--- a/software/nosql/src/main/resources/org/apache/brooklyn/entity/nosql/couchbase/pillowfight.yaml
+++ b/software/nosql/src/main/resources/org/apache/brooklyn/entity/nosql/couchbase/pillowfight.yaml
@@ -34,7 +34,7 @@ services:
     base_url: http://127.0.0.1:8091/
     
   brooklyn.initializers:
-  - type: brooklyn.entity.software.ssh.SshCommandEffector
+  - type: org.apache.brooklyn.core.effector.ssh.SshCommandEffector
     brooklyn.config:
       name: pillow_fight
       description: runs cbc pillowfight

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java
index ac26374..f309ca4 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java
@@ -326,8 +326,7 @@ public class NginxSshDriver extends AbstractSoftwareProcessSshDriver implements
 
         getEntity().doExtraConfigurationDuringStart();
 
-        // We wait for evidence of running because, using
-        // brooklyn.ssh.config.tool.class=brooklyn.util.internal.ssh.cli.SshCliTool,
+        // We wait for evidence of running because, using SshCliTool,
         // we saw the ssh session return before the tomcat process was fully running
         // so the process failed to start.
         newScript(MutableMap.of("usePidFile", false), LAUNCHING)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java
index 80933df..e542af6 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java
@@ -142,8 +142,7 @@ public class JBoss6SshDriver extends JavaWebAppSshDriver implements JBoss6Driver
         // run.sh must be backgrounded otherwise the script will never return.
 
         // Don't automatically create pid; instead set JBOSS_PIDFILE to create the pid file we need
-        // We wait for evidence of tomcat running because, using 
-        // brooklyn.ssh.config.tool.class=brooklyn.util.internal.ssh.cli.SshCliTool,
+        // We wait for evidence of tomcat running because, using SshCliTool,
         // we saw the ssh session return before the tomcat process was fully running 
         // so the process failed to start.
         newScript(MutableMap.of(USE_PID_FILE, false), LAUNCHING)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss7SshDriver.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss7SshDriver.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss7SshDriver.java
index 7cbfff8..8425b6a 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss7SshDriver.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss7SshDriver.java
@@ -198,8 +198,7 @@ public class JBoss7SshDriver extends JavaWebAppSshDriver implements JBoss7Driver
     public void launch() {
         entity.setAttribute(JBoss7Server.PID_FILE, Os.mergePathsUnix(getRunDir(), PID_FILENAME));
 
-        // We wait for evidence of JBoss running because, using
-        // brooklyn.ssh.config.tool.class=brooklyn.util.internal.ssh.cli.SshCliTool,
+        // We wait for evidence of JBoss running because, using SshCliTool,
         // we saw the ssh session return before the JBoss process was fully running
         // so the process failed to start.
         newScript(MutableMap.of(USE_PID_FILE, false), LAUNCHING)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/tomcat/TomcatSshDriver.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/tomcat/TomcatSshDriver.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/tomcat/TomcatSshDriver.java
index 494f8a9..ed2dc60 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/tomcat/TomcatSshDriver.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/tomcat/TomcatSshDriver.java
@@ -93,8 +93,7 @@ public class TomcatSshDriver extends JavaWebAppSshDriver implements TomcatDriver
         Map<String, Integer> ports = MutableMap.of("httpPort", getHttpPort(), "shutdownPort", getShutdownPort());
         Networking.checkPortsValid(ports);
 
-        // We wait for evidence of tomcat running because, using 
-        // brooklyn.ssh.config.tool.class=brooklyn.util.internal.ssh.cli.SshCliTool,
+        // We wait for evidence of tomcat running because, using SshCliTool,
         // we saw the ssh session return before the tomcat process was fully running 
         // so the process failed to start.
         newScript(MutableMap.of(USE_PID_FILE, false), LAUNCHING)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppLiveIntegrationTest.groovy
----------------------------------------------------------------------
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppLiveIntegrationTest.groovy b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppLiveIntegrationTest.groovy
index c8747fa..4706654 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppLiveIntegrationTest.groovy
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppLiveIntegrationTest.groovy
@@ -19,7 +19,6 @@
 package org.apache.brooklyn.entity.webapp
 
 import static java.util.concurrent.TimeUnit.*
-import static org.apache.brooklyn.test.TestUtils.*
 import static org.testng.Assert.*
 
 import org.apache.brooklyn.api.entity.Application
@@ -36,8 +35,6 @@ import org.apache.brooklyn.entity.webapp.jboss.JBoss7Server
 import org.apache.brooklyn.entity.webapp.jboss.JBoss7ServerImpl
 import org.apache.brooklyn.entity.webapp.tomcat.TomcatServer
 import org.apache.brooklyn.entity.webapp.tomcat.TomcatServerImpl
-import org.apache.brooklyn.test.TestUtils
-import org.apache.brooklyn.util.groovy.TimeExtras;
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 import org.testng.annotations.AfterMethod
@@ -51,8 +48,6 @@ import org.testng.annotations.Test
 public class WebAppLiveIntegrationTest {
     private static final Logger logger = LoggerFactory.getLogger(WebAppLiveIntegrationTest.class)
 
-    static { TimeExtras.init() }
-
     public static final int DEFAULT_HTTP_PORT = 8080
     public static final int DEFAULT_JMX_PORT = 32199
 
@@ -79,10 +74,6 @@ public class WebAppLiveIntegrationTest {
         return [ [ tomcat ], [ jboss6 ], [ jboss7 ] ]
     }
 
-    private File getResource(String path) {
-        return TestUtils.getResource(path, getClass().getClassLoader());
-    }
-
     @BeforeMethod(alwaysRun = true)
     public void setUp() {
         Entities.manage(application)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampCatalogUtils.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampCatalogUtils.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampCatalogUtils.java
index b486038..3d64897 100644
--- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampCatalogUtils.java
+++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampCatalogUtils.java
@@ -122,7 +122,7 @@ public class CampCatalogUtils {
     }
 
     private static PolicySpec<?> createPolicySpec(DeploymentPlan plan, BrooklynClassLoadingContext loader, Set<String> encounteredCatalogTypes) {
-        //Would ideally re-use io.brooklyn.camp.brooklyn.spi.creation.BrooklynEntityDecorationResolver.PolicySpecResolver
+        //Would ideally re-use the PolicySpecResolver
         //but it is CAMP specific and there is no easy way to get hold of it.
         Object policies = checkNotNull(plan.getCustomAttributes().get(BasicBrooklynCatalog.POLICIES_KEY), "policy config");
         if (!(policies instanceof Iterable<?>)) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/cli/src/main/resources/brooklyn/default.catalog.bom
----------------------------------------------------------------------
diff --git a/usage/cli/src/main/resources/brooklyn/default.catalog.bom b/usage/cli/src/main/resources/brooklyn/default.catalog.bom
index 92ed645..54e46fd 100644
--- a/usage/cli/src/main/resources/brooklyn/default.catalog.bom
+++ b/usage/cli/src/main/resources/brooklyn/default.catalog.bom
@@ -142,12 +142,12 @@ brooklyn.catalog:
         
         brooklyn.enrichers:
         # publish the URL as a sensor; the GUI will pick this up (main.uri)
-        - type: org.apache.brooklyn.sensor.enricher.Transformer
+        - type: org.apache.brooklyn.enricher.stock.Transformer
           brooklyn.config:
             uniqueTag: url-generator
             enricher.sourceSensor: host.subnet.hostname
             # use the definition from Attributes class, as it has a RendererHint so GUI makes it a link
-            enricher.targetSensor: $brooklyn:sensor("org.apache.brooklyn.entity.core.Attributes", "main.uri")
+            enricher.targetSensor: $brooklyn:sensor("org.apache.brooklyn.core.entity.Attributes", "main.uri")
             enricher.targetValue: 
               $brooklyn:formatString:
               - "http://%s:%s/" 
@@ -246,7 +246,7 @@ brooklyn.catalog:
               
               brooklyn.initializers:
               # make a simple request-count sensor, by counting the number of 200 responses in output.txt
-              - type: org.apache.brooklyn.sensor.ssh.SshCommandSensor
+              - type: org.apache.brooklyn.core.sensor.ssh.SshCommandSensor
                 brooklyn.config:
                   name: reqs.count
                   targetType: int
@@ -261,13 +261,13 @@ brooklyn.catalog:
               
               brooklyn.enrichers:
               # derive reqs.per_sec from reqs.count
-              - type: org.apache.brooklyn.sensor.enricher.YamlTimeWeightedDeltaEnricher
+              - type: org.apache.brooklyn.enricher.stock.YamlTimeWeightedDeltaEnricher
                 brooklyn.config:
                   enricher.sourceSensor: reqs.count
                   enricher.targetSensor: reqs.per_sec
                   enricher.delta.period: 1s
               # and take an average over 30s for reqs.per_sec into reqs.per_sec.windowed_30s
-              - type: org.apache.brooklyn.sensor.enricher.YamlRollingTimeWindowMeanEnricher
+              - type: org.apache.brooklyn.enricher.stock.YamlRollingTimeWindowMeanEnricher
                 brooklyn.config:
                   enricher.sourceSensor: reqs.per_sec
                   enricher.targetSensor: reqs.per_sec.windowed_30s
@@ -286,17 +286,17 @@ brooklyn.catalog:
         
         # back at the cluster, create a total per-sec and some per-node average
         brooklyn.enrichers:
-        - type: org.apache.brooklyn.sensor.enricher.Aggregator
+        - type: org.apache.brooklyn.enricher.stock.Aggregator
           brooklyn.config:
             enricher.sourceSensor: reqs.per_sec
             enricher.targetSensor: reqs.per_sec
             transformation: sum
-        - type: org.apache.brooklyn.sensor.enricher.Aggregator
+        - type: org.apache.brooklyn.enricher.stock.Aggregator
           brooklyn.config:
             enricher.sourceSensor: reqs.per_sec
             enricher.targetSensor: reqs.per_sec.per_node
             transformation: average
-        - type: org.apache.brooklyn.sensor.enricher.Aggregator
+        - type: org.apache.brooklyn.enricher.stock.Aggregator
           brooklyn.config:
             enricher.sourceSensor: reqs.per_sec.windowed_30s
             enricher.targetSensor: reqs.per_sec.windowed_30s.per_node
@@ -335,13 +335,13 @@ brooklyn.catalog:
       
       brooklyn.enrichers:
       # publish a few useful info sensors and KPI's to the root of the app
-      - type: org.apache.brooklyn.sensor.enricher.Propagator
+      - type: org.apache.brooklyn.enricher.stock.Propagator
         brooklyn.config:
           uniqueTag:    propagate-load-balancer-url
           producer:     $brooklyn:entity("load-bal")
           propagating:
           - main.uri
-      - type: org.apache.brooklyn.sensor.enricher.Propagator
+      - type: org.apache.brooklyn.enricher.stock.Propagator
         brooklyn.config:
           uniqueTag:    propagate-reqs-per-sec
           producer:     $brooklyn:entity("my-web-cluster")

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/dist/src/test/java/org/apache/brooklyn/cli/CliIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/dist/src/test/java/org/apache/brooklyn/cli/CliIntegrationTest.java b/usage/dist/src/test/java/org/apache/brooklyn/cli/CliIntegrationTest.java
index 1d4280b..ec56d47 100644
--- a/usage/dist/src/test/java/org/apache/brooklyn/cli/CliIntegrationTest.java
+++ b/usage/dist/src/test/java/org/apache/brooklyn/cli/CliIntegrationTest.java
@@ -118,8 +118,8 @@ public class CliIntegrationTest extends BaseCliIntegrationTest {
         BrooklynCliTest test = new BrooklynCliTest(brooklyn) {
             @Override
             public void checkConsole() {
-                assertConsoleOutput("ERROR Execution error: brooklyn.util.ResourceUtils.getResourceFromUrl");
-                assertConsoleError("Execution error: Error getting resource '"+app+"' for LaunchCommand");
+                assertConsoleOutput(app, "not found");
+                assertConsoleError("ERROR", "Fatal", "getting resource", app);
             }
         };
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/jsgui/src/test/javascript/specs/model/application-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/model/application-spec.js b/usage/jsgui/src/test/javascript/specs/model/application-spec.js
index 175ee74..1b76e3b 100644
--- a/usage/jsgui/src/test/javascript/specs/model/application-spec.js
+++ b/usage/jsgui/src/test/javascript/specs/model/application-spec.js
@@ -71,7 +71,7 @@ define([
         it("loads the entity from fixtures/application-spec.json", function () {
             var entity = new Entity.Model(spec.get("entities")[0])
             expect(entity.get("name")).toEqual('Vanilla Java App')
-            expect(entity.get("type")).toEqual('brooklyn.entity.java.VanillaJavaApp')
+            expect(entity.get("type")).toEqual('org.apache.brooklyn.entity.java.VanillaJavaApp')
             expect(entity.getConfigByName('initialSize')).toEqual('1')
             expect(entity.getConfigByName('creationScriptUrl')).toEqual('http://my.brooklyn.io/storage/foo.sql')
         })

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/jsgui/src/test/javascript/specs/model/entity-spec.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/javascript/specs/model/entity-spec.js b/usage/jsgui/src/test/javascript/specs/model/entity-spec.js
index 8ea9c9e..6b3c80e 100644
--- a/usage/jsgui/src/test/javascript/specs/model/entity-spec.js
+++ b/usage/jsgui/src/test/javascript/specs/model/entity-spec.js
@@ -31,8 +31,8 @@ define([
             expect(entityFixture.length).toEqual(1)
             var entity = entityFixture.at(0)
             expect(entity.get("name")).toEqual('Vanilla Java App')
-            expect(entity.get("type")).toEqual('brooklyn.entity.java.VanillaJavaApp')
+            expect(entity.get("type")).toEqual('org.apache.brooklyn.entity.java.VanillaJavaApp')
             expect(entity.get("config")).toEqual({})
         })
     })
-})
\ No newline at end of file
+})

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
index dba30ac..24db1c7 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindToCloudObjectStoreTest.java
@@ -46,9 +46,9 @@ public class BrooklynLauncherRebindToCloudObjectStoreTest extends BrooklynLaunch
     //     apps=[Application[mDNfOA7w]] expected [true] but found [false]
     // Should it really delete everything in the bucket?! Only if we can back up first!
 
-    // FIXME brooklyn.util.exceptions.FatalRuntimeException: Error rebinding to persisted state: Writes not allowed in brooklyn.entity.rebind.persister.BrooklynMementoPersisterToObjectStore@7d2f7563
-    //     at brooklyn.launcher.BrooklynLauncher.persistState(BrooklynLauncher.java:502)
-    //     at brooklyn.launcher.BrooklynLauncherRebindToCloudObjectStoreTest.testCopyPersistedState(BrooklynLauncherRebindToCloudObjectStoreTest.java:144)
+    // FIXME FatalRuntimeException: Error rebinding to persisted state: Writes not allowed in brooklyn.entity.rebind.persister.BrooklynMementoPersisterToObjectStore@7d2f7563
+    //     at BrooklynLauncher.persistState(BrooklynLauncher.java:502)
+    //     at BrooklynLauncherRebindToCloudObjectStoreTest.testCopyPersistedState(BrooklynLauncherRebindToCloudObjectStoreTest.java:144)
     // Presumably a previous run wasn't tearing down properly, so it joined as a standby rather than being master?! 
     
     { persistenceLocationSpec = BlobStoreTest.PERSIST_TO_OBJECT_STORE_FOR_TEST_SPEC; }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/launcher/src/test/resources/mongo-sharded.yaml
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/resources/mongo-sharded.yaml b/usage/launcher/src/test/resources/mongo-sharded.yaml
index b9b3d9e..1a7a0bc 100644
--- a/usage/launcher/src/test/resources/mongo-sharded.yaml
+++ b/usage/launcher/src/test/resources/mongo-sharded.yaml
@@ -36,7 +36,7 @@ services:
       $brooklyn:entitySpec:
         type: org.apache.brooklyn.entity.nosql.mongodb.sharding.CoLocatedMongoDBRouter
         brooklyn.enrichers:
-          - type: brooklyn.enricher.basic.Propagator
+          - type: org.apache.brooklyn.enricher.stock.Propagator
             brooklyn.config:
               enricher.propagating.sensorMapping:
                 $brooklyn:sensor("org.apache.brooklyn.entity.webapp.jboss.JBoss7Server", "http.port"): $brooklyn:sensor("org.apache.brooklyn.entity.webapp.jboss.JBoss7Server", "http.port") 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
----------------------------------------------------------------------
diff --git a/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java b/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
index eb55d73..a050fd8 100644
--- a/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
+++ b/usage/qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java
@@ -197,8 +197,7 @@ public class SimulatedJBoss7ServerImpl extends JBoss7ServerImpl {
                 return;
             }
             
-            // We wait for evidence of JBoss running because, using
-            // brooklyn.ssh.config.tool.class=brooklyn.util.internal.ssh.cli.SshCliTool,
+            // We wait for evidence of JBoss running because, using SshCliTool,
             // we saw the ssh session return before the JBoss process was fully running
             // so the process failed to start.
             String pidFile = Os.mergePathsUnix(getRunDir(), PID_FILENAME);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/qa/src/test/java/org/apache/brooklyn/qa/brooklynnode/SoftlayerObtainPrivateLiveTest.java
----------------------------------------------------------------------
diff --git a/usage/qa/src/test/java/org/apache/brooklyn/qa/brooklynnode/SoftlayerObtainPrivateLiveTest.java b/usage/qa/src/test/java/org/apache/brooklyn/qa/brooklynnode/SoftlayerObtainPrivateLiveTest.java
index bd6eb96..9f351ce 100644
--- a/usage/qa/src/test/java/org/apache/brooklyn/qa/brooklynnode/SoftlayerObtainPrivateLiveTest.java
+++ b/usage/qa/src/test/java/org/apache/brooklyn/qa/brooklynnode/SoftlayerObtainPrivateLiveTest.java
@@ -36,6 +36,7 @@ import org.apache.brooklyn.core.test.entity.TestApplication;
 import org.apache.brooklyn.entity.brooklynnode.BrooklynEntityMirror;
 import org.apache.brooklyn.entity.brooklynnode.BrooklynNode;
 import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
+import org.apache.brooklyn.entity.machine.MachineEntity;
 import org.apache.brooklyn.launcher.BrooklynLauncher;
 import org.apache.brooklyn.location.jclouds.JcloudsLocationConfig;
 import org.apache.brooklyn.test.EntityTestUtils;
@@ -212,7 +213,7 @@ public class SoftlayerObtainPrivateLiveTest {
         return Joiner.on('\n').join(ImmutableList.of(
                 "location: " + getTestLocation(hasPublicNetwork),
                 "services:",
-                "- type: brooklyn.entity.machine.MachineEntity",
+                "- type: "+MachineEntity.class.getName(),
                 "  name: " + (hasPublicNetwork ? "Public" : "Private")
                 ));
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java b/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
index 43c95cc..a04d074 100644
--- a/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
+++ b/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
@@ -32,7 +32,7 @@ import com.google.common.collect.ImmutableSet;
 
 public class ApplicationSpecTest {
 
-    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "brooklyn.entity.java.VanillaJavaApp",
+    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "org.apache.brooklyn.entity.java.VanillaJavaApp",
             ImmutableMap.<String, String>of(
                     "initialSize", "1",
                     "creationScriptUrl", "http://my.brooklyn.io/storage/foo.sql"));

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java b/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
index 74159d1..a61cfd5 100644
--- a/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
+++ b/usage/rest-api/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
@@ -29,7 +29,7 @@ import org.testng.annotations.Test;
 
 public class EntitySpecTest {
 
-    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "brooklyn.entity.java.VanillaJavaApp");
+    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "org.apache.brooklyn.entity.java.VanillaJavaApp");
 
     @Test
     public void testSerializeToJSON() throws IOException {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/resources/fixtures/application-list.json
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/resources/fixtures/application-list.json b/usage/rest-api/src/test/resources/fixtures/application-list.json
index f9f4b05..029cf68 100644
--- a/usage/rest-api/src/test/resources/fixtures/application-list.json
+++ b/usage/rest-api/src/test/resources/fixtures/application-list.json
@@ -25,7 +25,7 @@
             "entities":[
                 {
                     "name":"Vanilla Java App",
-                    "type":"brooklyn.entity.java.VanillaJavaApp",
+                    "type":"org.apache.brooklyn.entity.java.VanillaJavaApp",
                     "config":{
                         "initialSize":"1",
                         "creationScriptUrl":"http://my.brooklyn.io/storage/foo.sql"

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/resources/fixtures/application-spec.json
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/resources/fixtures/application-spec.json b/usage/rest-api/src/test/resources/fixtures/application-spec.json
index 3605791..9f042c6 100644
--- a/usage/rest-api/src/test/resources/fixtures/application-spec.json
+++ b/usage/rest-api/src/test/resources/fixtures/application-spec.json
@@ -3,7 +3,7 @@
     "entities":[
         {
             "name":"Vanilla Java App",
-            "type":"brooklyn.entity.java.VanillaJavaApp",
+            "type":"org.apache.brooklyn.entity.java.VanillaJavaApp",
             "config":{
                 "initialSize":"1",
                 "creationScriptUrl":"http://my.brooklyn.io/storage/foo.sql"
@@ -13,4 +13,4 @@
     "locations":[
         "/v1/locations/1"
     ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/resources/fixtures/application.json
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/resources/fixtures/application.json b/usage/rest-api/src/test/resources/fixtures/application.json
index d98e837..cd6a21a 100644
--- a/usage/rest-api/src/test/resources/fixtures/application.json
+++ b/usage/rest-api/src/test/resources/fixtures/application.json
@@ -5,7 +5,7 @@
         "entities":[
             {
                 "name":"Vanilla Java App",
-                "type":"brooklyn.entity.java.VanillaJavaApp",
+                "type":"org.apache.brooklyn.entity.java.VanillaJavaApp",
                 "config":{
                     "initialSize":"1",
                     "creationScriptUrl":"http://my.brooklyn.io/storage/foo.sql"
@@ -19,4 +19,4 @@
         "self":"/v1/applications/myapp",
         "entities":"fixtures/entity-summary-list.json"
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/resources/fixtures/entity-only-type.json
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/resources/fixtures/entity-only-type.json b/usage/rest-api/src/test/resources/fixtures/entity-only-type.json
index 949d373..e932ab1 100644
--- a/usage/rest-api/src/test/resources/fixtures/entity-only-type.json
+++ b/usage/rest-api/src/test/resources/fixtures/entity-only-type.json
@@ -1,3 +1,3 @@
 {
-    "type":"brooklyn.entity.java.VanillaJavaApp"
-}
\ No newline at end of file
+    "type":"org.apache.brooklyn.entity.java.VanillaJavaApp"
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-api/src/test/resources/fixtures/entity.json
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/test/resources/fixtures/entity.json b/usage/rest-api/src/test/resources/fixtures/entity.json
index cdadd2c..dac0509 100644
--- a/usage/rest-api/src/test/resources/fixtures/entity.json
+++ b/usage/rest-api/src/test/resources/fixtures/entity.json
@@ -1,7 +1,7 @@
 [
     {
         "name":"Vanilla Java App",
-        "type":"brooklyn.entity.java.VanillaJavaApp",
+        "type":"org.apache.brooklyn.entity.java.VanillaJavaApp",
         "config":{}
     }
 ]

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f17da16f/usage/rest-server/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
index f2073b4..b09d829 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
@@ -39,7 +39,7 @@ import com.google.common.collect.ImmutableSet;
 
 public class ApplicationTest {
 
-    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "brooklyn.entity.java.VanillaJavaApp",
+    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", "org.apache.brooklyn.entity.java.VanillaJavaApp",
             ImmutableMap.<String, String>of(
                     "initialSize", "1",
                     "creationScriptUrl", "http://my.brooklyn.io/storage/foo.sql"));