Skip to content

Commit fb0bc96

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

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package io.serverlessworkflow.fluent.func;
1717

18-
import io.serverlessworkflow.api.types.Set;
19-
import io.serverlessworkflow.api.types.SetTask;
2018
import io.serverlessworkflow.api.types.func.MapSetTaskConfiguration;
2119
import io.serverlessworkflow.fluent.func.spi.ConditionalTaskBuilder;
2220
import io.serverlessworkflow.fluent.spec.SetTaskBuilder;
@@ -25,23 +23,8 @@
2523
public class FuncSetTaskBuilder extends SetTaskBuilder
2624
implements ConditionalTaskBuilder<FuncSetTaskBuilder> {
2725

28-
private final SetTask task;
29-
30-
FuncSetTaskBuilder() {
31-
this.task = new SetTask();
32-
this.setTask(task);
33-
}
34-
3526
public FuncSetTaskBuilder expr(Map<String, Object> map) {
36-
if (this.task.getSet() == null) {
37-
this.task.setSet(new Set());
38-
}
39-
this.task.getSet().withSetTaskConfiguration(new MapSetTaskConfiguration(map));
27+
this.setTaskConfiguration = new MapSetTaskConfiguration(map);
4028
return this;
4129
}
42-
43-
@Override
44-
public SetTask build() {
45-
return this.task;
46-
}
4730
}

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,8 @@
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;
2830
import java.util.Collection;
2931
import java.util.List;
3032
import java.util.Map;
@@ -131,4 +133,22 @@ void set_with_map() {
131133
assertEquals(Map.of("message", "hello world!"), output);
132134
}
133135
}
136+
137+
@Test
138+
void set_with_string() {
139+
try (WorkflowApplication app = WorkflowApplication.builder().build()) {
140+
Workflow workflow =
141+
FuncWorkflowBuilder.workflow()
142+
.tasks(f -> f.set(s -> s.expr("{message:\"hello world!\"}")))
143+
.build();
144+
145+
WorkflowDefinition workflowDefinition = app.workflowDefinition(workflow);
146+
147+
WorkflowModel model = workflowDefinition.instance(Map.of()).start().join();
148+
149+
assertEquals(
150+
JsonUtils.mapper().createObjectNode().put("message", "hello world!"),
151+
model.asJavaObject());
152+
}
153+
}
134154
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
public class SetTaskBuilder extends TaskBaseBuilder<SetTaskBuilder> {
2323

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

2727
public SetTaskBuilder() {
2828
this.task = new SetTask();
@@ -49,7 +49,6 @@ public SetTask build() {
4949
if (this.task.getSet() == null) {
5050
this.task.setSet(new Set().withSetTaskConfiguration(setTaskConfiguration));
5151
}
52-
5352
return task;
5453
}
5554
}

0 commit comments

Comments
 (0)