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

commit 27a26ec059d342c8d11146bf6e6822a95301bd09
Author: Alex Heneveld <[email protected]>
AuthorDate: Fri Dec 2 14:10:43 2022 +0000

    support inline single-step error on steps
---
 .../java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java | 2 +-
 .../org/apache/brooklyn/core/workflow/WorkflowStepDefinition.java     | 4 ++--
 .../org/apache/brooklyn/core/workflow/WorkflowStepResolution.java     | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java
 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java
index 2be4ae7f2b..2961e2353e 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java
@@ -214,7 +214,7 @@ public class WorkflowErrorHandling implements 
Callable<WorkflowErrorHandling.Wor
 
     public static void handleErrorAtStep(Entity entity, WorkflowStepDefinition 
step, WorkflowStepInstanceExecutionContext currentStepInstance, Task<?> 
stepTaskThrowingError, BiConsumer<Object, Object> onFinish, Exception error, 
Integer errorStepIfNested) {
         String problemHere = null;
-        if (!step.onError.isEmpty()) {
+        if (wrappedInListIfNecessaryOrNullIfEmpty(step.onError)!=null) {
 
             if (errorStepIfNested!=null) {
                 log.debug("Nested error handler running on 
"+stepTaskThrowingError+" to handle "+error);
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepDefinition.java
 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepDefinition.java
index 84769c870b..e133dea6b8 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepDefinition.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowStepDefinition.java
@@ -111,9 +111,9 @@ public abstract class WorkflowStepDefinition {
 
     // might be nice to support a shorthand for on-error; but not yet
     @JsonProperty("on-error")
-    protected List<Object> onError = MutableList.of();
+    protected Object onError = MutableList.of();
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    public List<Object> getOnError() {
+    public Object getOnError() {
         return onError;
     }
 
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 a59fa889b4..82684c5de6 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
@@ -132,9 +132,9 @@ public class WorkflowStepResolution {
                 defW.populateFromShorthand(shorthand);
             }
 
-            List<Object> onError = defW.getOnError();
+            List<Object> onError = 
WorkflowErrorHandling.wrappedInListIfNecessaryOrNullIfEmpty(defW.getOnError());
             if (onError!=null && !onError.isEmpty()) {
-                defW.onError = (List) resolveSubSteps(mgmt, "error handling", 
onError);
+                defW.onError = resolveSubSteps(mgmt, "error handling", 
onError);
             }
 
             defW.validateStep(mgmt, null);

Reply via email to