diff --git a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java index 48bb6a43b3..867014026f 100644 --- a/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java +++ b/software/base/src/main/java/brooklyn/entity/software/MachineLifecycleEffectorTasks.java @@ -171,6 +171,24 @@ public Effector newSuspendEffector() { * Calls {@link #start(Collection)} in this class. */ public EffectorBody newStartEffectorTask() { + // TODO included anonymous inner class for backwards compatibility with persisted state. + new EffectorBody() { + @Override + public Void call(ConfigBag parameters) { + Collection locations = null; + + Object locationsRaw = parameters.getStringKey(LOCATIONS.getName()); + locations = Locations.coerceToCollection(entity().getManagementContext(), locationsRaw); + + if (locations==null) { + // null/empty will mean to inherit from parent + locations = Collections.emptyList(); + } + + start(locations); + return null; + } + }; return new StartEffectorBody(); } @@ -199,6 +217,14 @@ public Void call(ConfigBag parameters) { * @see {@link #newStartEffectorTask()} */ public EffectorBody newRestartEffectorTask() { + // TODO included anonymous inner class for backwards compatibility with persisted state. + new EffectorBody() { + @Override + public Void call(ConfigBag parameters) { + restart(parameters); + return null; + } + }; return new RestartEffectorBody(); } @@ -216,6 +242,14 @@ public Void call(ConfigBag parameters) { * @see {@link #newStartEffectorTask()} */ public EffectorBody newStopEffectorTask() { + // TODO included anonymous inner class for backwards compatibility with persisted state. + new EffectorBody() { + @Override + public Void call(ConfigBag parameters) { + stop(parameters); + return null; + } + }; return new StopEffectorBody(); }