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) {

Reply via email to