rename core’s o.a.b.entity to o.a.b.core.entity

- except for things that truly are entities, such as .group and .stock


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

Branch: refs/heads/master
Commit: c27cf1d0e81707e7929d6161f9f8c24ce1836bc9
Parents: fc9fd2a
Author: Aled Sage <[email protected]>
Authored: Wed Aug 19 16:13:12 2015 +0100
Committer: Aled Sage <[email protected]>
Committed: Wed Aug 19 16:13:12 2015 +0100

----------------------------------------------------------------------
 .../apache/brooklyn/core/BrooklynLogging.java   |    2 +-
 .../brooklyn/core/annotation/Effector.java      |   33 +
 .../brooklyn/core/annotation/EffectorParam.java |   42 +
 .../catalog/internal/CatalogClasspathDo.java    |    2 +-
 .../core/catalog/internal/CatalogUtils.java     |    2 +-
 .../config/internal/AbstractConfigMapImpl.java  |    2 +-
 .../core/entity/AbstractApplication.java        |  264 +++
 .../brooklyn/core/entity/AbstractEntity.java    | 1739 ++++++++++++++++++
 .../apache/brooklyn/core/entity/Attributes.java |  169 ++
 .../core/entity/BrooklynConfigKeys.java         |  188 ++
 .../apache/brooklyn/core/entity/Entities.java   | 1108 +++++++++++
 .../brooklyn/core/entity/EntityAdjuncts.java    |   70 +
 .../core/entity/EntityAndAttribute.java         |  107 ++
 .../brooklyn/core/entity/EntityDynamicType.java |  339 ++++
 .../brooklyn/core/entity/EntityFunctions.java   |  153 ++
 .../core/entity/EntityInitializers.java         |   49 +
 .../brooklyn/core/entity/EntityInternal.java    |  201 ++
 .../brooklyn/core/entity/EntityPredicates.java  |  451 +++++
 .../brooklyn/core/entity/EntitySuppliers.java   |   47 +
 .../brooklyn/core/entity/EntityTasks.java       |   81 +
 .../core/entity/EntityTypeSnapshot.java         |  126 ++
 .../brooklyn/core/entity/EntityTypes.java       |   28 +
 .../core/entity/StartableApplication.java       |   25 +
 .../drivers/BasicEntityDriverManager.java       |   56 +
 .../drivers/ReflectiveEntityDriverFactory.java  |  277 +++
 .../drivers/RegistryEntityDriverFactory.java    |  127 ++
 .../downloads/BasicDownloadRequirement.java     |   85 +
 .../downloads/BasicDownloadResolver.java        |   66 +
 .../drivers/downloads/BasicDownloadTargets.java |  121 ++
 .../downloads/BasicDownloadsManager.java        |  161 ++
 .../DownloadProducerFromCloudsoftRepo.java      |   83 +
 .../DownloadProducerFromLocalRepo.java          |   84 +
 .../DownloadProducerFromProperties.java         |  344 ++++
 .../DownloadProducerFromUrlAttribute.java       |   63 +
 .../drivers/downloads/DownloadSubstituters.java |  172 ++
 .../drivers/downloads/FilenameProducers.java    |   64 +
 .../AbstractConfigurableEntityFactory.java      |   82 +
 .../core/entity/factory/ApplicationBuilder.java |  247 +++
 .../factory/BasicConfigurableEntityFactory.java |   75 +
 .../entity/factory/ClosureEntityFactory.java    |   53 +
 .../factory/ConfigurableEntityFactory.java      |   33 +
 ...figurableEntityFactoryFromEntityFactory.java |   45 +
 .../core/entity/factory/EntityFactory.java      |   32 +
 .../factory/EntityFactoryForLocation.java       |   30 +
 .../internal/ConfigMapViewWithStringKeys.java   |  130 ++
 .../core/entity/internal/EntityConfigMap.java   |  306 +++
 .../internal/EntityTransientCopyInternal.java   |  121 ++
 .../core/entity/lifecycle/Lifecycle.java        |  185 ++
 .../core/entity/lifecycle/PolicyDescriptor.java |   68 +
 .../core/entity/lifecycle/QuorumCheck.java      |  108 ++
 .../entity/lifecycle/ServiceStateLogic.java     |  639 +++++++
 .../brooklyn/core/entity/trait/Changeable.java  |   35 +
 .../core/entity/trait/MemberReplaceable.java    |   45 +
 .../brooklyn/core/entity/trait/Resizable.java   |   50 +
 .../brooklyn/core/entity/trait/Startable.java   |  123 ++
 .../core/entity/trait/StartableMethods.java     |  125 ++
 .../core/mgmt/EntityManagementUtils.java        |    6 +-
 .../core/mgmt/entitlement/Entitlements.java     |    2 +-
 .../mgmt/ha/HighAvailabilityManagerImpl.java    |    2 +-
 .../internal/AbstractManagementContext.java     |    8 +-
 .../mgmt/internal/BrooklynGarbageCollector.java |    2 +-
 .../mgmt/internal/BrooklynShutdownHooks.java    |    6 +-
 .../core/mgmt/internal/EffectorUtils.java       |    2 +-
 .../mgmt/internal/EntityManagementSupport.java  |    6 +-
 .../core/mgmt/internal/LocalEntityManager.java  |   10 +-
 .../mgmt/internal/LocalLocationManager.java     |    2 +-
 .../mgmt/internal/LocalManagementContext.java   |    2 +-
 .../mgmt/internal/LocalSubscriptionManager.java |    2 +-
 .../core/mgmt/internal/LocalUsageManager.java   |    6 +-
 .../NonDeploymentManagementContext.java         |    2 +-
 .../internal/NonDeploymentUsageManager.java     |    2 +-
 .../mgmt/persist/BrooklynPersistenceUtils.java  |    4 +-
 .../rebind/ActivePartialRebindIteration.java    |    2 +-
 .../mgmt/rebind/BasicEntityRebindSupport.java   |    4 +-
 .../mgmt/rebind/InitialFullRebindIteration.java |    2 +-
 .../rebind/PeriodicDeltaChangeListener.java     |    2 +-
 .../core/mgmt/rebind/RebindIteration.java       |    6 +-
 .../core/mgmt/rebind/RebindManagerImpl.java     |    2 +-
 .../core/mgmt/rebind/dto/AbstractMemento.java   |    2 +-
 .../mgmt/rebind/dto/BasicEnricherMemento.java   |    2 +-
 .../mgmt/rebind/dto/BasicEntityMemento.java     |    2 +-
 .../core/mgmt/rebind/dto/BasicFeedMemento.java  |    2 +-
 .../mgmt/rebind/dto/BasicLocationMemento.java   |    2 +-
 .../mgmt/rebind/dto/BasicPolicyMemento.java     |    2 +-
 .../mgmt/rebind/dto/MementosGenerators.java     |    4 +-
 .../core/mgmt/usage/ApplicationUsage.java       |    2 +-
 .../brooklyn/core/mgmt/usage/LocationUsage.java |    2 +-
 .../brooklyn/core/mgmt/usage/UsageManager.java  |    2 +-
 .../core/objs/AbstractBrooklynObject.java       |    2 +-
 .../core/objs/AbstractEntityAdjunct.java        |    4 +-
 .../brooklyn/core/objs/AdjunctConfigMap.java    |    2 +-
 .../brooklyn/core/objs/BrooklynTypes.java       |    2 +-
 .../core/objs/proxy/EntityProxyImpl.java        |    8 +-
 .../core/objs/proxy/InternalEntityFactory.java  |    8 +-
 .../core/objs/proxy/InternalPolicyFactory.java  |    2 +-
 .../core/server/entity/BrooklynMetricsImpl.java |    2 +-
 .../brooklyn/effector/core/AddEffector.java     |    2 +-
 .../brooklyn/effector/core/AddSensor.java       |    2 +-
 .../brooklyn/effector/core/EffectorBody.java    |    2 +-
 .../brooklyn/effector/core/Effectors.java       |    4 +-
 .../brooklyn/effector/core/MethodEffector.java  |    6 +-
 .../brooklyn/entity/annotation/Effector.java    |   33 -
 .../entity/annotation/EffectorParam.java        |   42 -
 .../entity/core/AbstractApplication.java        |  264 ---
 .../brooklyn/entity/core/AbstractEntity.java    | 1739 ------------------
 .../apache/brooklyn/entity/core/Attributes.java |  169 --
 .../entity/core/BrooklynConfigKeys.java         |  188 --
 .../apache/brooklyn/entity/core/Entities.java   | 1108 -----------
 .../brooklyn/entity/core/EntityAdjuncts.java    |   70 -
 .../entity/core/EntityAndAttribute.java         |  107 --
 .../brooklyn/entity/core/EntityDynamicType.java |  339 ----
 .../brooklyn/entity/core/EntityFunctions.java   |  153 --
 .../entity/core/EntityInitializers.java         |   49 -
 .../brooklyn/entity/core/EntityInternal.java    |  201 --
 .../brooklyn/entity/core/EntityPredicates.java  |  451 -----
 .../brooklyn/entity/core/EntitySuppliers.java   |   47 -
 .../brooklyn/entity/core/EntityTasks.java       |   81 -
 .../entity/core/EntityTypeSnapshot.java         |  126 --
 .../brooklyn/entity/core/EntityTypes.java       |   28 -
 .../entity/core/StartableApplication.java       |   25 -
 .../internal/ConfigMapViewWithStringKeys.java   |  130 --
 .../entity/core/internal/EntityConfigMap.java   |  306 ---
 .../internal/EntityTransientCopyInternal.java   |  121 --
 .../drivers/BasicEntityDriverManager.java       |   56 -
 .../drivers/ReflectiveEntityDriverFactory.java  |  277 ---
 .../drivers/RegistryEntityDriverFactory.java    |  127 --
 .../downloads/BasicDownloadRequirement.java     |   85 -
 .../downloads/BasicDownloadResolver.java        |   66 -
 .../drivers/downloads/BasicDownloadTargets.java |  121 --
 .../downloads/BasicDownloadsManager.java        |  161 --
 .../DownloadProducerFromCloudsoftRepo.java      |   83 -
 .../DownloadProducerFromLocalRepo.java          |   84 -
 .../DownloadProducerFromProperties.java         |  344 ----
 .../DownloadProducerFromUrlAttribute.java       |   63 -
 .../drivers/downloads/DownloadSubstituters.java |  172 --
 .../drivers/downloads/FilenameProducers.java    |   64 -
 .../AbstractConfigurableEntityFactory.java      |   82 -
 .../entity/factory/ApplicationBuilder.java      |  247 ---
 .../factory/BasicConfigurableEntityFactory.java |   75 -
 .../entity/factory/ClosureEntityFactory.java    |   53 -
 .../factory/ConfigurableEntityFactory.java      |   33 -
 ...figurableEntityFactoryFromEntityFactory.java |   45 -
 .../brooklyn/entity/factory/EntityFactory.java  |   32 -
 .../factory/EntityFactoryForLocation.java       |   30 -
 .../brooklyn/entity/group/AbstractGroup.java    |    4 +-
 .../entity/group/AbstractGroupImpl.java         |    6 +-
 .../group/AbstractMembershipTrackingPolicy.java |    2 +-
 .../apache/brooklyn/entity/group/Cluster.java   |    4 +-
 .../brooklyn/entity/group/DynamicCluster.java   |   12 +-
 .../entity/group/DynamicClusterImpl.java        |   18 +-
 .../brooklyn/entity/group/DynamicFabric.java    |    8 +-
 .../entity/group/DynamicFabricImpl.java         |   16 +-
 .../brooklyn/entity/group/DynamicGroup.java     |    4 +-
 .../entity/group/DynamicMultiGroupImpl.java     |    2 +-
 .../entity/group/DynamicRegionsFabric.java      |    4 +-
 .../entity/group/DynamicRegionsFabricImpl.java  |    6 +-
 .../brooklyn/entity/group/QuarantineGroup.java  |    4 +-
 .../entity/group/QuarantineGroupImpl.java       |    6 +-
 .../BalancingNodePlacementStrategy.java         |    2 +-
 .../brooklyn/entity/lifecycle/Lifecycle.java    |  185 --
 .../entity/lifecycle/PolicyDescriptor.java      |   68 -
 .../brooklyn/entity/lifecycle/QuorumCheck.java  |  108 --
 .../entity/lifecycle/ServiceStateLogic.java     |  639 -------
 .../brooklyn/entity/stock/BasicApplication.java |    2 +-
 .../entity/stock/BasicApplicationImpl.java      |    2 +-
 .../brooklyn/entity/stock/BasicEntityImpl.java  |    2 +-
 .../brooklyn/entity/stock/BasicStartable.java   |    2 +-
 .../entity/stock/BasicStartableImpl.java        |   16 +-
 .../brooklyn/entity/stock/DataEntity.java       |    2 +-
 .../brooklyn/entity/stock/DataEntityImpl.java   |    2 +-
 .../entity/stock/DelegateEntityImpl.java        |    2 +-
 .../entity/stock/EffectorStartableImpl.java     |    8 +-
 .../brooklyn/entity/trait/Changeable.java       |   35 -
 .../entity/trait/MemberReplaceable.java         |   45 -
 .../apache/brooklyn/entity/trait/Resizable.java |   50 -
 .../apache/brooklyn/entity/trait/Startable.java |  123 --
 .../brooklyn/entity/trait/StartableMethods.java |  125 --
 .../location/access/BrooklynAccessUtils.java    |    2 +-
 .../access/PortForwardManagerAuthority.java     |    2 +-
 .../cloud/names/CustomMachineNamer.java         |    2 +-
 .../brooklyn/location/core/Locations.java       |    2 +-
 .../apache/brooklyn/location/core/Machines.java |    2 +-
 .../LocalhostMachineProvisioningLocation.java   |    2 +-
 .../location/ssh/SshMachineLocation.java        |    2 +-
 .../winrm/AdvertiseWinrmLoginPolicy.java        |    2 +-
 .../apache/brooklyn/policy/core/Policies.java   |    2 +-
 .../brooklyn/sensor/core/AttributeMap.java      |    2 +-
 .../core/AttributeSensorAndConfigKey.java       |    4 +-
 .../sensor/core/DependentConfiguration.java     |    8 +-
 .../core/PortAttributeSensorAndConfigKey.java   |    2 +-
 ...platedStringAttributeSensorAndConfigKey.java |    2 +-
 .../enricher/AbstractAggregatingEnricher.java   |    2 +-
 .../sensor/enricher/AbstractAggregator.java     |    4 +-
 .../sensor/enricher/AbstractEnricher.java       |    4 +-
 .../brooklyn/sensor/enricher/Propagator.java    |    2 +-
 .../brooklyn/sensor/enricher/UpdatingMap.java   |    2 +-
 .../brooklyn/sensor/feed/AbstractFeed.java      |    2 +-
 .../sensor/feed/AttributePollHandler.java       |   10 +-
 .../apache/brooklyn/sensor/feed/FeedConfig.java |    2 +-
 .../org/apache/brooklyn/sensor/feed/Poller.java |    6 +-
 .../brooklyn/sensor/feed/http/HttpFeed.java     |    2 +-
 .../brooklyn/sensor/feed/shell/ShellFeed.java   |    2 +-
 .../windows/WindowsPerformanceCounterFeed.java  |    2 +-
 .../brooklyn/util/core/flags/TypeCoercions.java |   14 +-
 .../util/core/task/BasicExecutionContext.java   |    2 +-
 .../brooklyn/util/core/task/DynamicTasks.java   |    2 +-
 .../brooklyn/util/core/task/ValueResolver.java  |    2 +-
 .../util/core/text/TemplateProcessor.java       |    4 +-
 .../core/catalog/internal/CatalogDtoTest.java   |    2 +-
 .../core/catalog/internal/CatalogScanTest.java  |    2 +-
 .../catalog/internal/CatalogVersioningTest.java |    2 +-
 .../core/catalog/internal/MyCatalogItems.java   |    4 +-
 ...apListAndOtherStructuredConfigKeyTest.groovy |    2 +-
 .../entity/AbstractApplicationLegacyTest.java   |  156 ++
 .../core/entity/AbstractEntityLegacyTest.java   |  131 ++
 .../brooklyn/core/entity/AttributeMapTest.java  |  226 +++
 .../brooklyn/core/entity/AttributeTest.java     |   66 +
 .../entity/ConfigEntityInheritanceTest.java     |  190 ++
 .../core/entity/DependentConfigurationTest.java |  413 +++++
 .../brooklyn/core/entity/DynamicEntityTest.java |   60 +
 .../brooklyn/core/entity/EntitiesTest.java      |  134 ++
 .../brooklyn/core/entity/EntityConfigTest.java  |  178 ++
 .../core/entity/EntityFunctionsTest.java        |   77 +
 .../core/entity/EntityLocationsTest.java        |  126 ++
 .../core/entity/EntityPreManagementTest.java    |  146 ++
 .../core/entity/EntityPredicatesTest.java       |  129 ++
 .../core/entity/EntityRegistrationTest.java     |  102 +
 .../core/entity/EntitySetFromFlagTest.java      |  213 +++
 .../brooklyn/core/entity/EntitySpecTest.java    |  214 +++
 .../core/entity/EntitySubscriptionTest.java     |  242 +++
 .../core/entity/EntitySuppliersTest.java        |   70 +
 .../brooklyn/core/entity/EntityTypeTest.java    |  284 +++
 .../brooklyn/core/entity/OwnedChildrenTest.java |  213 +++
 .../core/entity/PolicyRegistrationTest.java     |  152 ++
 .../entity/RecordingSensorEventListener.java    |  115 ++
 .../brooklyn/core/entity/SanitizerTest.java     |   38 +
 .../drivers/BasicEntityDriverManagerTest.java   |   74 +
 .../drivers/EntityDriverRegistryTest.java       |   59 +
 .../ReflectiveEntityDriverFactoryTest.java      |  169 ++
 .../RegistryEntityDriverFactoryTest.java        |   86 +
 .../downloads/BasicDownloadsRegistryTest.java   |  155 ++
 .../DownloadProducerFromLocalRepoTest.java      |  130 ++
 .../DownloadProducerFromPropertiesTest.java     |  162 ++
 .../downloads/DownloadSubstitutersTest.java     |  131 ++
 .../downloads/FilenameProducersTest.java        |   34 +
 .../drivers/downloads/MyEntityDriver.java       |   44 +
 .../brooklyn/core/entity/hello/HelloEntity.java |   53 +
 .../core/entity/hello/HelloEntityImpl.java      |   31 +
 .../core/entity/hello/LocalEntitiesTest.java    |  282 +++
 .../entity/internal/ConfigMapGroovyTest.groovy  |   61 +
 .../core/entity/internal/ConfigMapTest.java     |  298 +++
 .../EntityConfigMapUsageLegacyTest.java         |  292 +++
 .../internal/EntityConfigMapUsageTest.java      |  318 ++++
 .../lifecycle/LifecycleTransitionTest.java      |   51 +
 .../entity/lifecycle/ServiceStateLogicTest.java |  314 ++++
 .../ApplicationBuilderOverridingTest.java       |  221 +++
 .../proxying/BasicEntityTypeRegistryTest.java   |  135 ++
 .../core/entity/proxying/EntityManagerTest.java |   83 +
 .../core/entity/proxying/EntityProxyTest.java   |  171 ++
 .../proxying/InternalEntityFactoryTest.java     |  109 ++
 .../core/entity/trait/FailingEntity.java        |   84 +
 .../core/entity/trait/FailingEntityImpl.java    |   87 +
 .../core/entity/trait/StartableMethodsTest.java |  127 ++
 .../AcmeEntitlementManagerTestFixture.java      |    4 +-
 .../core/mgmt/entitlement/EntitlementsTest.java |    4 +-
 .../mgmt/entitlement/EntityEntitlementTest.java |    4 +-
 .../ha/HighAvailabilityManagerInMemoryTest.java |    2 +-
 .../HighAvailabilityManagerSplitBrainTest.java  |    4 +-
 .../ha/HighAvailabilityManagerTestFixture.java  |    2 +-
 .../brooklyn/core/mgmt/ha/HotStandbyTest.java   |    2 +-
 .../core/mgmt/ha/MasterChooserTest.java         |    2 +-
 .../brooklyn/core/mgmt/ha/WarmStandbyTest.java  |    2 +-
 .../core/mgmt/internal/AccessManagerTest.java   |    4 +-
 .../internal/EntityExecutionManagerTest.java    |    6 +-
 .../internal/LocalSubscriptionManagerTest.java  |    2 +-
 .../brooklyn/core/mgmt/osgi/OsgiPathTest.java   |    2 +-
 .../mgmt/osgi/OsgiVersionMoreEntityTest.java    |    2 +-
 ...ntoPersisterInMemorySizeIntegrationTest.java |    2 +-
 .../BrooklynMementoPersisterTestFixture.java    |    4 +-
 .../mgmt/persist/FileBasedObjectStoreTest.java  |    2 +-
 .../mgmt/persist/XmlMementoSerializerTest.java  |    2 +-
 .../mgmt/rebind/ActivePartialRebindTest.java    |    6 +-
 .../core/mgmt/rebind/CheckpointEntityTest.java  |    4 +-
 .../mgmt/rebind/RebindCatalogEntityTest.java    |   10 +-
 .../mgmt/rebind/RebindDynamicGroupTest.java     |    2 +-
 .../core/mgmt/rebind/RebindEnricherTest.java    |    6 +-
 .../core/mgmt/rebind/RebindEntityTest.java      |   10 +-
 .../core/mgmt/rebind/RebindFailuresTest.java    |    4 +-
 .../core/mgmt/rebind/RebindFeedTest.java        |    2 +-
 .../core/mgmt/rebind/RebindGroupTest.java       |    2 +-
 .../mgmt/rebind/RebindManagerSorterTest.java    |    2 +-
 .../core/mgmt/rebind/RebindPolicyTest.java      |    2 +-
 .../core/mgmt/rebind/RebindTestFixture.java     |    8 +-
 .../mgmt/rebind/RebindTestFixtureWithApp.java   |    2 +-
 .../policy/basic/PolicySubscriptionTest.java    |    2 +-
 .../core/server/entity/BrooklynMetricsTest.java |    4 +-
 .../core/test/BrooklynAppLiveTestSupport.java   |    4 +-
 .../core/test/BrooklynAppUnitTestSupport.java   |    6 +-
 .../core/test/entity/NoopStartable.java         |    2 +-
 .../core/test/entity/TestApplication.java       |    6 +-
 .../core/test/entity/TestApplicationImpl.java   |    2 +-
 .../core/test/entity/TestClusterImpl.java       |    4 +-
 .../brooklyn/core/test/entity/TestEntity.java   |   12 +-
 .../core/test/entity/TestEntityImpl.java        |    6 +-
 .../entity/TestEntityTransientCopyImpl.java     |    2 +-
 .../EntityCleanupLongevityTestFixture.java      |    4 +-
 .../qa/performance/AbstractPerformanceTest.java |    4 +-
 .../qa/performance/EntityPerformanceTest.java   |    2 +-
 .../effector/core/EffectorBasicTest.java        |    6 +-
 .../effector/core/EffectorConcatenateTest.java  |    8 +-
 .../effector/core/EffectorMetadataTest.java     |   10 +-
 .../core/EffectorSayHiGroovyTest.groovy         |   10 +-
 .../effector/core/EffectorSayHiTest.java        |   10 +-
 .../effector/core/EffectorTaskTest.java         |    8 +-
 .../core/AbstractApplicationLegacyTest.java     |  156 --
 .../entity/core/AbstractEntityLegacyTest.java   |  131 --
 .../brooklyn/entity/core/AttributeMapTest.java  |  226 ---
 .../brooklyn/entity/core/AttributeTest.java     |   66 -
 .../core/ConfigEntityInheritanceTest.java       |  188 --
 .../entity/core/DependentConfigurationTest.java |  413 -----
 .../brooklyn/entity/core/DynamicEntityTest.java |   60 -
 .../brooklyn/entity/core/EntitiesTest.java      |  134 --
 .../brooklyn/entity/core/EntityConfigTest.java  |  178 --
 .../entity/core/EntityFunctionsTest.java        |   77 -
 .../entity/core/EntityLocationsTest.java        |  126 --
 .../entity/core/EntityPreManagementTest.java    |  146 --
 .../entity/core/EntityPredicatesTest.java       |  129 --
 .../entity/core/EntityRegistrationTest.java     |  102 -
 .../entity/core/EntitySetFromFlagTest.java      |  213 ---
 .../brooklyn/entity/core/EntitySpecTest.java    |  214 ---
 .../entity/core/EntitySubscriptionTest.java     |  242 ---
 .../entity/core/EntitySuppliersTest.java        |   70 -
 .../brooklyn/entity/core/EntityTypeTest.java    |  284 ---
 .../brooklyn/entity/core/OwnedChildrenTest.java |  213 ---
 .../entity/core/PolicyRegistrationTest.java     |  152 --
 .../core/RecordingSensorEventListener.java      |  115 --
 .../brooklyn/entity/core/SanitizerTest.java     |   38 -
 .../core/internal/ConfigMapGroovyTest.groovy    |   61 -
 .../entity/core/internal/ConfigMapTest.java     |  298 ---
 .../EntityConfigMapUsageLegacyTest.java         |  292 ---
 .../core/internal/EntityConfigMapUsageTest.java |  318 ----
 .../drivers/BasicEntityDriverManagerTest.java   |   74 -
 .../drivers/EntityDriverRegistryTest.java       |   59 -
 .../ReflectiveEntityDriverFactoryTest.java      |  169 --
 .../RegistryEntityDriverFactoryTest.java        |   86 -
 .../downloads/BasicDownloadsRegistryTest.java   |  155 --
 .../DownloadProducerFromLocalRepoTest.java      |  130 --
 .../DownloadProducerFromPropertiesTest.java     |  162 --
 .../downloads/DownloadSubstitutersTest.java     |  131 --
 .../downloads/FilenameProducersTest.java        |   34 -
 .../drivers/downloads/MyEntityDriver.java       |   44 -
 .../entity/group/DynamicClusterTest.java        |   16 +-
 ...DynamicClusterWithAvailabilityZonesTest.java |    4 +-
 .../entity/group/DynamicFabricTest.java         |    8 +-
 .../brooklyn/entity/group/DynamicGroupTest.java |    6 +-
 .../entity/group/DynamicMultiGroupTest.java     |    6 +-
 .../entity/group/GroupPickUpEntitiesTest.java   |    6 +-
 .../apache/brooklyn/entity/group/GroupTest.java |    6 +-
 .../group/MembershipTrackingPolicyTest.java     |    4 +-
 .../entity/group/QuarantineGroupTest.java       |    2 +-
 .../brooklyn/entity/hello/HelloEntity.java      |   53 -
 .../brooklyn/entity/hello/HelloEntityImpl.java  |   31 -
 .../entity/hello/LocalEntitiesTest.java         |  282 ---
 .../lifecycle/LifecycleTransitionTest.java      |   51 -
 .../entity/lifecycle/ServiceStateLogicTest.java |  314 ----
 .../ApplicationBuilderOverridingTest.java       |  221 ---
 .../proxying/BasicEntityTypeRegistryTest.java   |  135 --
 .../entity/proxying/EntityManagerTest.java      |   83 -
 .../entity/proxying/EntityProxyTest.java        |  171 --
 .../proxying/InternalEntityFactoryTest.java     |  109 --
 .../entity/stock/BasicStartableTest.java        |   10 +-
 .../brooklyn/entity/stock/DataEntityTest.java   |    4 +-
 .../brooklyn/entity/trait/FailingEntity.java    |   84 -
 .../entity/trait/FailingEntityImpl.java         |   87 -
 .../entity/trait/StartableMethodsTest.java      |  127 --
 .../access/BrooklynAccessUtilsTest.java         |    2 +-
 .../PortForwardManagerLocationResolverTest.java |    2 +-
 .../location/access/PortForwardManagerTest.java |    2 +-
 .../location/byon/ByonLocationResolverTest.java |    2 +-
 ...stMachineProvisioningLocationRebindTest.java |    4 +-
 ...ixedListMachineProvisioningLocationTest.java |    2 +-
 .../location/byon/HostLocationResolverTest.java |    2 +-
 .../byon/SingleMachineLocationResolverTest.java |    2 +-
 .../location/cloud/CloudMachineNamerTest.java   |    4 +-
 .../location/cloud/CustomMachineNamerTest.java  |    4 +-
 .../location/core/AbstractLocationTest.java     |    2 +-
 ...regatingMachineProvisioningLocationTest.java |    2 +-
 .../location/core/LocationConfigTest.java       |    2 +-
 .../location/core/LocationExtensionsTest.java   |    2 +-
 .../location/core/LocationPredicatesTest.java   |    2 +-
 .../location/core/LocationRegistryTest.java     |    2 +-
 .../location/core/MachineDetailsTest.java       |    2 +-
 .../location/core/MultiLocationRebindTest.java  |    4 +-
 .../core/MultiLocationResolverTest.java         |    2 +-
 .../location/core/MultiLocationTest.java        |    2 +-
 .../LocalhostLocationResolverTest.java          |    2 +-
 ...ocalhostMachineProvisioningLocationTest.java |    2 +-
 .../LocalhostProvisioningAndAccessTest.java     |    2 +-
 .../ssh/SshMachineLocationIntegrationTest.java  |    2 +-
 .../SshMachineLocationReuseIntegrationTest.java |    2 +-
 .../location/ssh/SshMachineLocationTest.java    |    8 +-
 .../winrm/WinRmMachineLocationTest.java         |    2 +-
 .../sensor/core/HttpRequestSensorTest.java      |    4 +-
 .../sensor/enricher/BasicEnricherTest.java      |    4 +-
 ...stomAggregatingEnricherDeprecatedTest.groovy |    2 +-
 .../enricher/CustomAggregatingEnricherTest.java |    2 +-
 .../brooklyn/sensor/enricher/EnrichersTest.java |    6 +-
 .../TransformingEnricherDeprecatedTest.groovy   |    2 +-
 .../YamlRollingTimeWindowMeanEnricherTest.java  |    4 +-
 .../YamlTimeWeightedDeltaEnricherTest.java      |    4 +-
 .../sensor/feed/ConfigToAttributesTest.java     |    2 +-
 .../sensor/feed/function/FunctionFeedTest.java  |    4 +-
 .../brooklyn/sensor/feed/http/HttpFeedTest.java |    8 +-
 .../feed/shell/ShellFeedIntegrationTest.java    |    4 +-
 .../sensor/feed/ssh/SshFeedIntegrationTest.java |    8 +-
 .../util/core/internal/TypeCoercionsTest.java   |    2 +-
 .../core/ssh/BashCommandsIntegrationTest.java   |    2 +-
 .../brooklyn/util/core/task/TasksTest.java      |    2 +-
 .../util/core/task/ssh/SshTasksTest.java        |    4 +-
 .../util/core/task/system/SystemTasksTest.java  |    2 +-
 .../brooklyn/demo/GlobalWebFabricExample.java   |    6 +-
 .../brooklyn/demo/KafkaClusterExample.java      |    4 +-
 .../demo/StandaloneQpidBrokerExample.java       |    6 +-
 .../brooklyn/demo/CumulusRDFApplication.java    |   14 +-
 .../demo/HighAvailabilityCassandraCluster.java  |    6 +-
 .../brooklyn/demo/ResilientMongoDbApp.java      |    6 +-
 .../brooklyn/demo/RiakClusterExample.java       |    6 +-
 .../brooklyn/demo/SimpleCassandraCluster.java   |    6 +-
 .../brooklyn/demo/SimpleCouchDBCluster.java     |    2 +-
 .../brooklyn/demo/SimpleMongoDBReplicaSet.java  |    2 +-
 .../brooklyn/demo/SimpleRedisCluster.java       |    2 +-
 .../apache/brooklyn/demo/StormSampleApp.java    |    6 +-
 .../brooklyn/demo/WideAreaCassandraCluster.java |    6 +-
 .../brooklyn/demo/NodeJsTodoApplication.java    |    8 +-
 .../brooklyn/demo/SingleWebServerExample.java   |    8 +-
 .../demo/WebClusterDatabaseExample.java         |    6 +-
 .../demo/WebClusterDatabaseExampleApp.java      |    6 +-
 .../demo/WebClusterDatabaseExampleGroovy.groovy |    4 +-
 .../apache/brooklyn/demo/WebClusterExample.java |    4 +-
 ...lusterDatabaseExampleAppIntegrationTest.java |    4 +-
 .../location/jclouds/BrooklynMachinePool.java   |    2 +-
 .../policy/jclouds/os/CreateUserPolicy.java     |    4 +-
 .../persist/jclouds/BlobStoreExpiryTest.java    |    2 +-
 .../mgmt/persist/jclouds/BlobStoreTest.java     |    2 +-
 .../JcloudsBlobStoreBasedObjectStoreTest.java   |    2 +-
 .../jclouds/JcloudsExpect100ContinueTest.java   |    2 +-
 .../JcloudsObjectStoreAccessorWriterTest.java   |    2 +-
 .../jclouds/AbstractJcloudsLiveTest.java        |    2 +-
 .../JcloudsByonLocationResolverTest.java        |    2 +-
 .../jclouds/JcloudsLocationMetadataTest.java    |    2 +-
 .../location/jclouds/JcloudsLocationTest.java   |    2 +-
 .../location/jclouds/LiveTestEntity.java        |    2 +-
 .../jclouds/RebindJcloudsLocationLiveTest.java  |    4 +-
 .../provider/AbstractJcloudsLocationTest.java   |    2 +-
 .../AwsEc2LocationWindowsLiveTest.groovy        |    2 +-
 .../zone/AwsAvailabilityZoneExtensionTest.java  |    2 +-
 .../policy/autoscaling/AutoScalerPolicy.java    |    6 +-
 .../policy/enricher/HttpLatencyDetector.java    |    2 +-
 .../policy/followthesun/FollowTheSunPolicy.java |    2 +-
 .../policy/followthesun/FollowTheSunPool.java   |    2 +-
 .../followthesun/FollowTheSunPoolImpl.java      |    6 +-
 .../policy/ha/AbstractFailureDetector.java      |    2 +-
 .../policy/ha/ServiceFailureDetector.java       |   10 +-
 .../brooklyn/policy/ha/ServiceReplacer.java     |    8 +-
 .../brooklyn/policy/ha/ServiceRestarter.java    |   10 +-
 .../loadbalancing/BalanceableWorkerPool.java    |    2 +-
 .../BalanceableWorkerPoolImpl.java              |    6 +-
 .../loadbalancing/LoadBalancingPolicy.java      |    2 +-
 .../brooklyn/policy/loadbalancing/Movable.java  |    4 +-
 .../autoscaling/AutoScalerPolicyMetricTest.java |    2 +-
 .../autoscaling/AutoScalerPolicyRebindTest.java |    2 +-
 .../AutoScalerPolicyReconfigurationTest.java    |    2 +-
 .../autoscaling/AutoScalerPolicyTest.java       |    4 +-
 .../autoscaling/LocallyResizableEntity.java     |    6 +-
 .../policy/enricher/DeltaEnrichersTests.groovy  |    6 +-
 .../enricher/HttpLatencyDetectorTest.java       |    2 +-
 .../policy/enricher/RebindEnricherTest.java     |    2 +-
 .../enricher/RollingMeanEnricherTest.groovy     |    6 +-
 .../RollingTimeWindowMeanEnricherTest.groovy    |    6 +-
 .../enricher/TimeFractionDeltaEnricherTest.java |    4 +-
 .../AbstractFollowTheSunPolicyTest.java         |    4 +-
 .../FollowTheSunPolicySoakTest.java             |    2 +-
 .../followthesun/FollowTheSunPolicyTest.java    |    2 +-
 .../ha/ConnectionFailureDetectorTest.java       |    4 +-
 .../brooklyn/policy/ha/HaPolicyRebindTest.java  |    6 +-
 ...ServiceFailureDetectorStabilizationTest.java |   10 +-
 .../policy/ha/ServiceFailureDetectorTest.java   |   12 +-
 .../brooklyn/policy/ha/ServiceReplacerTest.java |   16 +-
 .../policy/ha/ServiceRestarterTest.java         |   10 +-
 .../AbstractLoadBalancingPolicyTest.java        |    2 +-
 .../BalanceableWorkerPoolTest.java              |    6 +-
 .../ItemsInContainersGroupTest.java             |    4 +-
 .../LoadBalancingPolicyConcurrencyTest.java     |    2 +-
 .../LoadBalancingPolicySoakTest.java            |    2 +-
 .../loadbalancing/LoadBalancingPolicyTest.java  |    2 +-
 .../loadbalancing/MockContainerEntity.java      |    4 +-
 .../loadbalancing/MockContainerEntityImpl.java  |    2 +-
 .../loadbalancing/MockItemEntityImpl.java       |    2 +-
 .../entity/database/derby/DerbySchema.java      |    2 +-
 .../postgresql/PostgreSqlNodeSaltImpl.java      |    2 +-
 .../brooklyn/entity/salt/SaltConfigs.java       |    3 +-
 .../entity/salt/SaltLifecycleEffectorTasks.java |    4 +-
 .../brooklyn/entity/salt/SaltStackMaster.java   |    3 +-
 .../entity/salt/SaltStackMasterSshDriver.java   |    2 +-
 .../apache/brooklyn/entity/salt/SaltTasks.java  |    2 +-
 .../postgresql/PostgreSqlSaltLiveTest.java      |    3 +-
 .../brooklyn/entity/salt/SaltConfigsTest.java   |    5 +-
 .../entity/monitoring/zabbix/ZabbixFeed.java    |    4 +-
 .../monitoring/zabbix/ZabbixServerImpl.java     |    4 +-
 .../nosql/hazelcast/HazelcastClusterImpl.java   |    6 +-
 .../nosql/hazelcast/HazelcastNodeImpl.java      |    3 +-
 .../nosql/hazelcast/HazelcastNodeSshDriver.java |    3 +-
 .../hazelcast/HazelcastClusterEc2LiveTest.java  |    3 +-
 .../HazelcastClusterSoftlayerLiveTest.java      |    3 +-
 .../brooklynnode/BrooklynClusterImpl.java       |    8 +-
 .../brooklynnode/BrooklynEntityMirrorImpl.java  |   12 +-
 .../entity/brooklynnode/BrooklynNode.java       |    2 +-
 .../entity/brooklynnode/BrooklynNodeImpl.java   |   12 +-
 .../brooklynnode/BrooklynNodeSshDriver.java     |    4 +-
 .../BrooklynClusterUpgradeEffectorBody.java     |    8 +-
 .../BrooklynNodeUpgradeEffectorBody.java        |    6 +-
 .../effector/SelectMasterEffectorBody.java      |    2 +-
 .../brooklyn/entity/chef/ChefAttributeFeed.java |    2 +-
 .../brooklyn/entity/chef/ChefConfigs.java       |    2 +-
 .../entity/chef/ChefLifecycleEffectorTasks.java |    4 +-
 .../java/JavaSoftwareProcessSshDriver.java      |    6 +-
 .../apache/brooklyn/entity/java/JmxSupport.java |    2 +-
 .../brooklyn/entity/machine/MachineEntity.java  |    4 +-
 .../entity/machine/MachineInitTasks.java        |    2 +-
 .../entity/machine/pool/ServerPool.java         |    4 +-
 .../entity/machine/pool/ServerPoolImpl.java     |    8 +-
 .../base/AbstractSoftwareProcessDriver.java     |    6 +-
 .../base/AbstractSoftwareProcessSshDriver.java  |    6 +-
 .../SameServerDriverLifecycleEffectorTasks.java |    4 +-
 .../entity/software/base/SameServerEntity.java  |    8 +-
 .../software/base/SameServerEntityImpl.java     |    8 +-
 .../entity/software/base/SoftwareProcess.java   |   12 +-
 .../software/base/SoftwareProcessDriver.java    |    2 +-
 ...wareProcessDriverLifecycleEffectorTasks.java |   10 +-
 .../software/base/SoftwareProcessImpl.java      |   16 +-
 .../base/VanillaSoftwareProcessSshDriver.java   |    2 +-
 .../base/VanillaWindowsProcessWinRmDriver.java  |    2 +-
 .../MachineLifecycleEffectorTasks.java          |   16 +-
 .../system_service/EntityLaunchListener.java    |    2 +-
 .../system_service/InitdServiceInstaller.java   |    4 +-
 .../system_service/SystemServiceEnricher.java   |    4 +-
 .../brooklyn/sensor/ssh/SshEffectorTasks.java   |    2 +-
 .../winrm/WindowsPerformanceCounterSensors.java |    2 +-
 .../entity/AbstractGoogleComputeLiveTest.java   |    4 +-
 .../entity/AbstractSoftlayerLiveTest.java       |    4 +-
 .../BrooklynNodeIntegrationTest.java            |    4 +-
 .../entity/brooklynnode/BrooklynNodeTest.java   |    6 +-
 .../entity/brooklynnode/MockBrooklynNode.java   |    2 +-
 .../brooklynnode/SameBrooklynNodeImpl.java      |    2 +-
 .../brooklynnode/SelectMasterEffectorTest.java  |    2 +-
 .../brooklyn/entity/chef/ChefConfigsTest.java   |    4 +-
 .../entity/chef/ChefLiveTestSupport.java        |    2 +-
 .../chef/ChefServerTasksIntegrationTest.java    |    4 +-
 .../ChefSoloDriverMySqlEntityLiveTest.java      |    2 +-
 .../brooklyn/entity/java/EntityPollingTest.java |    2 +-
 ...SoftwareProcessSshDriverIntegrationTest.java |    2 +-
 .../brooklyn/entity/java/JmxSupportTest.java    |    2 +-
 .../entity/java/VanillaJavaAppRebindTest.java   |    2 +-
 .../entity/java/VanillaJavaAppTest.java         |    4 +-
 .../entity/machine/MachineEntityRebindTest.java |    4 +-
 .../machine/pool/AbstractServerPoolTest.java    |    8 +-
 .../entity/machine/pool/ServerPoolLiveTest.java |    2 +-
 .../pool/ServerPoolLocationResolverTest.java    |    4 +-
 .../machine/pool/ServerPoolRebindTest.java      |    2 +-
 .../entity/machine/pool/ServerPoolTest.java     |    4 +-
 .../software/base/AbstractDockerLiveTest.java   |    4 +-
 ...ctSoftwareProcessRestartIntegrationTest.java |    6 +-
 .../software/base/DoNothingSoftwareProcess.java |    2 +-
 .../base/DoNothingSoftwareProcessImpl.java      |    2 +-
 .../software/base/SameServerEntityTest.java     |    2 +-
 .../software/base/SoftwareEffectorTest.java     |    2 +-
 .../base/SoftwareProcessEntityLatchTest.java    |    4 +-
 .../base/SoftwareProcessEntityRebindTest.java   |   10 +-
 .../base/SoftwareProcessEntityTest.java         |   18 +-
 ...SoftwareProcessSshDriverIntegrationTest.java |    8 +-
 ...ftwareProcessAndChildrenIntegrationTest.java |    4 +-
 .../MachineLifecycleEffectorTasksTest.java      |    8 +-
 .../base/lifecycle/ScriptHelperTest.java        |    2 +-
 .../base/lifecycle/StartStopSshDriverTest.java  |    4 +-
 .../usage/ApplicationUsageTrackingTest.java     |    4 +-
 .../mgmt/usage/LocationUsageTrackingTest.java   |    2 +-
 .../test/core/mgmt/usage/UsageListenerTest.java |    2 +-
 ...rWithAvailabilityZonesMultiLocationTest.java |    2 +-
 .../software/base/test/jmx/JmxService.java      |    2 +-
 .../location/MachineDetailsEc2LiveTest.java     |    2 +-
 .../MachineDetailsGoogleComputeLiveTest.java    |    2 +-
 .../location/WinRmMachineLocationLiveTest.java  |    2 +-
 .../test/mysql/AbstractToyMySqlEntityTest.java  |    6 +-
 .../mysql/DynamicToyMySqlEntityBuilder.java     |    2 +-
 .../PortAttributeSensorAndConfigKeyTest.java    |    2 +-
 .../test/ssh/SshCommandIntegrationTest.java     |    4 +-
 .../SystemServiceEnricherTest.java              |    8 +-
 .../brooklyn/sensor/feed/jmx/JmxFeedTest.java   |    6 +-
 .../sensor/feed/jmx/RebindJmxFeedTest.java      |    2 +-
 .../sensor/ssh/SshEffectorTasksTest.java        |    2 +-
 .../entity/database/crate/CrateNode.java        |    2 +-
 .../entity/database/crate/CrateNodeImpl.java    |    2 +-
 .../database/crate/CrateNodeSshDriver.java      |    2 +-
 .../entity/database/mariadb/MariaDbNode.java    |    2 +-
 .../database/mariadb/MariaDbSshDriver.java      |    4 +-
 .../entity/database/mysql/MySqlClusterImpl.java |    8 +-
 .../entity/database/mysql/MySqlNode.java        |    6 +-
 .../entity/database/mysql/MySqlSshDriver.java   |    4 +-
 .../PostgreSqlNodeChefImplFromScratch.java      |    2 +-
 .../postgresql/PostgreSqlSshDriver.java         |    2 +-
 .../entity/database/rubyrep/RubyRepNode.java    |    2 +-
 .../database/rubyrep/RubyRepNodeImpl.java       |    2 +-
 .../database/rubyrep/RubyRepSshDriver.java      |    4 +-
 .../crate/CrateNodeIntegrationTest.java         |    6 +-
 .../mariadb/MariaDbIntegrationTest.java         |    4 +-
 .../database/postgresql/PostgreSqlChefTest.java |    2 +-
 .../postgresql/PostgreSqlIntegrationTest.java   |    4 +-
 .../rubyrep/RubyRepIntegrationTest.java         |    4 +-
 .../messaging/activemq/ActiveMQBroker.java      |    2 +-
 .../messaging/activemq/ActiveMQBrokerImpl.java  |    2 +-
 .../messaging/activemq/ActiveMQSshDriver.java   |    2 +-
 .../entity/messaging/amqp/AmqpServer.java       |    2 +-
 .../entity/messaging/jms/JMSBrokerImpl.java     |    2 +-
 .../messaging/jms/JMSDestinationImpl.java       |    2 +-
 .../kafka/AbstractfKafkaSshDriver.java          |    2 +-
 .../brooklyn/entity/messaging/kafka/Kafka.java  |    2 +-
 .../entity/messaging/kafka/KafkaBrokerImpl.java |    2 +-
 .../entity/messaging/kafka/KafkaCluster.java    |    6 +-
 .../messaging/kafka/KafkaClusterImpl.java       |    6 +-
 .../entity/messaging/kafka/KafkaZooKeeper.java  |    4 +-
 .../messaging/kafka/KafkaZooKeeperImpl.java     |    2 +-
 .../kafka/KafkaZooKeeperSshDriver.java          |    2 +-
 .../entity/messaging/qpid/QpidBroker.java       |    2 +-
 .../entity/messaging/qpid/QpidBrokerImpl.java   |    2 +-
 .../entity/messaging/qpid/QpidSshDriver.java    |    2 +-
 .../messaging/rabbit/RabbitBrokerImpl.java      |    2 +-
 .../messaging/rabbit/RabbitDestination.java     |    2 +-
 .../messaging/rabbit/RabbitSshDriver.java       |    2 +-
 .../entity/messaging/storm/StormDeployment.java |    2 +-
 .../messaging/storm/StormDeploymentImpl.java    |    2 +-
 .../entity/messaging/storm/StormImpl.java       |    2 +-
 .../entity/messaging/storm/StormSshDriver.java  |    4 +-
 .../entity/zookeeper/ZooKeeperEnsembleImpl.java |    4 +-
 .../entity/zookeeper/ZooKeeperSshDriver.java    |    2 +-
 .../messaging/activemq/ActiveMQEc2LiveTest.java |    2 +-
 .../activemq/ActiveMQGoogleComputeLiveTest.java |    2 +-
 .../activemq/ActiveMQIntegrationTest.java       |    6 +-
 .../messaging/kafka/KafkaIntegrationTest.java   |    6 +-
 .../entity/messaging/kafka/KafkaLiveTest.java   |    4 +-
 .../entity/messaging/kafka/KafkaSupport.java    |    2 +-
 .../messaging/qpid/QpidIntegrationTest.java     |    8 +-
 .../messaging/rabbit/RabbitIntegrationTest.java |    6 +-
 .../storm/StormAbstractCloudLiveTest.java       |    6 +-
 .../messaging/storm/StormEc2LiveTest.java       |    4 +-
 .../zookeeper/ZooKeeperEc2LiveTest.java         |    4 +-
 .../zookeeper/ZooKeeperEnsembleLiveTest.java    |    8 +-
 .../entity/monitoring/monit/MonitNode.java      |    2 +-
 .../entity/monitoring/monit/MonitSshDriver.java |    2 +-
 .../monitoring/monit/MonitIntegrationTest.java  |    2 +-
 .../entity/network/bind/BindDnsServer.java      |    2 +-
 .../entity/network/bind/BindDnsServerImpl.java  |    4 +-
 .../bind/BindDnsServerIntegrationTest.java      |    8 +-
 .../network/bind/BindDnsServerLiveTest.java     |    4 +-
 .../nosql/cassandra/CassandraDatacenter.java    |    2 +-
 .../cassandra/CassandraDatacenterImpl.java      |   10 +-
 .../entity/nosql/cassandra/CassandraFabric.java |    2 +-
 .../nosql/cassandra/CassandraFabricImpl.java    |   10 +-
 .../entity/nosql/cassandra/CassandraNode.java   |    2 +-
 .../nosql/cassandra/CassandraNodeImpl.java      |    4 +-
 .../nosql/cassandra/CassandraNodeSshDriver.java |    4 +-
 .../nosql/couchbase/CouchbaseClusterImpl.java   |   10 +-
 .../entity/nosql/couchbase/CouchbaseNode.java   |    6 +-
 .../nosql/couchbase/CouchbaseNodeImpl.java      |    2 +-
 .../nosql/couchbase/CouchbaseNodeSshDriver.java |   10 +-
 .../CouchbaseSyncGatewaySshDriver.java          |    4 +-
 .../nosql/couchdb/CouchDBNodeSshDriver.java     |    2 +-
 .../ElasticSearchNodeSshDriver.java             |    2 +-
 .../nosql/mongodb/AbstractMongoDBSshDriver.java |    2 +-
 .../entity/nosql/mongodb/MongoDBClient.java     |    4 +-
 .../entity/nosql/mongodb/MongoDBClientImpl.java |    2 +-
 .../nosql/mongodb/MongoDBClientSshDriver.java   |    2 +-
 .../nosql/mongodb/MongoDBReplicaSetImpl.java    |    6 +-
 .../sharding/CoLocatedMongoDBRouterImpl.java    |    4 +-
 .../sharding/MongoDBRouterClusterImpl.java      |    4 +-
 .../sharding/MongoDBShardClusterImpl.java       |    2 +-
 .../sharding/MongoDBShardedDeployment.java      |    2 +-
 .../sharding/MongoDBShardedDeploymentImpl.java  |   14 +-
 .../entity/nosql/redis/RedisCluster.java        |    2 +-
 .../entity/nosql/redis/RedisClusterImpl.java    |   10 +-
 .../entity/nosql/redis/RedisShardImpl.java      |    2 +-
 .../entity/nosql/redis/RedisStoreSshDriver.java |    2 +-
 .../brooklyn/entity/nosql/riak/RiakCluster.java |    2 +-
 .../entity/nosql/riak/RiakClusterImpl.java      |   16 +-
 .../brooklyn/entity/nosql/riak/RiakNode.java    |    6 +-
 .../entity/nosql/riak/RiakNodeImpl.java         |    2 +-
 .../entity/nosql/riak/RiakNodeSshDriver.java    |    4 +-
 .../brooklyn/entity/nosql/solr/SolrServer.java  |    2 +-
 .../entity/nosql/solr/SolrServerImpl.java       |    2 +-
 .../entity/nosql/solr/SolrServerSshDriver.java  |    2 +-
 .../entity/nosql/cassandra/AstyanaxSupport.java |    2 +-
 .../CassandraDatacenterIntegrationTest.java     |    4 +-
 .../cassandra/CassandraDatacenterLiveTest.java  |    6 +-
 ...assandraDatacenterRebindIntegrationTest.java |    2 +-
 .../cassandra/CassandraDatacenterTest.java      |    4 +-
 .../nosql/cassandra/CassandraFabricTest.java    |   12 +-
 .../cassandra/CassandraNodeIntegrationTest.java |    4 +-
 .../nosql/couchbase/CouchbaseOfflineTest.java   |    2 +-
 .../CouchbaseSyncGatewayEc2LiveTest.java        |    2 +-
 .../nosql/couchdb/AbstractCouchDBNodeTest.java  |    4 +-
 .../nosql/couchdb/CouchDBClusterLiveTest.java   |    6 +-
 .../nosql/couchdb/CouchDBNodeEc2LiveTest.java   |    2 +-
 .../couchdb/CouchDBNodeIntegrationTest.java     |    2 +-
 .../nosql/couchdb/CouchDBNodeLiveTest.java      |    2 +-
 .../entity/nosql/couchdb/JcouchdbSupport.java   |    2 +-
 .../ElasticSearchClusterIntegrationTest.java    |    4 +-
 .../ElasticSearchNodeIntegrationTest.java       |    8 +-
 .../nosql/mongodb/MongoDBIntegrationTest.java   |    6 +-
 .../mongodb/MongoDBReplicaSetEc2LiveTest.java   |    2 +-
 .../MongoDBReplicaSetIntegrationTest.java       |    2 +-
 .../MongoDBConfigServerIntegrationTest.java     |    6 +-
 .../MongoDBShardedDeploymentEc2LiveTest.java    |    2 +-
 ...MongoDBShardedDeploymentIntegrationTest.java |    2 +-
 .../redis/RedisClusterIntegrationTest.java      |    6 +-
 .../nosql/redis/RedisIntegrationTest.java       |    4 +-
 .../nosql/riak/RiakClusterEc2LiveTest.java      |    2 +-
 .../nosql/riak/RiakNodeIntegrationTest.java     |    4 +-
 .../entity/nosql/solr/SolrJSupport.java         |    2 +-
 .../nosql/solr/SolrServerEc2LiveTest.java       |    2 +-
 .../nosql/solr/SolrServerIntegrationTest.java   |    4 +-
 .../entity/nosql/solr/SolrServerLiveTest.java   |    2 +-
 .../entity/osgi/karaf/KarafContainer.java       |    4 +-
 .../entity/osgi/karaf/KarafContainerImpl.java   |    4 +-
 .../entity/osgi/karaf/KarafSshDriver.java       |    2 +-
 .../entity/osgi/karaf/KarafContainerTest.java   |    4 +-
 .../entity/dns/AbstractGeoDnsService.java       |    6 +-
 .../entity/dns/AbstractGeoDnsServiceImpl.java   |   10 +-
 .../dns/geoscaling/GeoscalingDnsService.java    |    2 +-
 .../geoscaling/GeoscalingDnsServiceImpl.java    |    4 +-
 .../entity/proxy/AbstractControllerImpl.java    |   10 +-
 .../AbstractNonProvisionedControllerImpl.java   |    4 +-
 .../brooklyn/entity/proxy/LoadBalancer.java     |    6 +-
 .../entity/proxy/nginx/NginxController.java     |    4 +-
 .../entity/proxy/nginx/NginxControllerImpl.java |    8 +-
 .../entity/proxy/nginx/NginxSshDriver.java      |    8 +-
 .../brooklyn/entity/proxy/nginx/UrlMapping.java |    2 +-
 .../entity/proxy/nginx/UrlMappingImpl.java      |   10 +-
 .../webapp/ControlledDynamicWebAppCluster.java  |   12 +-
 .../ControlledDynamicWebAppClusterImpl.java     |   16 +-
 .../entity/webapp/DynamicWebAppClusterImpl.java |    6 +-
 .../entity/webapp/ElasticJavaWebAppService.java |    8 +-
 .../entity/webapp/JavaWebAppService.java        |    4 +-
 .../webapp/JavaWebAppSoftwareProcessImpl.java   |    4 +-
 .../entity/webapp/JavaWebAppSshDriver.java      |    2 +-
 .../entity/webapp/WebAppServiceConstants.java   |    2 +-
 .../entity/webapp/jboss/JBoss6ServerImpl.java   |    2 +-
 .../entity/webapp/jboss/JBoss6SshDriver.java    |    4 +-
 .../entity/webapp/jboss/JBoss7ServerImpl.java   |    2 +-
 .../entity/webapp/jboss/JBoss7SshDriver.java    |    2 +-
 .../entity/webapp/jetty/Jetty6ServerImpl.java   |    2 +-
 .../entity/webapp/jetty/Jetty6SshDriver.java    |    2 +-
 .../webapp/nodejs/NodeJsWebAppService.java      |    2 +-
 .../webapp/nodejs/NodeJsWebAppServiceImpl.java  |    2 +-
 .../webapp/nodejs/NodeJsWebAppSshDriver.java    |    2 +-
 .../entity/webapp/tomcat/TomcatSshDriver.java   |    2 +-
 .../entity/dns/AbstractGeoDnsServiceTest.java   |    8 +-
 .../geoscaling/GeoscalingIntegrationTest.java   |    4 +-
 .../entity/proxy/AbstractControllerTest.java    |    8 +-
 .../brooklyn/entity/proxy/StubAppServer.java    |    6 +-
 .../brooklyn/entity/proxy/UrlMappingTest.java   |   12 +-
 .../nginx/NginxClusterIntegrationTest.java      |    4 +-
 .../nginx/NginxHttpsSslIntegrationTest.java     |    2 +-
 .../proxy/nginx/NginxIntegrationTest.java       |    2 +-
 .../proxy/nginx/NginxLightIntegrationTest.java  |    6 +-
 .../proxy/nginx/NginxRebindIntegrationTest.java |    4 +-
 .../nginx/NginxRebindWithHaIntegrationTest.java |    8 +-
 .../nginx/NginxUrlMappingIntegrationTest.java   |    6 +-
 .../proxy/nginx/NginxWebClusterEc2LiveTest.java |    4 +-
 .../AbstractWebAppFixtureIntegrationTest.java   |    8 +-
 ...lledDynamicWebAppClusterIntegrationTest.java |    6 +-
 .../ControlledDynamicWebAppClusterTest.java     |    6 +-
 .../entity/webapp/DynamicWebAppClusterTest.java |    6 +-
 .../entity/webapp/DynamicWebAppFabricTest.java  |    6 +-
 .../webapp/ElasticCustomLocationTest.java       |    8 +-
 ...ElasticJavaWebAppServiceIntegrationTest.java |    2 +-
 .../webapp/TomcatAutoScalerPolicyTest.java      |    2 +-
 .../webapp/WebAppConcurrentDeployTest.java      |    4 +-
 .../webapp/WebAppLiveIntegrationTest.groovy     |    4 +-
 ...namicWebAppClusterRebindIntegrationTest.java |    4 +-
 ...namicWebAppClusterRebindIntegrationTest.java |    4 +-
 ...Boss7ServerNonInheritingIntegrationTest.java |    2 +-
 .../NodeJsWebAppFixtureIntegrationTest.java     |    4 +-
 .../test/entity/TestJavaWebAppEntity.java       |    6 +-
 .../camp/brooklyn/YamlLauncherAbstract.java     |    2 +-
 .../BrooklynAssemblyTemplateInstantiator.java   |    2 +-
 .../BrooklynComponentTemplateResolver.java      |    2 +-
 .../spi/dsl/BrooklynDslDeferredSupplier.java    |    4 +-
 .../spi/dsl/methods/BrooklynDslCommon.java      |    2 +-
 .../brooklyn/spi/dsl/methods/DslComponent.java  |    6 +-
 .../camp/brooklyn/AbstractYamlRebindTest.java   |    4 +-
 .../camp/brooklyn/AbstractYamlTest.java         |    2 +-
 .../camp/brooklyn/ByonLocationsYamlTest.java    |    2 +-
 .../camp/brooklyn/DslAndRebindYamlTest.java     |    6 +-
 .../brooklyn/EmptySoftwareProcessYamlTest.java  |    2 +-
 .../EnrichersSlightlySimplerYamlTest.java       |    6 +-
 .../camp/brooklyn/EnrichersYamlTest.java        |    6 +-
 .../camp/brooklyn/EntitiesYamlTest.java         |   12 +-
 ...aWebAppWithDslYamlRebindIntegrationTest.java |    2 +-
 .../brooklyn/JavaWebAppsIntegrationTest.java    |    6 +-
 .../camp/brooklyn/JavaWebAppsMatchingTest.java  |    2 +-
 .../camp/brooklyn/MapReferenceYamlTest.java     |    2 +-
 .../brooklyn/camp/brooklyn/ObjectsYamlTest.java |    2 +-
 .../camp/brooklyn/PoliciesYamlTest.java         |    4 +-
 .../brooklyn/ReferencingYamlTestEntityImpl.java |    2 +-
 .../brooklyn/ReloadBrooklynPropertiesTest.java  |    4 +-
 .../camp/brooklyn/TestEntityWithInitConfig.java |    4 +-
 .../brooklyn/TestEntityWithInitConfigImpl.java  |    2 +-
 .../TestSensorAndEffectorInitializer.java       |    2 +-
 .../brooklyn/VanillaBashNetcatYamlTest.java     |    8 +-
 .../brooklyn/camp/brooklyn/WrapAppTest.java     |    2 +-
 .../brooklyn/catalog/CatalogYamlCombiTest.java  |    2 +-
 .../brooklyn/catalog/CatalogYamlRebindTest.java |    4 +-
 .../brooklyn/test/lite/CampYamlLiteTest.java    |    4 +-
 .../main/java/org/apache/brooklyn/cli/Main.java |   12 +-
 .../apache/brooklyn/cli/lister/ClassFinder.java |    4 +-
 .../brooklyn/cli/lister/ItemDescriptors.java    |    2 +-
 .../java/org/apache/brooklyn/cli/CliTest.java   |   12 +-
 .../src/test/resources/ExampleAppInFile.groovy  |    2 +-
 .../brooklyn/cli/BaseCliIntegrationTest.java    |    3 +-
 .../BrooklynJavascriptGuiLauncherTest.java      |    2 +-
 .../brooklyn/launcher/BrooklynLauncher.java     |    8 +-
 .../launcher/config/BrooklynGlobalConfig.java   |    2 +-
 .../entity/basic/VanillaSoftwareYamlTest.java   |    2 +-
 .../BrooklynEntityMirrorIntegrationTest.java    |    6 +-
 .../brooklynnode/BrooklynNodeRestTest.java      |    8 +-
 .../BrooklynLauncherRebindTestFixture.java      |    4 +-
 .../brooklyn/launcher/BrooklynLauncherTest.java |    2 +-
 .../launcher/BrooklynWebServerTest.java         |    2 +-
 .../brooklyn/launcher/WebAppRunnerTest.java     |    2 +-
 .../blueprints/AbstractBlueprintTest.java       |    6 +-
 .../qa/load/SimulatedJBoss7ServerImpl.java      |    2 +-
 .../brooklyn/qa/load/SimulatedTheeTierApp.java  |   10 +-
 .../SoftlayerObtainPrivateLiveTest.java         |    8 +-
 .../org/apache/brooklyn/qa/load/LoadTest.java   |    6 +-
 .../qa/longevity/webcluster/WebClusterApp.java  |    6 +-
 .../ApplicationResourceIntegrationTest.java     |    4 +-
 .../rest/client/BrooklynApiRestClientTest.java  |    4 +-
 .../rest/resources/ApplicationResource.java     |    8 +-
 .../rest/resources/EntityConfigResource.java    |    4 +-
 .../brooklyn/rest/resources/SensorResource.java |    2 +-
 .../brooklyn/rest/resources/ServerResource.java |    8 +-
 .../brooklyn/rest/resources/UsageResource.java  |    2 +-
 .../rest/transform/ApplicationTransformer.java  |    6 +-
 .../rest/transform/CatalogTransformer.java      |    2 +-
 .../rest/util/BrooklynRestResourceUtils.java    |   12 +-
 .../BrooklynRestApiLauncherTestFixture.java     |    2 +-
 .../brooklyn/rest/HaMasterCheckFilterTest.java  |    2 +-
 .../brooklyn/rest/domain/ApplicationTest.java   |    2 +-
 .../brooklyn/rest/domain/SensorSummaryTest.java |    2 +-
 .../ApplicationResourceIntegrationTest.java     |    2 +-
 .../rest/resources/ApplicationResourceTest.java |   10 +-
 .../resources/EntityConfigResourceTest.java     |    4 +-
 .../rest/resources/EntityResourceTest.java      |    4 +-
 .../rest/resources/ScriptResourceTest.java      |    2 +-
 .../SensorResourceIntegrationTest.java          |    4 +-
 .../rest/resources/SensorResourceTest.java      |    4 +-
 .../rest/resources/ServerShutdownTest.java      |   10 +-
 .../rest/resources/UsageResourceTest.java       |    2 +-
 .../rest/testing/BrooklynRestApiTest.java       |    2 +-
 .../rest/testing/BrooklynRestResourceTest.java  |    2 +-
 .../testing/mocks/NameMatcherGroupImpl.java     |    2 +-
 .../rest/testing/mocks/RestMockApp.java         |    2 +-
 .../rest/testing/mocks/RestMockAppBuilder.java  |    4 +-
 .../testing/mocks/RestMockSimpleEntity.java     |    4 +-
 .../util/BrooklynRestResourceUtilsTest.java     |    4 +-
 .../rest/util/EntityLocationUtilsTest.java      |    2 +-
 .../json/BrooklynJacksonSerializerTest.java     |    4 +-
 876 files changed, 18278 insertions(+), 18273 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/BrooklynLogging.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/BrooklynLogging.java 
b/core/src/main/java/org/apache/brooklyn/core/BrooklynLogging.java
index fd6b8b9..db9eb52 100644
--- a/core/src/main/java/org/apache/brooklyn/core/BrooklynLogging.java
+++ b/core/src/main/java/org/apache/brooklyn/core/BrooklynLogging.java
@@ -19,7 +19,7 @@
 package org.apache.brooklyn.core;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.entity.core.EntityInternal;
+import org.apache.brooklyn.core.entity.EntityInternal;
 import org.slf4j.Logger;
 
 /** contains common logging categories */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/annotation/Effector.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/annotation/Effector.java 
b/core/src/main/java/org/apache/brooklyn/core/annotation/Effector.java
new file mode 100644
index 0000000..b7fc0e3
--- /dev/null
+++ b/core/src/main/java/org/apache/brooklyn/core/annotation/Effector.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Marks a method as being an effector. Provides runtime to meta-data about 
that effector.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+public @interface Effector {
+    String description() default "";
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/annotation/EffectorParam.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/annotation/EffectorParam.java 
b/core/src/main/java/org/apache/brooklyn/core/annotation/EffectorParam.java
new file mode 100644
index 0000000..8fdf79b
--- /dev/null
+++ b/core/src/main/java/org/apache/brooklyn/core/annotation/EffectorParam.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+//FIXME Move to brooklyn.entity.effector?
+
+/**
+ * Gives meta-data about a parameter of the effector.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PARAMETER)
+public @interface EffectorParam {
+    String name();
+    String description() default MAGIC_STRING_MEANING_NULL;
+    String defaultValue() default MAGIC_STRING_MEANING_NULL;
+    boolean nullable() default true;
+    
+    /** Cannot use null as a default (e.g. for defaultValue); therefore define 
a magic string to mean that
+    /* so can tell when no-one has set it. */
+    public static final String MAGIC_STRING_MEANING_NULL = "null default 
value; do not mis-use! 3U=Hhfkr8wuov]WO";
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java
index 4868865..ffb7874 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java
@@ -38,8 +38,8 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.ImplementedBy;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.policy.Policy;
+import org.apache.brooklyn.core.entity.factory.ApplicationBuilder;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
-import org.apache.brooklyn.entity.factory.ApplicationBuilder;
 import org.apache.brooklyn.util.core.ResourceUtils;
 import org.apache.brooklyn.util.core.javalang.ReflectionScanner;
 import org.apache.brooklyn.util.core.javalang.UrlClassLoader;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
index 60fbc56..1da2957 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
@@ -32,6 +32,7 @@ import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.objs.BrooklynObject;
 import org.apache.brooklyn.core.BrooklynLogging;
 import 
org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.BrooklynLoaderTracker;
+import org.apache.brooklyn.core.entity.EntityInternal;
 import org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContext;
 import 
org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential;
 import 
org.apache.brooklyn.core.mgmt.classloading.JavaBrooklynClassLoadingContext;
@@ -40,7 +41,6 @@ import org.apache.brooklyn.core.mgmt.ha.OsgiManager;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.RebindTracker;
 import org.apache.brooklyn.core.objs.BrooklynObjectInternal;
-import org.apache.brooklyn.entity.core.EntityInternal;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Time;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
 
b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
index 8a0b9e8..fd02fc1 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/config/internal/AbstractConfigMapImpl.java
@@ -27,7 +27,7 @@ import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.config.ConfigMap;
 import org.apache.brooklyn.config.ConfigKey.HasConfigKey;
 import org.apache.brooklyn.core.config.StructuredConfigKey;
-import org.apache.brooklyn.entity.core.internal.ConfigMapViewWithStringKeys;
+import org.apache.brooklyn.core.entity.internal.ConfigMapViewWithStringKeys;
 import org.apache.brooklyn.util.core.flags.TypeCoercions;
 import org.apache.brooklyn.util.core.task.DeferredSupplier;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c27cf1d0/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java 
b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
new file mode 100644
index 0000000..03bfe31
--- /dev/null
+++ 
b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java
@@ -0,0 +1,264 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.entity;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.Application;
+import org.apache.brooklyn.api.entity.Entity;
+import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.config.ConfigKey;
+import org.apache.brooklyn.core.config.ConfigKeys;
+import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
+import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic;
+import 
org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic.ServiceProblemsLogic;
+import org.apache.brooklyn.core.entity.trait.StartableMethods;
+import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
+import org.apache.brooklyn.util.exceptions.Exceptions;
+import org.apache.brooklyn.util.exceptions.RuntimeInterruptedException;
+import org.apache.brooklyn.util.text.Strings;
+import org.apache.brooklyn.util.time.Time;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Users can extend this to define the entities in their application, and the 
relationships between
+ * those entities. Users should override the {@link #init()} method, and in 
there should create 
+ * their entities.
+ */
+public abstract class AbstractApplication extends AbstractEntity implements 
StartableApplication {
+    
+    private static final Logger log = 
LoggerFactory.getLogger(AbstractApplication.class);
+    
+    /**
+     * The default name to use for this app, if not explicitly overridden by 
the top-level app.
+     * Necessary to avoid the app being wrapped in another layer of 
"BasicApplication" on deployment.
+     * Previously, the catalog item gave an explicit name (rathe rthan this 
defaultDisplayName), which
+     * meant that if the user chose a different name then AMP would 
automatically wrap this app so
+     * that both names would be presented.
+     */
+    public static final ConfigKey<String> DEFAULT_DISPLAY_NAME = 
ConfigKeys.newStringConfigKey("defaultDisplayName");
+
+    private volatile Application application;
+
+    public AbstractApplication() {
+    }
+
+    public void init() { 
+        super.init();
+        if (Strings.isNonBlank(getConfig(DEFAULT_DISPLAY_NAME))) {
+            setDefaultDisplayName(getConfig(DEFAULT_DISPLAY_NAME));
+        }
+        initApp();
+    }
+    
+    protected void initApp() {}
+    
+    /**
+     * 
+     * @deprecated since 0.6; use EntitySpec so no-arg constructor
+     */
+    @Deprecated
+    public AbstractApplication(Map properties) {
+        super(properties);
+    }
+
+    /** 
+     * Constructor for when application is nested inside another application
+     * 
+     * @deprecated Nesting applications is not currently supported
+     */
+    @Deprecated
+    public AbstractApplication(Map properties, Entity parent) {
+        super(properties, parent);
+    }
+
+    @Override
+    public Application getApplication() {
+        if (application!=null) {
+            if (application.getId().equals(getId()))
+                return (Application) getProxyIfAvailable();
+            return application;
+        }
+        if (getParent()==null) return (Application)getProxyIfAvailable();
+        return getParent().getApplication();
+    }
+    
+    @Override
+    protected synchronized void setApplication(Application app) {
+        if (app.getId().equals(getId())) {
+            application = getProxy()!=null ? (Application)getProxy() : app;
+        } else {
+            application = app;
+
+            // Alex, Mar 2013: added some checks; 
+            // i *think* these conditions should not happen, 
+            // and so should throw but don't want to break things (yet)
+            if (getParent()==null) {
+                log.warn("Setting application of "+this+" to "+app+", but 
"+this+" is not parented");
+            } else if (getParent().getApplicationId().equals(app.getParent())) 
{
+                log.warn("Setting application of "+this+" to "+app+", but 
parent "+getParent()+" has different app "+getParent().getApplication());
+            }
+        }
+        super.setApplication(app);
+    }
+    
+    @Override
+    public AbstractApplication setParent(Entity parent) {
+        super.setParent(parent);
+        return this;
+    }
+    
+    /** as {@link AbstractEntity#initEnrichers()} but also adding default 
service not-up and problem indicators from children */
+    @Override
+    protected void initEnrichers() {
+        super.initEnrichers();
+        
+        // default app logic; easily overridable by adding a different 
enricher with the same tag
+        
ServiceStateLogic.newEnricherFromChildren().checkChildrenAndMembers().addTo(this);
+        ServiceStateLogic.ServiceNotUpLogic.updateNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL, "Application created but not yet started, at 
"+Time.makeDateString());
+    }
+    
+    /**
+     * Default start will start all Startable children 
(child.start(Collection<? extends Location>)),
+     * calling preStart(locations) first and postStart(locations) afterwards.
+     */
+    @Override
+    public void start(Collection<? extends Location> locations) {
+        this.addLocations(locations);
+        Collection<? extends Location> locationsToUse = getLocations();
+        ServiceProblemsLogic.clearProblemsIndicator(this, START);
+        ServiceStateLogic.ServiceNotUpLogic.updateNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL, "Application starting");
+        setExpectedStateAndRecordLifecycleEvent(Lifecycle.STARTING);
+        try {
+            preStart(locationsToUse);
+            // if there are other items which should block service_up, they 
should be done in preStart
+            ServiceStateLogic.ServiceNotUpLogic.clearNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL);
+            
+            doStart(locationsToUse);
+            postStart(locationsToUse);
+        } catch (Exception e) {
+            // TODO should probably remember these problems then clear?  if 
so, do it here ... or on all effectors?
+//            ServiceProblemsLogic.updateProblemsIndicator(this, START, e);
+            
+            recordApplicationEvent(Lifecycle.ON_FIRE);
+            // no need to log here; the effector invocation should do that
+            throw Exceptions.propagate(e);
+        } finally {
+            ServiceStateLogic.setExpectedState(this, Lifecycle.RUNNING);
+        }
+
+        setExpectedStateAndRecordLifecycleEvent(Lifecycle.RUNNING);
+
+        logApplicationLifecycle("Started");
+    }
+
+    protected void logApplicationLifecycle(String message) {
+        log.info(message+" application " + this);
+    }
+    
+    protected void doStart(Collection<? extends Location> locations) {
+        StartableMethods.start(this, locations);        
+    }
+
+    /**
+     * Default is no-op. Subclasses can override.
+     * */
+    public void preStart(Collection<? extends Location> locations) {
+        //no-op
+    }
+
+    /**
+     * Default is no-op. Subclasses can override.
+     * */
+    public void postStart(Collection<? extends Location> locations) {
+        //no-op
+    }
+
+    /**
+     * Default stop will stop all Startable children
+     */
+    @Override
+    public void stop() {
+        logApplicationLifecycle("Stopping");
+
+        ServiceStateLogic.ServiceNotUpLogic.updateNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL, "Application stopping");
+        setAttribute(SERVICE_UP, false);
+        setExpectedStateAndRecordLifecycleEvent(Lifecycle.STOPPING);
+        try {
+            doStop();
+        } catch (Exception e) {
+            setExpectedStateAndRecordLifecycleEvent(Lifecycle.ON_FIRE);
+            log.warn("Error stopping application " + this + " (rethrowing): 
"+e);
+            throw Exceptions.propagate(e);
+        }
+        ServiceStateLogic.ServiceNotUpLogic.updateNotUpIndicator(this, 
Attributes.SERVICE_STATE_ACTUAL, "Application stopped");
+        setExpectedStateAndRecordLifecycleEvent(Lifecycle.STOPPED);
+
+        if (getParent()==null) {
+            synchronized (this) {
+                //TODO review mgmt destroy lifecycle
+                //  we don't necessarily want to forget all about the app on 
stop, 
+                //since operator may be interested in things recently stopped;
+                //but that could be handled by the impl at management
+                //(keeping recently unmanaged things)  
+                //  however unmanaging must be done last, _after_ we stop 
children and set attributes 
+                getEntityManager().unmanage(this);
+            }
+        }
+
+        logApplicationLifecycle("Stopped");
+    }
+
+    protected void doStop() {
+        StartableMethods.stop(this);
+    }
+
+    /** default impl invokes restart on all children simultaneously */
+    @Override
+    public void restart() {
+        StartableMethods.restart(this);
+    }
+
+    @Override
+    public void onManagementStopped() {
+        super.onManagementStopped();
+        if (getManagementContext().isRunning()) {
+            recordApplicationEvent(Lifecycle.DESTROYED);
+        }
+    }
+
+    protected void setExpectedStateAndRecordLifecycleEvent(Lifecycle state) {
+        ServiceStateLogic.setExpectedState(this, state);
+        recordApplicationEvent(state);
+    }
+
+    protected void recordApplicationEvent(Lifecycle state) {
+        try {
+            
((ManagementContextInternal)getManagementContext()).getUsageManager().recordApplicationEvent(this,
 state);
+        } catch (RuntimeInterruptedException e) {
+            throw e;
+        } catch (RuntimeException e) {
+            if (getManagementContext().isRunning()) {
+                log.warn("Problem recording application event '"+state+"' for 
"+this, e);
+            }
+        }
+    }
+}

Reply via email to