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 16ad21bd16 better error check+report for workflow
16ad21bd16 is described below

commit 16ad21bd1616e78ed0d76b959d086376cdfab534
Author: Alex Heneveld <a...@cloudsoft.io>
AuthorDate: Mon Feb 5 13:08:58 2024 +0000

    better error check+report for workflow
---
 .../java/org/apache/brooklyn/core/workflow/WorkflowErrorHandling.java | 4 ++--
 .../core/workflow/steps/variables/SetVariableWorkflowStep.java        | 4 ++--
 .../core/workflow/steps/variables/TransformVariableWorkflowStep.java  | 2 +-
 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 c6f64edb68..8d5a21fac6 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
@@ -265,7 +265,7 @@ public class WorkflowErrorHandling implements 
Callable<WorkflowErrorHandling.Wor
     }
 
     public static void logExceptionWhileHandlingException(Supplier<String> 
src, Entity entity, Exception newError, Throwable oldError) {
-        if (Exceptions.getCausalChain(newError).stream().anyMatch(e3 -> e3== 
oldError)) {
+        if (Exceptions.getCausalChain(newError).stream().anyMatch(e3 -> 
e3==oldError)) {
             // is, or wraps, original error, don't need to log
 
 //                    } else if (Exceptions.isCausedByInterruptInAnyThread(e) 
&& Exceptions.isCausedByInterruptInAnyThread(e2)) {
@@ -274,7 +274,7 @@ public class WorkflowErrorHandling implements 
Callable<WorkflowErrorHandling.Wor
 //                        log.debug("Error where error handler was 
interrupted, after main thread was also interrupted: " + e2);
 //                        log.trace("Full trace of original error was: " + e, 
e);
 
-        } else if (newError instanceof WorkflowFailException) {
+        } else if (Exceptions.getCausalChain(newError).stream().anyMatch(e3 -> 
e3 instanceof WorkflowFailException)) {
             log.debug("Workflow fail " + src.get() + "; throwing failure 
object -- "+Exceptions.collapseText(newError)+" -- and dropping original error: 
"+Exceptions.collapseText(oldError));
             log.trace("Full trace of original error was: " + oldError, 
oldError);
         } else {
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/SetVariableWorkflowStep.java
 
b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/SetVariableWorkflowStep.java
index 79b41185fc..e809e76431 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/SetVariableWorkflowStep.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/SetVariableWorkflowStep.java
@@ -239,8 +239,8 @@ public class SetVariableWorkflowStep extends 
WorkflowStepDefinition {
             } catch (Exception e) {
                 Exceptions.propagateIfFatal(e);
                 if (wordsByQuote==null || wordsByQuote.size()>1) {
-                    if (Exceptions.getCausalChain(e).stream().anyMatch(cause 
-> cause instanceof ParseException)) {
-                        // try again with the whole thing as tokens, if it is 
an interpolated string with spaces inside it
+                    if (Exceptions.getCausalChain(e).stream().anyMatch(cause 
-> cause instanceof ParseException || cause instanceof 
IllegalArgumentException)) {
+                        // try again with the whole thing as tokens, if it is 
an interpolated string with spaces inside it or mismatched quotes
                         try {
                             return process(MutableList.of(input));
                         } catch (Exception e2) {
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/TransformVariableWorkflowStep.java
 
b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/TransformVariableWorkflowStep.java
index 656e067c5c..fc59c55edb 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/TransformVariableWorkflowStep.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/workflow/steps/variables/TransformVariableWorkflowStep.java
@@ -140,7 +140,7 @@ public class TransformVariableWorkflowStep extends 
WorkflowStepDefinition {
                     // otherwise normal, it does not match a variable name, so 
treat it as the value
                 }
                 if (isDisallowedUndecoratedVariable)
-                    throw new IllegalArgumentException("Legacy transform 
syntax `transform var_name | ...` disallowed (" + vv_auto + "); use 
'${"+vv_auto+"'}' if you don't want to update it or insert the keyword 
'variable' if you do");
+                    throw new IllegalArgumentException("Legacy transform 
syntax `transform var_name | ...` disallowed (" + vv_auto + "); use 
'${"+vv_auto+"}' if you don't want to update it or insert the keyword 
'variable' if you do");
             }
 
             if (isVariable) {

Reply via email to