Skip to content

Commit 077bb09

Browse files
authored
change IWorkflowServiceV4 to have both future and blocking methods to simplify usage (#992)
What changed? added some missing but used methods add both blocking and future stubs in the interface Why? simplify usage. Handling ExecutionException in every usage is unnecessarily tedious How did you test it? NOT tested but will add unit test in later PR
1 parent adcc039 commit 077bb09

File tree

2 files changed

+804
-281
lines changed

2 files changed

+804
-281
lines changed

src/main/java/com/uber/cadence/serviceclient/IWorkflowServiceV4.java

+152-53
Original file line numberDiff line numberDiff line change
@@ -22,82 +22,181 @@
2222
import javax.annotation.Nullable;
2323

2424
public interface IWorkflowServiceV4 {
25-
CompletableFuture<StartWorkflowExecutionResponse> startWorkflowExecution(
26-
StartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
25+
Blocking blockingStub();
26+
Future futureStub();
27+
ClientOptions getOptions();
28+
CompletableFuture<Boolean> isHealthy();
2729

28-
CompletableFuture<StartWorkflowExecutionAsyncResponse> startWorkflowExecutionAsync(
29-
StartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
30+
interface Blocking {
31+
StartWorkflowExecutionResponse startWorkflowExecution(
32+
StartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
3033

31-
CompletableFuture<SignalWorkflowExecutionResponse> signalWorkflowExecution(
32-
SignalWorkflowExecutionRequest request, @Nullable CallMetaData meta);
34+
StartWorkflowExecutionAsyncResponse startWorkflowExecutionAsync(
35+
StartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
3336

34-
CompletableFuture<SignalWithStartWorkflowExecutionResponse> signalWithStartWorkflowExecution(
35-
SignalWithStartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
37+
SignalWorkflowExecutionResponse signalWorkflowExecution(
38+
SignalWorkflowExecutionRequest request, @Nullable CallMetaData meta);
3639

37-
CompletableFuture<SignalWithStartWorkflowExecutionAsyncResponse>
38-
signalWithStartWorkflowExecutionAsync(
39-
SignalWithStartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
40+
SignalWithStartWorkflowExecutionResponse signalWithStartWorkflowExecution(
41+
SignalWithStartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
4042

41-
CompletableFuture<GetWorkflowExecutionHistoryResponse> getWorkflowExecutionHistory(
42-
GetWorkflowExecutionHistoryRequest request, @Nullable CallMetaData meta);
43+
SignalWithStartWorkflowExecutionAsyncResponse signalWithStartWorkflowExecutionAsync(
44+
SignalWithStartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
4345

44-
CompletableFuture<QueryWorkflowResponse> queryWorkflow(
45-
QueryWorkflowRequest request, @Nullable CallMetaData meta);
46+
GetWorkflowExecutionHistoryResponse getWorkflowExecutionHistory(
47+
GetWorkflowExecutionHistoryRequest request, @Nullable CallMetaData meta);
4648

47-
CompletableFuture<RequestCancelWorkflowExecutionResponse> requestCancelWorkflowExecution(
48-
RequestCancelWorkflowExecutionRequest request, @Nullable CallMetaData meta);
49+
QueryWorkflowResponse queryWorkflow(QueryWorkflowRequest request, @Nullable CallMetaData meta);
4950

50-
CompletableFuture<TerminateWorkflowExecutionResponse> terminateWorkflowExecution(
51-
TerminateWorkflowExecutionRequest request, @Nullable CallMetaData meta);
51+
RequestCancelWorkflowExecutionResponse requestCancelWorkflowExecution(
52+
RequestCancelWorkflowExecutionRequest request, @Nullable CallMetaData meta);
5253

53-
CompletableFuture<RestartWorkflowExecutionResponse> restartWorkflowExecution(
54-
RestartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
54+
TerminateWorkflowExecutionResponse terminateWorkflowExecution(
55+
TerminateWorkflowExecutionRequest request, @Nullable CallMetaData meta);
5556

56-
CompletableFuture<ListWorkflowExecutionsResponse> listWorkflowExecutions(
57-
ListWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
57+
RestartWorkflowExecutionResponse restartWorkflowExecution(
58+
RestartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
5859

59-
CompletableFuture<ScanWorkflowExecutionsResponse> scanWorkflowExecutions(
60-
ScanWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
60+
ListWorkflowExecutionsResponse listWorkflowExecutions(
61+
ListWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
6162

62-
CompletableFuture<ListOpenWorkflowExecutionsResponse> listOpenWorkflowExecutions(
63-
ListOpenWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
63+
ListArchivedWorkflowExecutionsResponse listArchivedWorkflowExecutions(
64+
ListArchivedWorkflowExecutionsRequest listRequest, @Nullable CallMetaData meta);
6465

65-
CompletableFuture<ListClosedWorkflowExecutionsResponse> listClosedWorkflowExecutions(
66-
ListClosedWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
66+
ScanWorkflowExecutionsResponse scanWorkflowExecutions(
67+
ScanWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
6768

68-
CompletableFuture<CountWorkflowExecutionsResponse> countWorkflowExecutions(
69-
CountWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
69+
ListOpenWorkflowExecutionsResponse listOpenWorkflowExecutions(
70+
ListOpenWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
7071

71-
CompletableFuture<PollForActivityTaskResponse> pollForActivityTask(
72-
PollForActivityTaskRequest request, @Nullable CallMetaData meta);
72+
ListClosedWorkflowExecutionsResponse listClosedWorkflowExecutions(
73+
ListClosedWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
7374

74-
CompletableFuture<RecordActivityTaskHeartbeatResponse> recordActivityTaskHeartbeat(
75-
RecordActivityTaskHeartbeatRequest request, @Nullable CallMetaData meta);
75+
CountWorkflowExecutionsResponse countWorkflowExecutions(
76+
CountWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
7677

77-
CompletableFuture<RespondActivityTaskCanceledResponse> respondActivityTaskCanceled(
78-
RespondActivityTaskCanceledRequest request, @Nullable CallMetaData meta);
78+
PollForActivityTaskResponse pollForActivityTask(
79+
PollForActivityTaskRequest request, @Nullable CallMetaData meta);
7980

80-
CompletableFuture<RespondActivityTaskCanceledByIDResponse> respondActivityTaskCanceledByID(
81-
RespondActivityTaskCanceledByIDRequest request, @Nullable CallMetaData meta);
81+
RecordActivityTaskHeartbeatResponse recordActivityTaskHeartbeat(
82+
RecordActivityTaskHeartbeatRequest request, @Nullable CallMetaData meta);
8283

83-
CompletableFuture<RespondActivityTaskFailedResponse> respondActivityTaskFailed(
84-
RespondActivityTaskFailedRequest request, @Nullable CallMetaData meta);
84+
RespondActivityTaskCanceledResponse respondActivityTaskCanceled(
85+
RespondActivityTaskCanceledRequest request, @Nullable CallMetaData meta);
8586

86-
CompletableFuture<RespondActivityTaskFailedByIDResponse> respondActivityTaskFailedByID(
87-
RespondActivityTaskFailedByIDRequest request, @Nullable CallMetaData meta);
87+
RespondActivityTaskCanceledByIDResponse respondActivityTaskCanceledByID(
88+
RespondActivityTaskCanceledByIDRequest request, @Nullable CallMetaData meta);
8889

89-
CompletableFuture<RespondActivityTaskCompletedResponse> respondActivityTaskCompleted(
90-
RespondActivityTaskCompletedRequest request, @Nullable CallMetaData meta);
90+
RespondActivityTaskFailedResponse respondActivityTaskFailed(
91+
RespondActivityTaskFailedRequest request, @Nullable CallMetaData meta);
9192

92-
CompletableFuture<RespondActivityTaskCompletedByIDResponse> respondActivityTaskCompletedByID(
93-
RespondActivityTaskCompletedByIDRequest request, @Nullable CallMetaData meta);
93+
RespondActivityTaskFailedByIDResponse respondActivityTaskFailedByID(
94+
RespondActivityTaskFailedByIDRequest request, @Nullable CallMetaData meta);
9495

95-
CompletableFuture<PollForDecisionTaskResponse> pollForDecisionTask(
96-
PollForDecisionTaskRequest request, @Nullable CallMetaData meta);
96+
RespondActivityTaskCompletedResponse respondActivityTaskCompleted(
97+
RespondActivityTaskCompletedRequest request, @Nullable CallMetaData meta);
9798

98-
CompletableFuture<RespondDecisionTaskFailedResponse> respondDecisionTaskFailed(
99-
RespondDecisionTaskFailedRequest request, @Nullable CallMetaData meta);
99+
RespondActivityTaskCompletedByIDResponse respondActivityTaskCompletedByID(
100+
RespondActivityTaskCompletedByIDRequest request, @Nullable CallMetaData meta);
100101

101-
CompletableFuture<RespondDecisionTaskCompletedResponse> respondDecisionTaskCompleted(
102-
RespondDecisionTaskCompletedRequest request, @Nullable CallMetaData meta);
102+
PollForDecisionTaskResponse pollForDecisionTask(
103+
PollForDecisionTaskRequest request, @Nullable CallMetaData meta);
104+
105+
RespondDecisionTaskFailedResponse respondDecisionTaskFailed(
106+
RespondDecisionTaskFailedRequest request, @Nullable CallMetaData meta);
107+
108+
RespondDecisionTaskCompletedResponse respondDecisionTaskCompleted(
109+
RespondDecisionTaskCompletedRequest request, @Nullable CallMetaData meta);
110+
111+
RefreshWorkflowTasksResponse refreshWorkflowTasks(
112+
RefreshWorkflowTasksRequest request, @Nullable CallMetaData meta);
113+
}
114+
115+
interface Future {
116+
117+
CompletableFuture<StartWorkflowExecutionResponse> startWorkflowExecution(
118+
StartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
119+
120+
CompletableFuture<StartWorkflowExecutionAsyncResponse> startWorkflowExecutionAsync(
121+
StartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
122+
123+
CompletableFuture<SignalWorkflowExecutionResponse> signalWorkflowExecution(
124+
SignalWorkflowExecutionRequest request, @Nullable CallMetaData meta);
125+
126+
CompletableFuture<SignalWithStartWorkflowExecutionResponse> signalWithStartWorkflowExecution(
127+
SignalWithStartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
128+
129+
CompletableFuture<SignalWithStartWorkflowExecutionAsyncResponse>
130+
signalWithStartWorkflowExecutionAsync(
131+
SignalWithStartWorkflowExecutionAsyncRequest request, @Nullable CallMetaData meta);
132+
133+
CompletableFuture<GetWorkflowExecutionHistoryResponse> getWorkflowExecutionHistory(
134+
GetWorkflowExecutionHistoryRequest request, @Nullable CallMetaData meta);
135+
136+
CompletableFuture<QueryWorkflowResponse> queryWorkflow(
137+
QueryWorkflowRequest request, @Nullable CallMetaData meta);
138+
139+
CompletableFuture<RequestCancelWorkflowExecutionResponse> requestCancelWorkflowExecution(
140+
RequestCancelWorkflowExecutionRequest request, @Nullable CallMetaData meta);
141+
142+
CompletableFuture<TerminateWorkflowExecutionResponse> terminateWorkflowExecution(
143+
TerminateWorkflowExecutionRequest request, @Nullable CallMetaData meta);
144+
145+
CompletableFuture<RestartWorkflowExecutionResponse> restartWorkflowExecution(
146+
RestartWorkflowExecutionRequest request, @Nullable CallMetaData meta);
147+
148+
CompletableFuture<ListWorkflowExecutionsResponse> listWorkflowExecutions(
149+
ListWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
150+
151+
CompletableFuture<ScanWorkflowExecutionsResponse> scanWorkflowExecutions(
152+
ScanWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
153+
154+
CompletableFuture<ListOpenWorkflowExecutionsResponse> listOpenWorkflowExecutions(
155+
ListOpenWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
156+
157+
CompletableFuture<ListClosedWorkflowExecutionsResponse> listClosedWorkflowExecutions(
158+
ListClosedWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
159+
160+
CompletableFuture<ListArchivedWorkflowExecutionsResponse> listArchivedWorkflowExecutions(
161+
ListArchivedWorkflowExecutionsRequest listRequest, @Nullable CallMetaData meta);
162+
163+
CompletableFuture<CountWorkflowExecutionsResponse> countWorkflowExecutions(
164+
CountWorkflowExecutionsRequest request, @Nullable CallMetaData meta);
165+
166+
CompletableFuture<PollForActivityTaskResponse> pollForActivityTask(
167+
PollForActivityTaskRequest request, @Nullable CallMetaData meta);
168+
169+
CompletableFuture<RecordActivityTaskHeartbeatResponse> recordActivityTaskHeartbeat(
170+
RecordActivityTaskHeartbeatRequest request, @Nullable CallMetaData meta);
171+
172+
CompletableFuture<RespondActivityTaskCanceledResponse> respondActivityTaskCanceled(
173+
RespondActivityTaskCanceledRequest request, @Nullable CallMetaData meta);
174+
175+
CompletableFuture<RespondActivityTaskCanceledByIDResponse> respondActivityTaskCanceledByID(
176+
RespondActivityTaskCanceledByIDRequest request, @Nullable CallMetaData meta);
177+
178+
CompletableFuture<RespondActivityTaskFailedResponse> respondActivityTaskFailed(
179+
RespondActivityTaskFailedRequest request, @Nullable CallMetaData meta);
180+
181+
CompletableFuture<RespondActivityTaskFailedByIDResponse> respondActivityTaskFailedByID(
182+
RespondActivityTaskFailedByIDRequest request, @Nullable CallMetaData meta);
183+
184+
CompletableFuture<RespondActivityTaskCompletedResponse> respondActivityTaskCompleted(
185+
RespondActivityTaskCompletedRequest request, @Nullable CallMetaData meta);
186+
187+
CompletableFuture<RespondActivityTaskCompletedByIDResponse> respondActivityTaskCompletedByID(
188+
RespondActivityTaskCompletedByIDRequest request, @Nullable CallMetaData meta);
189+
190+
CompletableFuture<PollForDecisionTaskResponse> pollForDecisionTask(
191+
PollForDecisionTaskRequest request, @Nullable CallMetaData meta);
192+
193+
CompletableFuture<RespondDecisionTaskFailedResponse> respondDecisionTaskFailed(
194+
RespondDecisionTaskFailedRequest request, @Nullable CallMetaData meta);
195+
196+
CompletableFuture<RespondDecisionTaskCompletedResponse> respondDecisionTaskCompleted(
197+
RespondDecisionTaskCompletedRequest request, @Nullable CallMetaData meta);
198+
199+
CompletableFuture<RefreshWorkflowTasksResponse> refreshWorkflowTasks(
200+
RefreshWorkflowTasksRequest request, @Nullable CallMetaData meta);
201+
}
103202
}

0 commit comments

Comments
 (0)