File tree Expand file tree Collapse file tree 3 files changed +23
-21
lines changed
fluent/func/src/main/java/io/serverlessworkflow/fluent/func
lambda/src/test/java/io/serverless/workflow/impl/executors/func
fluent/spec/src/main/java/io/serverlessworkflow/fluent/spec Expand file tree Collapse file tree 3 files changed +23
-21
lines changed Original file line number Diff line number Diff line change 1515 */
1616package io .serverlessworkflow .fluent .func ;
1717
18- import io .serverlessworkflow .api .types .Set ;
19- import io .serverlessworkflow .api .types .SetTask ;
2018import io .serverlessworkflow .api .types .func .MapSetTaskConfiguration ;
2119import io .serverlessworkflow .fluent .func .spi .ConditionalTaskBuilder ;
2220import io .serverlessworkflow .fluent .spec .SetTaskBuilder ;
2523public 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}
Original file line number Diff line number Diff line change 2525import io .serverlessworkflow .impl .WorkflowApplication ;
2626import io .serverlessworkflow .impl .WorkflowDefinition ;
2727import io .serverlessworkflow .impl .WorkflowInstance ;
28+ import io .serverlessworkflow .impl .WorkflowModel ;
29+ import io .serverlessworkflow .impl .jackson .JsonUtils ;
2830import java .util .Collection ;
2931import java .util .List ;
3032import 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}
Original file line number Diff line number Diff line change 2121
2222public 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}
You can’t perform that action at this time.
0 commit comments