Problems
1. Missing ergonomic wait methods in DSL/FuncDSL
DSL has timeoutSeconds(), timeoutMinutes(), etc. but no equivalent for wait tasks.
Add these convenience methods (to both DSL.java and FuncDSL.java):
waitDays(int) / waitDays(String name, int)
waitHours(int) / waitHours(String name, int)
waitMinutes(int) / waitMinutes(String name, int)
waitSeconds(int) / waitSeconds(String name, int)
waitMillis(int) / waitMillis(String name, int)
wait(Duration) / wait(String name, Duration)
FuncDSL currently has zero wait support - needs all of the above.
2. WaitExecutor doesn't handle durationLiteral
Location: impl/core/src/main/java/io/serverlessworkflow/impl/executors/WaitExecutor.java:41-44
Current code:
this.millisToWait =
task.getWait().getDurationInline() != null
? toLong(task.getWait().getDurationInline())
: Duration.parse(task.getWait().getDurationExpression());
Problem: Crashes when durationLiteral is set (ISO 8601 like "PT5M") because it only checks inline/expression.
Fix: Add handling for task.getWait().getDurationLiteral().
Files to Modify
fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java
experimental/fluent/func/src/main/java/io/serverlessworkflow/fluent/func/dsl/FuncDSL.java
impl/core/src/main/java/io/serverlessworkflow/impl/executors/WaitExecutor.java
Problems
1. Missing ergonomic wait methods in DSL/FuncDSL
DSL has
timeoutSeconds(),timeoutMinutes(), etc. but no equivalent for wait tasks.Add these convenience methods (to both DSL.java and FuncDSL.java):
FuncDSL currently has zero wait support - needs all of the above.
2. WaitExecutor doesn't handle durationLiteral
Location:
impl/core/src/main/java/io/serverlessworkflow/impl/executors/WaitExecutor.java:41-44Current code:
Problem: Crashes when
durationLiteralis set (ISO 8601 like "PT5M") because it only checks inline/expression.Fix: Add handling for
task.getWait().getDurationLiteral().Files to Modify
fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.javaexperimental/fluent/func/src/main/java/io/serverlessworkflow/fluent/func/dsl/FuncDSL.javaimpl/core/src/main/java/io/serverlessworkflow/impl/executors/WaitExecutor.java