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..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,7 +653,22 @@ public static TasksConfigurer call(CallOpenAPIConfigurer configurer) { return list -> list.openapi(configurer); } - public static TasksConfigurer workflow(WorkflowConfigurer 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);
}
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();