brooklyncentral/brooklyn — pull request #20 by ahgittin (2012-04-12 15:07:05+00:00)
Title: extensible entities-impls-in-location model & cloudfoundry support

This addresses #15 and #18, with a new location (viz CloudFoundry) introduced and registered as aware of how to produce an `ElasticJavaWebAppService`. The `CloudFoundryJavaClusterFromLocationExample` demonstrates that the factory in `ElasticJavaWebAppService` (which is in the `software/webapp` project and not aware of CloudFoundry) will start the service in CF, producing a CF instance, using runtime `ServiceLoader` discover. I think this will close off #18, if people are happy with it.

The CF cluster itself exposes all the sensors available from CF, and supports multiple targets. It does not (yet) support services or multiple URLs. Discussion of this is in #15. I think the CF stack is ready for promotion to `systems/paas`.

FYI some changes to `core` were made to make this easier, mainly adding `FunctionSensorAdapter` which allows arbitrary functions to be used as sources for polled sensors.

I am now working on a tutorial example for CF.