@@ -187,15 +187,29 @@ private StartWorkflowExecutionResponse startWorkflowExecution(
187
187
.startWorkflowExecution (RequestMapper .startWorkflowExecutionRequest (startRequest ));
188
188
return ResponseMapper .startWorkflowExecutionResponse (response );
189
189
} catch (StatusRuntimeException e ) {
190
- // TODO handle all errors depending on status
191
- switch (e .getStatus ().getCode ()) {
192
- case ALREADY_EXISTS :
190
+ convertAndThrowStatusException (e );
191
+ throw e ;
192
+ }
193
+ }
194
+
195
+ private void convertAndThrowStatusException (StatusRuntimeException e )
196
+ throws BadRequestError , WorkflowExecutionAlreadyStartedError , ServiceBusyError ,
197
+ DomainNotActiveError , LimitExceededError , EntityNotExistsError ,
198
+ ClientVersionNotSupportedError {
199
+ // TODO handle all errors depending on status
200
+ switch (e .getStatus ().getCode ()) {
201
+ case ALREADY_EXISTS :
202
+ {
193
203
WorkflowExecutionAlreadyStartedError ex = new WorkflowExecutionAlreadyStartedError ();
194
204
ex .setMessage (e .getMessage ());
195
205
throw ex ;
196
- default :
197
- throw e ;
198
- }
206
+ }
207
+ case NOT_FOUND :
208
+ {
209
+ throw new EntityNotExistsError (e .getMessage ());
210
+ }
211
+ default :
212
+ throw e ;
199
213
}
200
214
}
201
215
@@ -216,11 +230,16 @@ public GetWorkflowExecutionHistoryResponse GetWorkflowExecutionHistory(
216
230
public PollForDecisionTaskResponse PollForDecisionTask (PollForDecisionTaskRequest pollRequest )
217
231
throws BadRequestError , ServiceBusyError , LimitExceededError , EntityNotExistsError ,
218
232
DomainNotActiveError , ClientVersionNotSupportedError , TException {
219
- com .uber .cadence .api .v1 .PollForDecisionTaskResponse response =
220
- grpcServiceStubs
221
- .workerBlockingStub ()
222
- .pollForDecisionTask (RequestMapper .pollForDecisionTaskRequest (pollRequest ));
223
- return ResponseMapper .pollForDecisionTaskResponse (response );
233
+ try {
234
+ com .uber .cadence .api .v1 .PollForDecisionTaskResponse response =
235
+ grpcServiceStubs
236
+ .workerBlockingStub ()
237
+ .pollForDecisionTask (RequestMapper .pollForDecisionTaskRequest (pollRequest ));
238
+ return ResponseMapper .pollForDecisionTaskResponse (response );
239
+ } catch (StatusRuntimeException e ) {
240
+ convertAndThrowStatusException (e );
241
+ throw e ;
242
+ }
224
243
}
225
244
226
245
@ Override
@@ -229,12 +248,17 @@ public RespondDecisionTaskCompletedResponse RespondDecisionTaskCompleted(
229
248
throws BadRequestError , EntityNotExistsError , DomainNotActiveError , LimitExceededError ,
230
249
ServiceBusyError , ClientVersionNotSupportedError , WorkflowExecutionAlreadyCompletedError ,
231
250
TException {
232
- com .uber .cadence .api .v1 .RespondDecisionTaskCompletedResponse response =
233
- grpcServiceStubs
234
- .workerBlockingStub ()
235
- .respondDecisionTaskCompleted (
236
- RequestMapper .respondDecisionTaskCompletedRequest (completeRequest ));
237
- return ResponseMapper .respondDecisionTaskCompletedResponse (response );
251
+ try {
252
+ com .uber .cadence .api .v1 .RespondDecisionTaskCompletedResponse response =
253
+ grpcServiceStubs
254
+ .workerBlockingStub ()
255
+ .respondDecisionTaskCompleted (
256
+ RequestMapper .respondDecisionTaskCompletedRequest (completeRequest ));
257
+ return ResponseMapper .respondDecisionTaskCompletedResponse (response );
258
+ } catch (StatusRuntimeException e ) {
259
+ convertAndThrowStatusException (e );
260
+ throw e ;
261
+ }
238
262
}
239
263
240
264
@ Override
@@ -359,10 +383,15 @@ public void RequestCancelWorkflowExecution(RequestCancelWorkflowExecutionRequest
359
383
ServiceBusyError , DomainNotActiveError , LimitExceededError ,
360
384
ClientVersionNotSupportedError , WorkflowExecutionAlreadyCompletedError , TException {
361
385
cancelRequest .setRequestId (UUID .randomUUID ().toString ());
362
- grpcServiceStubs
363
- .workflowBlockingStub ()
364
- .requestCancelWorkflowExecution (
365
- RequestMapper .requestCancelWorkflowExecutionRequest (cancelRequest ));
386
+ try {
387
+ grpcServiceStubs
388
+ .workflowBlockingStub ()
389
+ .requestCancelWorkflowExecution (
390
+ RequestMapper .requestCancelWorkflowExecutionRequest (cancelRequest ));
391
+ } catch (StatusRuntimeException e ) {
392
+ convertAndThrowStatusException (e );
393
+ throw e ;
394
+ }
366
395
}
367
396
368
397
@ Override
@@ -371,9 +400,14 @@ public void SignalWorkflowExecution(SignalWorkflowExecutionRequest signalRequest
371
400
LimitExceededError , ClientVersionNotSupportedError ,
372
401
WorkflowExecutionAlreadyCompletedError , TException {
373
402
signalRequest .setRequestId (UUID .randomUUID ().toString ());
374
- grpcServiceStubs
375
- .workflowBlockingStub ()
376
- .signalWorkflowExecution (RequestMapper .signalWorkflowExecutionRequest (signalRequest ));
403
+ try {
404
+ grpcServiceStubs
405
+ .workflowBlockingStub ()
406
+ .signalWorkflowExecution (RequestMapper .signalWorkflowExecutionRequest (signalRequest ));
407
+ } catch (StatusRuntimeException e ) {
408
+ convertAndThrowStatusException (e );
409
+ throw e ;
410
+ }
377
411
}
378
412
379
413
@ Override
0 commit comments