Skip to content

Commit 7789178

Browse files
committed
[Fix #1174] Fix set fluent dsl issue
Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent fa31873 commit 7789178

3 files changed

Lines changed: 21 additions & 14 deletions

File tree

experimental/fluent/func/src/main/java/io/serverlessworkflow/fluent/func/FuncSetTaskBuilder.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package io.serverlessworkflow.fluent.func;
1717

1818
import io.serverlessworkflow.api.types.Set;
19-
import io.serverlessworkflow.api.types.SetTask;
2019
import io.serverlessworkflow.api.types.func.MapSetTaskConfiguration;
2120
import io.serverlessworkflow.fluent.func.spi.ConditionalTaskBuilder;
2221
import io.serverlessworkflow.fluent.spec.SetTaskBuilder;
@@ -25,23 +24,11 @@
2524
public class FuncSetTaskBuilder extends SetTaskBuilder
2625
implements ConditionalTaskBuilder<FuncSetTaskBuilder> {
2726

28-
private final SetTask task;
29-
30-
FuncSetTaskBuilder() {
31-
this.task = new SetTask();
32-
this.setTask(task);
33-
}
34-
3527
public FuncSetTaskBuilder expr(Map<String, Object> map) {
3628
if (this.task.getSet() == null) {
3729
this.task.setSet(new Set());
3830
}
3931
this.task.getSet().withSetTaskConfiguration(new MapSetTaskConfiguration(map));
4032
return this;
4133
}
42-
43-
@Override
44-
public SetTask build() {
45-
return this.task;
46-
}
4734
}

experimental/lambda/src/test/java/io/serverless/workflow/impl/executors/func/FluentDSLCallTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
import io.serverlessworkflow.impl.WorkflowApplication;
2626
import io.serverlessworkflow.impl.WorkflowDefinition;
2727
import io.serverlessworkflow.impl.WorkflowInstance;
28+
import io.serverlessworkflow.impl.WorkflowModel;
29+
import io.serverlessworkflow.impl.jackson.JsonUtils;
30+
2831
import java.util.Collection;
2932
import java.util.List;
3033
import java.util.Map;
@@ -131,4 +134,21 @@ void set_with_map() {
131134
assertEquals(Map.of("message", "hello world!"), output);
132135
}
133136
}
137+
138+
@Test
139+
void set_with_string() {
140+
try (WorkflowApplication app = WorkflowApplication.builder().build()) {
141+
Workflow workflow =
142+
FuncWorkflowBuilder.workflow()
143+
.tasks(f -> f.set(s -> s.expr("{message:\"hello world!\"}")))
144+
.build();
145+
146+
WorkflowDefinition workflowDefinition = app.workflowDefinition(workflow);
147+
148+
WorkflowModel model =
149+
workflowDefinition.instance(Map.of()).start().join();
150+
151+
assertEquals(JsonUtils.mapper().createObjectNode().put("message", "hello world!"), model.asJavaObject());
152+
}
153+
}
134154
}

fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec/SetTaskBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
public class SetTaskBuilder extends TaskBaseBuilder<SetTaskBuilder> {
2323

24-
private final SetTask task;
24+
protected final SetTask task;
2525
private final SetTaskConfiguration setTaskConfiguration;
2626

2727
public SetTaskBuilder() {

0 commit comments

Comments
 (0)