Skip to content

Commit 16c471c

Browse files
Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent 36e9b27 commit 16c471c

2 files changed

Lines changed: 37 additions & 6 deletions

File tree

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,12 @@ public FuncTaskItemListBuilder tryCatch(
217217
return this.addTaskItem(new TaskItem(name, new Task().withTryTask(tryTaskBuilder.build())));
218218
}
219219

220-
public FuncTaskItemListBuilder wait(
221-
Consumer<io.serverlessworkflow.fluent.spec.WaitTaskBuilder> itemsConfigurer) {
220+
public FuncTaskItemListBuilder wait(Consumer<WaitTaskBuilder> itemsConfigurer) {
222221
return wait(null, itemsConfigurer);
223222
}
224223

225224
public FuncTaskItemListBuilder wait(String name, Consumer<WaitTaskBuilder> itemsConfigurer) {
226-
name = this.defaultNameAndRequireConfig(name, itemsConfigurer, "wait");
225+
name = this.defaultNameAndRequireConfig(name, itemsConfigurer, TYPE_WAIT);
227226
final WaitTaskBuilder waitTaskBuilder = new WaitTaskBuilder();
228227
itemsConfigurer.accept(waitTaskBuilder);
229228
return this.addTaskItem(new TaskItem(name, new Task().withWaitTask(waitTaskBuilder.build())));

impl/test/src/test/java/io/serverlessworkflow/impl/test/WaitExecutorTest.java

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,29 @@ void testWaitWithDurationInlineComposite() {
9797
assertThat(elapsed).isGreaterThanOrEqualTo(1500); // 1 second + 500 milliseconds
9898
}
9999

100-
// ========== DurationLiteral Tests (via Duration.parse) ==========
100+
// ========== DurationLiteral Tests (TimeoutAfter.durationLiteral) ==========
101101

102102
@Test
103103
void testWaitWithDurationLiteralISO8601Seconds() {
104104
Workflow workflow =
105+
WorkflowBuilder.workflow("wait-literal-seconds", "test", "0.1.0")
106+
.tasks(
107+
list ->
108+
list.wait(
109+
w ->
110+
w.build()
111+
.setWait(
112+
new io.serverlessworkflow.api.types.TimeoutAfter()
113+
.withDurationLiteral("PT1S"))))
114+
.build();
115+
116+
long startTime = System.currentTimeMillis();
117+
WorkflowModel model = appl.workflowDefinition(workflow).instance(Map.of()).start().join();
118+
long elapsed = System.currentTimeMillis() - startTime;
119+
120+
assertThat(model).isNotNull();
121+
assertThat(elapsed).isGreaterThanOrEqualTo(1000);
122+
}
105123
WorkflowBuilder.workflow("wait-literal-seconds", "test", "0.1.0")
106124
.tasks(DSL.wait(Duration.parse("PT1S")))
107125
.build();
@@ -119,7 +137,14 @@ void testWaitWithDurationLiteralISO8601Composite() {
119137
// PT1.5S = 1 second 500 milliseconds (keep test fast)
120138
Workflow workflow =
121139
WorkflowBuilder.workflow("wait-literal-composite", "test", "0.1.0")
122-
.tasks(DSL.wait(Duration.parse("PT1.5S")))
140+
.tasks(
141+
list ->
142+
list.wait(
143+
w ->
144+
w.build()
145+
.setWait(
146+
new io.serverlessworkflow.api.types.TimeoutAfter()
147+
.withDurationLiteral("PT1.5S"))))
123148
.build();
124149
125150
long startTime = System.currentTimeMillis();
@@ -135,7 +160,14 @@ void testWaitWithDurationLiteralISO8601Milliseconds() {
135160
// PT0.1S = 100 milliseconds
136161
Workflow workflow =
137162
WorkflowBuilder.workflow("wait-literal-millis", "test", "0.1.0")
138-
.tasks(DSL.wait(Duration.parse("PT0.1S")))
163+
.tasks(
164+
list ->
165+
list.wait(
166+
w ->
167+
w.build()
168+
.setWait(
169+
new io.serverlessworkflow.api.types.TimeoutAfter()
170+
.withDurationLiteral("PT0.1S"))))
139171
.build();
140172
141173
long startTime = System.currentTimeMillis();

0 commit comments

Comments
 (0)