in AbstractApplication, don't infer locations to pass to start(...)
authorAlex Heneveld <alex.heneveld@cloudsoftcorp.com>
Thu, 14 Jan 2016 13:36:05 +0000 (13:36 +0000)
committerAlex Heneveld <alex.heneveld@cloudsoftcorp.com>
Thu, 14 Jan 2016 14:43:01 +0000 (14:43 +0000)
commitadd81aada1d5da340248f03c6438585d4c7aea5c
tree4c731759564a1df499ce5c89d9953fce2008272d
parent70ed345e4b4cb992d92f363f250000b4c00558ae
in AbstractApplication, don't infer locations to pass to start(...)

with this, locations defined on an app are no longer inserted automatically by BasicApplication.start().  this is because locations are now normally defined on yaml.  entities typically prefer a location if supplied to start(...), but if none are supplied there they look in local configuration and then ancestor configuration.  if BasicApplication passes their configured location to the start method, that is trumping any location defined on they descendant entity, which is probably not desired.  if an entity does not define a location, there is no change to behaviour as it looks up ancestor location regardless.  but this fixes a bug where if a location A is defined on an application, and another location B defined on a particular entity in that application, the entity now uses B whereas previously it was using A.  this makes explicit entity startup behaviour consistent with how an entity spec used in a cluster works (which has and still prefers the location defined in the entity spec).
brooklyn-server/core/src/main/java/org/apache/brooklyn/core/entity/AbstractApplication.java