From 7a771945b3411ee1bb6f9e7a1afb3983fcf137bb Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Mon, 13 Apr 2026 11:28:56 -0300 Subject: [PATCH 1/2] Rename DSL.workflow to DSL.subflow Signed-off-by: Matheus Cruz --- .../main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java | 2 +- .../java/io/serverlessworkflow/fluent/spec/dsl/DSLTest.java | 5 +++-- .../io/serverlessworkflow/impl/test/SubWorkflowTest.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java b/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java index 1eda0528..e8233583 100644 --- a/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java +++ b/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java @@ -653,7 +653,7 @@ public static TasksConfigurer call(CallOpenAPIConfigurer configurer) { return list -> list.openapi(configurer); } - public static TasksConfigurer workflow(WorkflowConfigurer configurer) { + public static TasksConfigurer subflow(WorkflowConfigurer configurer) { return list -> list.workflow(configurer); } diff --git a/fluent/spec/src/test/java/io/serverlessworkflow/fluent/spec/dsl/DSLTest.java b/fluent/spec/src/test/java/io/serverlessworkflow/fluent/spec/dsl/DSLTest.java index 70118019..d2ba15ff 100644 --- a/fluent/spec/src/test/java/io/serverlessworkflow/fluent/spec/dsl/DSLTest.java +++ b/fluent/spec/src/test/java/io/serverlessworkflow/fluent/spec/dsl/DSLTest.java @@ -25,6 +25,7 @@ import static io.serverlessworkflow.fluent.spec.dsl.DSL.openapi; import static io.serverlessworkflow.fluent.spec.dsl.DSL.produced; import static io.serverlessworkflow.fluent.spec.dsl.DSL.secrets; +import static io.serverlessworkflow.fluent.spec.dsl.DSL.subflow; import static io.serverlessworkflow.fluent.spec.dsl.DSL.to; import static io.serverlessworkflow.fluent.spec.dsl.DSL.workflow; import static org.assertj.core.api.Assertions.assertThat; @@ -308,7 +309,7 @@ void when_dsl_subflow_workflow_task() { Workflow wf = WorkflowBuilder.workflow("parent", "ns", "1") .tasks( - workflow( + subflow( workflow("child.ns", "child-flow", "2.3.4") .input("id", 99) .await(false) @@ -330,7 +331,7 @@ void when_dsl_subflow_workflow_task_with_map_input() { Workflow wf = WorkflowBuilder.workflow("parent", "ns", "1") .tasks( - workflow( + subflow( workflow("child.ns", "child-flow", "2.3.4") .input(Map.of("id", 7, "region", "eu")) .input("extra", true) diff --git a/impl/test/src/test/java/io/serverlessworkflow/impl/test/SubWorkflowTest.java b/impl/test/src/test/java/io/serverlessworkflow/impl/test/SubWorkflowTest.java index 2a45b0d8..dd783335 100644 --- a/impl/test/src/test/java/io/serverlessworkflow/impl/test/SubWorkflowTest.java +++ b/impl/test/src/test/java/io/serverlessworkflow/impl/test/SubWorkflowTest.java @@ -148,7 +148,7 @@ public void runSubWorkflowFromDslTest() throws Exception { Workflow parent = WorkflowBuilder.workflow("parentFlow", "org.acme", "1.0.0") .tasks( - DSL.workflow( + DSL.subflow( DSL.workflow("org.acme", "childFlow", "1.0.0") .input(Map.of("id", 42, "region", "us-east")))) .build(); From efce8cd921dd36b30071cd954f898cfad813b783 Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Mon, 13 Apr 2026 11:37:43 -0300 Subject: [PATCH 2/2] Add documentation about subflow Signed-off-by: Matheus Cruz --- .../serverlessworkflow/fluent/spec/dsl/DSL.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java b/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java index e8233583..9e0797c8 100644 --- a/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java +++ b/fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/dsl/DSL.java @@ -653,6 +653,21 @@ public static TasksConfigurer call(CallOpenAPIConfigurer configurer) { return list -> list.openapi(configurer); } + /** + * Create a {@link TasksConfigurer} that adds a sub-workflow call task using a {@link + * WorkflowConfigurer}. + * + *

+ * + *

{@code
+   * tasks(
+   *  subflow(workflow("org.acme", "sub-workflow", "0.1.0").input(...)
+   * );
+   * }
+ * + * @param configurer + * @return + */ public static TasksConfigurer subflow(WorkflowConfigurer configurer) { return list -> list.workflow(configurer); }