Skip to content

Commit 3277a00

Browse files
committed
apply pull request suggestions
Signed-off-by: Matheus Cruz <[email protected]>
1 parent 7ba07b9 commit 3277a00

File tree

16 files changed

+627
-49
lines changed

16 files changed

+627
-49
lines changed

examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import io.dapr.examples.workflows.utils.PropertyUtils;
1717
import io.dapr.examples.workflows.utils.RetryUtils;
1818
import io.dapr.workflows.client.DaprWorkflowClient;
19-
import io.dapr.workflows.client.WorkflowInstanceStatus;
19+
import io.dapr.workflows.client.WorkflowState;
2020

2121
import java.time.Duration;
2222
import java.util.concurrent.TimeoutException;
@@ -34,10 +34,10 @@ public static void main(String[] args) {
3434
Duration.ofSeconds(60));
3535

3636
System.out.printf("Started a new chaining model workflow with instance ID: %s%n", instanceId);
37-
WorkflowInstanceStatus workflowInstanceStatus =
37+
WorkflowState workflowState =
3838
client.waitForWorkflowCompletion(instanceId, null, true);
3939

40-
String result = workflowInstanceStatus.readOutputAs(String.class);
40+
String result = workflowState.readOutputAs(String.class);
4141
System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId, result);
4242
} catch (TimeoutException | InterruptedException e) {
4343
throw new RuntimeException(e);

examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkerflowClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import io.dapr.examples.workflows.utils.PropertyUtils;
1717
import io.dapr.workflows.client.DaprWorkflowClient;
18-
import io.dapr.workflows.client.WorkflowInstanceStatus;
18+
import io.dapr.workflows.client.WorkflowState;
1919

2020
import java.util.concurrent.TimeoutException;
2121

@@ -30,10 +30,10 @@ public static void main(String[] args) {
3030
try (DaprWorkflowClient client = new DaprWorkflowClient(PropertyUtils.getProperties(args))) {
3131
String instanceId = client.scheduleNewWorkflow(DemoWorkflow.class);
3232
System.out.printf("Started a new child-workflow model workflow with instance ID: %s%n", instanceId);
33-
WorkflowInstanceStatus workflowInstanceStatus =
33+
WorkflowState workflowState =
3434
client.waitForWorkflowCompletion(instanceId, null, true);
3535

36-
String result = workflowInstanceStatus.readOutputAs(String.class);
36+
String result = workflowState.readOutputAs(String.class);
3737
System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId, result);
3838

3939
} catch (TimeoutException | InterruptedException e) {

examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import io.dapr.examples.workflows.utils.PropertyUtils;
1717
import io.dapr.examples.workflows.utils.RetryUtils;
1818
import io.dapr.workflows.client.DaprWorkflowClient;
19-
import io.dapr.workflows.client.WorkflowInstanceStatus;
19+
import io.dapr.workflows.client.WorkflowState;
2020

2121
import java.time.Duration;
2222
import java.util.concurrent.TimeoutException;
@@ -27,7 +27,7 @@ public static void main(String[] args) {
2727
String instanceId = RetryUtils.callWithRetry(() -> client.scheduleNewWorkflow(BookTripWorkflow.class), Duration.ofSeconds(60));
2828
System.out.printf("Started a new trip booking workflow with instance ID: %s%n", instanceId);
2929

30-
WorkflowInstanceStatus status = client.waitForWorkflowCompletion(instanceId, Duration.ofMinutes(30), true);
30+
WorkflowState status = client.waitForWorkflowCompletion(instanceId, Duration.ofMinutes(30), true);
3131
System.out.printf("Workflow instance with ID: %s completed with status: %s%n", instanceId, status);
3232
System.out.printf("Workflow output: %s%n", status.getSerializedOutput());
3333
} catch (TimeoutException | InterruptedException e) {

examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import io.dapr.examples.workflows.utils.PropertyUtils;
1717
import io.dapr.examples.workflows.utils.RetryUtils;
1818
import io.dapr.workflows.client.DaprWorkflowClient;
19-
import io.dapr.workflows.client.WorkflowInstanceStatus;
19+
import io.dapr.workflows.client.WorkflowState;
2020

2121
import java.time.Duration;
2222
import java.util.Arrays;
@@ -48,12 +48,12 @@ public static void main(String[] args) throws InterruptedException {
4848
System.out.printf("Started a new fan out/fan in model workflow with instance ID: %s%n", instanceId);
4949

5050
// Block until the orchestration completes. Then print the final status, which includes the output.
51-
WorkflowInstanceStatus workflowInstanceStatus = client.waitForWorkflowCompletion(
51+
WorkflowState workflowState = client.waitForWorkflowCompletion(
5252
instanceId,
5353
Duration.ofSeconds(30),
5454
true);
5555
System.out.printf("workflow instance with ID: %s completed with result: %s%n", instanceId,
56-
workflowInstanceStatus.readOutputAs(int.class));
56+
workflowState.readOutputAs(int.class));
5757
} catch (TimeoutException e) {
5858
throw new RuntimeException(e);
5959
}

examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorkflowClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
package io.dapr.examples.workflows.multiapp;
1515

1616
import io.dapr.workflows.client.DaprWorkflowClient;
17-
import io.dapr.workflows.client.WorkflowInstanceStatus;
17+
import io.dapr.workflows.client.WorkflowState;
1818

1919
import java.util.concurrent.TimeoutException;
2020

@@ -48,7 +48,7 @@ public static void main(String[] args) {
4848

4949
// Wait for the workflow to complete
5050
System.out.println("Waiting for workflow completion...");
51-
WorkflowInstanceStatus workflowInstanceStatus =
51+
WorkflowState workflowInstanceStatus =
5252
client.waitForWorkflowCompletion(instanceId, null, true);
5353

5454
// Get the result

examples/src/main/java/io/dapr/examples/workflows/suspendresume/DemoSuspendResumeClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import io.dapr.examples.workflows.utils.PropertyUtils;
1818
import io.dapr.examples.workflows.utils.RetryUtils;
1919
import io.dapr.workflows.client.DaprWorkflowClient;
20-
import io.dapr.workflows.client.WorkflowInstanceStatus;
20+
import io.dapr.workflows.client.WorkflowState;
2121

2222
import java.time.Duration;
2323
import java.util.concurrent.TimeoutException;
@@ -38,7 +38,7 @@ public static void main(String[] args) {
3838
System.out.printf("Suspending Workflow Instance: %s%n", instanceId );
3939
client.suspendWorkflow(instanceId, "suspending workflow instance.");
4040

41-
WorkflowInstanceStatus instanceState = client.getWorkflowState(instanceId, false);
41+
WorkflowState instanceState = client.getWorkflowState(instanceId, false);
4242
assert instanceState != null;
4343
System.out.printf("Workflow Instance Status: %s%n", instanceState.getRuntimeStatus().name() );
4444

sdk-tests/src/test/java/io/dapr/it/testcontainers/workflows/DaprWorkflowsIT.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import io.dapr.testcontainers.DaprContainer;
2121
import io.dapr.testcontainers.DaprLogLevel;
2222
import io.dapr.workflows.client.DaprWorkflowClient;
23-
import io.dapr.workflows.client.WorkflowInstanceStatus;
2423
import io.dapr.workflows.client.WorkflowRuntimeStatus;
24+
import io.dapr.workflows.client.WorkflowState;
2525
import io.dapr.workflows.runtime.WorkflowRuntime;
2626
import io.dapr.workflows.runtime.WorkflowRuntimeBuilder;
2727
import org.junit.jupiter.api.BeforeEach;
@@ -108,7 +108,7 @@ public void testWorkflows() throws Exception {
108108
workflowClient.raiseEvent(instanceId, "MoveForward", payload);
109109

110110
Duration timeout = Duration.ofSeconds(10);
111-
WorkflowInstanceStatus workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
111+
WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
112112

113113
assertNotNull(workflowStatus);
114114

@@ -129,7 +129,7 @@ public void testSuspendAndResumeWorkflows() throws Exception {
129129
workflowClient.suspendWorkflow(instanceId, "testing suspend.");
130130

131131

132-
WorkflowInstanceStatus instanceState = workflowClient.getWorkflowState(instanceId, false);
132+
WorkflowState instanceState = workflowClient.getWorkflowState(instanceId, false);
133133
assertNotNull(instanceState);
134134
assertEquals(WorkflowRuntimeStatus.SUSPENDED, instanceState.getRuntimeStatus());
135135

@@ -157,7 +157,7 @@ public void testNamedActivitiesWorkflows() throws Exception {
157157
workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(10), false);
158158

159159
Duration timeout = Duration.ofSeconds(10);
160-
WorkflowInstanceStatus workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
160+
WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
161161

162162
assertNotNull(workflowStatus);
163163

@@ -181,7 +181,7 @@ public void testExecutionKeyWorkflows() throws Exception {
181181
workflowClient.waitForWorkflowStart(instanceId, Duration.ofSeconds(100), false);
182182

183183
Duration timeout = Duration.ofSeconds(1000);
184-
WorkflowInstanceStatus workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
184+
WorkflowState workflowStatus = workflowClient.waitForWorkflowCompletion(instanceId, timeout, true);
185185

186186
assertNotNull(workflowStatus);
187187

sdk-workflows/src/main/java/io/dapr/workflows/client/DaprWorkflowClient.java

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.dapr.workflows.Workflow;
2424
import io.dapr.workflows.internal.ApiTokenClientInterceptor;
2525
import io.dapr.workflows.runtime.DefaultWorkflowInstanceStatus;
26+
import io.dapr.workflows.runtime.DefaultWorkflowState;
2627
import io.grpc.ClientInterceptor;
2728
import io.grpc.ManagedChannel;
2829

@@ -184,10 +185,10 @@ public WorkflowInstanceStatus getInstanceState(String instanceId, boolean getInp
184185
* @return a metadata record that describes the workflow instance and it execution status, or a default instance
185186
*/
186187
@Nullable
187-
public WorkflowInstanceStatus getWorkflowState(String instanceId, boolean getInputsAndOutputs) {
188+
public WorkflowState getWorkflowState(String instanceId, boolean getInputsAndOutputs) {
188189
OrchestrationMetadata metadata = this.innerClient.getInstanceMetadata(instanceId, getInputsAndOutputs);
189190

190-
return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata);
191+
return metadata == null ? null : new DefaultWorkflowState(metadata);
191192
}
192193

193194
/**
@@ -221,7 +222,7 @@ public WorkflowInstanceStatus waitForInstanceStart(String instanceId, Duration t
221222

222223
/**
223224
* Waits for a workflow to start running and returns an
224-
* {@link WorkflowInstanceStatus} object that contains metadata about the started
225+
* {@link WorkflowState} object that contains metadata about the started
225226
* instance and optionally its input, output, and custom status payloads.
226227
*
227228
* <p>A "started" workflow instance is any instance not in the Pending state.
@@ -237,12 +238,12 @@ public WorkflowInstanceStatus waitForInstanceStart(String instanceId, Duration t
237238
* @throws TimeoutException when the workflow instance is not started within the specified amount of time
238239
*/
239240
@Nullable
240-
public WorkflowInstanceStatus waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs)
241+
public DefaultWorkflowState waitForWorkflowStart(String instanceId, Duration timeout, boolean getInputsAndOutputs)
241242
throws TimeoutException {
242243

243244
OrchestrationMetadata metadata = this.innerClient.waitForInstanceStart(instanceId, timeout, getInputsAndOutputs);
244245

245-
return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata);
246+
return metadata == null ? null : new DefaultWorkflowState(metadata);
246247
}
247248

248249
/**
@@ -277,7 +278,7 @@ public WorkflowInstanceStatus waitForInstanceCompletion(String instanceId, Durat
277278

278279

279280
/**
280-
* Waits for an workflow to complete and returns an {@link WorkflowInstanceStatus} object that contains
281+
* Waits for an workflow to complete and returns an {@link WorkflowState} object that contains
281282
* metadata about the completed instance.
282283
*
283284
* <p>A "completed" workflow instance is any instance in one of the terminal states. For example, the
@@ -296,12 +297,12 @@ public WorkflowInstanceStatus waitForInstanceCompletion(String instanceId, Durat
296297
* @throws TimeoutException when the workflow instance is not completed within the specified amount of time
297298
*/
298299
@Nullable
299-
public WorkflowInstanceStatus waitForWorkflowCompletion(String instanceId, Duration timeout,
300+
public WorkflowState waitForWorkflowCompletion(String instanceId, Duration timeout,
300301
boolean getInputsAndOutputs) throws TimeoutException {
301302

302303
OrchestrationMetadata metadata = this.innerClient.waitForInstanceCompletion(instanceId, timeout,
303304
getInputsAndOutputs);
304-
return metadata == null ? null : new DefaultWorkflowInstanceStatus(metadata);
305+
return metadata == null ? null : new DefaultWorkflowState(metadata);
305306
}
306307

307308
/**
@@ -320,7 +321,9 @@ public void raiseEvent(String workflowInstanceId, String eventName, Object event
320321
*
321322
* @param workflowInstanceId The unique ID of the workflow instance to purge.
322323
* @return Return true if the workflow state was found and purged successfully otherwise false.
324+
* @deprecated Use {@link #purgeWorkflow(String)} instead.
323325
*/
326+
@Deprecated(forRemoval = true)
324327
public boolean purgeInstance(String workflowInstanceId) {
325328
PurgeResult result = this.innerClient.purgeInstance(workflowInstanceId);
326329

@@ -331,6 +334,22 @@ public boolean purgeInstance(String workflowInstanceId) {
331334
return false;
332335
}
333336

337+
/**
338+
* Purges workflow instance state from the workflow state store.
339+
*
340+
* @param workflowInstanceId The unique ID of the workflow instance to purge.
341+
* @return Return true if the workflow state was found and purged successfully otherwise false.
342+
*/
343+
public boolean purgeWorkflow(String workflowInstanceId) {
344+
PurgeResult result = this.innerClient.purgeInstance(workflowInstanceId);
345+
346+
if (result != null) {
347+
return result.getDeletedInstanceCount() > 0;
348+
}
349+
350+
return false;
351+
}
352+
334353
/**
335354
* Closes the inner DurableTask client and shutdown the GRPC channel.
336355
*/

sdk-workflows/src/main/java/io/dapr/workflows/client/WorkflowInstanceStatus.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
/**
2121
* Represents a snapshot of a workflow instance's current state, including
2222
* metadata.
23+
* @deprecated Use {@link WorkflowState} instead.
2324
*/
25+
@Deprecated(forRemoval = true)
2426
public interface WorkflowInstanceStatus {
2527

2628
/**

0 commit comments

Comments
 (0)