@@ -41,43 +41,47 @@ public static TException Error(StatusRuntimeException ex) {
41
41
return new AccessDeniedError (ex .getMessage ());
42
42
case INTERNAL :
43
43
return new InternalServiceError (ex .getMessage ());
44
- case NOT_FOUND : {
45
- switch (details ) {
46
- case "EntityNotExistsError" :
44
+ case NOT_FOUND :
45
+ {
46
+ if ("EntityNotExistsError" .equals (details )
47
+ && ex .getMessage ().contains ("already completed." )) {
48
+ return new WorkflowExecutionAlreadyCompletedError (ex .getMessage ());
49
+ } else {
47
50
// TODO add cluster info
48
51
return new EntityNotExistsError (ex .getMessage ());
49
- case "WorkflowExecutionAlreadyCompletedError" :
50
- return new WorkflowExecutionAlreadyCompletedError (ex .getMessage ());
52
+ }
51
53
}
52
- }
53
- case ALREADY_EXISTS : {
54
- switch (details ) {
55
- case "CancellationAlreadyRequestedError" :
56
- return new CancellationAlreadyRequestedError (ex .getMessage ());
57
- case "DomainAlreadyExistsError" :
58
- return new DomainAlreadyExistsError (ex .getMessage ());
59
- case "WorkflowExecutionAlreadyStartedError" : {
60
- // TODO add started wf info
61
- WorkflowExecutionAlreadyStartedError e = new WorkflowExecutionAlreadyStartedError ();
62
- e .setMessage (ex .getMessage ());
63
- return e ;
54
+ case ALREADY_EXISTS :
55
+ {
56
+ switch (details ) {
57
+ case "CancellationAlreadyRequestedError" :
58
+ return new CancellationAlreadyRequestedError (ex .getMessage ());
59
+ case "DomainAlreadyExistsError" :
60
+ return new DomainAlreadyExistsError (ex .getMessage ());
61
+ case "WorkflowExecutionAlreadyStartedError" :
62
+ {
63
+ // TODO add started wf info
64
+ WorkflowExecutionAlreadyStartedError e = new WorkflowExecutionAlreadyStartedError ();
65
+ e .setMessage (ex .getMessage ());
66
+ return e ;
67
+ }
64
68
}
65
69
}
66
- }
67
70
case DATA_LOSS :
68
71
return new InternalDataInconsistencyError (ex .getMessage ());
69
72
case FAILED_PRECONDITION :
70
73
switch (details ) {
71
- // TODO add infos
74
+ // TODO add infos
72
75
case "ClientVersionNotSupportedError" :
73
76
return new ClientVersionNotSupportedError ();
74
77
case "FeatureNotEnabledError" :
75
78
return new FeatureNotEnabledError ();
76
- case "DomainNotActiveError" : {
77
- DomainNotActiveError e = new DomainNotActiveError ();
78
- e .setMessage (ex .getMessage ());
79
- return e ;
80
- }
79
+ case "DomainNotActiveError" :
80
+ {
81
+ DomainNotActiveError e = new DomainNotActiveError ();
82
+ e .setMessage (ex .getMessage ());
83
+ return e ;
84
+ }
81
85
}
82
86
case RESOURCE_EXHAUSTED :
83
87
switch (details ) {
0 commit comments