@@ -41,43 +41,47 @@ public static TException Error(StatusRuntimeException ex) {
4141 return new AccessDeniedError (ex .getMessage ());
4242 case INTERNAL :
4343 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 {
4750 // TODO add cluster info
4851 return new EntityNotExistsError (ex .getMessage ());
49- case "WorkflowExecutionAlreadyCompletedError" :
50- return new WorkflowExecutionAlreadyCompletedError (ex .getMessage ());
52+ }
5153 }
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+ }
6468 }
6569 }
66- }
6770 case DATA_LOSS :
6871 return new InternalDataInconsistencyError (ex .getMessage ());
6972 case FAILED_PRECONDITION :
7073 switch (details ) {
71- // TODO add infos
74+ // TODO add infos
7275 case "ClientVersionNotSupportedError" :
7376 return new ClientVersionNotSupportedError ();
7477 case "FeatureNotEnabledError" :
7578 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+ }
8185 }
8286 case RESOURCE_EXHAUSTED :
8387 switch (details ) {
0 commit comments