This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
The following commit(s) were added to refs/heads/master by this push:
new 7922399099 allow effectors with workflow with output only, no steps
7922399099 is described below
commit 7922399099a0f20a5ae0b5c19f070640b2b5f82b
Author: Alex Heneveld <[email protected]>
AuthorDate: Fri Sep 15 14:19:40 2023 +0100
allow effectors with workflow with output only, no steps
---
.../java/org/apache/brooklyn/core/workflow/WorkflowEffector.java | 2 +-
.../org/apache/brooklyn/core/workflow/WorkflowStepResolution.java | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowEffector.java
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowEffector.java
index ca85db81e7..8fdf89efa7 100644
--- a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowEffector.java
+++ b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowEffector.java
@@ -88,7 +88,7 @@ public class WorkflowEffector extends
AddEffectorInitializerAbstract implements
super(null);
this.definitionParams = definitionParams.getAllConfigRaw();
- WorkflowStepResolution.validateWorkflowParameters(entity,
definitionParams);
+
WorkflowStepResolution.validateWorkflowParametersForEffector(entity,
definitionParams);
}
public Map<String,Object> getDefinitionParams() {
diff --git
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepResolution.java
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepResolution.java
index 102843d950..2d17c6cdf3 100644
---
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepResolution.java
+++
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepResolution.java
@@ -171,9 +171,10 @@ public class WorkflowStepResolution {
}
}
- public static void validateWorkflowParameters(BrooklynObject
entityOrAdjunctWhereRunningIfKnown, ConfigBag params) {
+ public static void validateWorkflowParametersForEffector(BrooklynObject
entityOrAdjunctWhereRunningIfKnown, ConfigBag params) {
List<Object> steps = params.get(WorkflowCommonConfig.STEPS);
- if (steps==null || steps.isEmpty()) throw new
IllegalArgumentException("It is required to supply 'steps' to define a workflow
effector");
+ if ((steps==null || steps.isEmpty()) &&
!params.containsKey(WorkflowCommonConfig.OUTPUT))
+ throw new IllegalArgumentException("It is required to supply
'steps' or 'output' to define a workflow effector");
boolean hasCondition =
params.containsKey(WorkflowCommonConfig.CONDITION.getName());
if (!hasCondition && entityOrAdjunctWhereRunningIfKnown!=null) {