UIMA-5784 include cause of failure when sending an exception back to client
diff --git a/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/ControllerDelegate.java b/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/ControllerDelegate.java
index e86433f..b91bc23 100644
--- a/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/ControllerDelegate.java
+++ b/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/ControllerDelegate.java
@@ -58,7 +58,7 @@
}
public void handleError(Exception e, ErrorContext errorContext) {
if (controller != null && controller.getErrorHandlerChain() != null) {
- // Handle Timeout
+ // Handle Timeout
controller.getErrorHandlerChain().handle(e, errorContext, controller);
}
}
diff --git a/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/Delegate.java b/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/Delegate.java
index 3616638..ec99dac 100644
--- a/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/Delegate.java
+++ b/uimaj-as-core/src/main/java/org/apache/uima/aae/delegate/Delegate.java
@@ -834,7 +834,13 @@
delegate.setState(TIMEOUT_STATE);
ErrorContext errorContext = new ErrorContext();
errorContext.add(AsynchAEMessage.Command, aCommand);
- String enrichedMessage = enrichProcessCASTimeoutMessage(aCommand, aCasReferenceId,timeToWait,"Delegate Service:"+delegateKey+" Has Timed Out While Processing CAS:"+aCasReferenceId );
+ String msg = "";
+ if ( aCommand == AsynchAEMessage.GetMeta ) {
+ msg = "Delegate Service:"+delegateKey+" GetMeta Request Has Timed Out";
+ } else {
+ msg = "Delegate Service:"+delegateKey+" Has Timed Out While Processing CAS:"+aCasReferenceId;
+ }
+ String enrichedMessage = enrichProcessCASTimeoutMessage(aCommand, aCasReferenceId,timeToWait, msg);
Exception cause = new MessageTimeoutException(enrichedMessage);
if ( aCasReferenceId != null ) { // true on GetMeta Ping timeout
errorContext.add(AsynchAEMessage.CasReference, aCasReferenceId);