You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2009/05/29 15:34:25 UTC
svn commit: r779967 - in
/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae:
./ controller/ error/handler/ handler/input/
Author: cwiklik
Date: Fri May 29 13:34:24 2009
New Revision: 779967
URL: http://svn.apache.org/viewvc?rev=779967&view=rev
Log:
UIMA-1358 Modified to add parent cas id to the outgoing message containing an exception
Modified:
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/OutputChannel.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/CpcErrorHandler.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultDelegateErrorHandler.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultHandler.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/ProcessCasErrorHandler.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/handler/input/ProcessRequestHandler_impl.java
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/OutputChannel.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/OutputChannel.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/OutputChannel.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/OutputChannel.java Fri May 29 13:34:24 2009
@@ -52,7 +52,7 @@
// public void sendReply( AnalysisEngineMetaData anAnalysisEngineMetadata, Endpoint anEndpoint, boolean serialize ) throws AsynchAEException;
public void sendReply( ProcessingResourceMetaData aProcessingResourceMetadata, Endpoint anEndpoint, boolean serialize ) throws AsynchAEException;
- public void sendReply(Throwable t, String aCasReferenceId, Endpoint anEndpoint, int aCommand) throws AsynchAEException;
+ public void sendReply(Throwable t, String aCasReferenceId, String aParentCasReferenceId, Endpoint anEndpoint, int aCommand) throws AsynchAEException;
public void bindWithClientEndpoint( Endpoint anEndpoint ) throws Exception;
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AggregateAnalysisEngineController_impl.java Fri May 29 13:34:24 2009
@@ -2090,7 +2090,6 @@
if (key != null) {
endpoint = (Endpoint_impl) destinationMap.get(key);
}
-
if (endpoint == null)
{
// Log invalid reply and move on
@@ -2413,11 +2412,12 @@
for( int i=0; cachedEntries != null && i < cachedEntries.length; i++ )
{
String casReferenceId = cachedEntries[i].getCasReferenceId();
+ String parentCasReferenceId = cachedEntries[i].getInputCasReferenceId();
getInProcessCache().getEndpoint(anEndpoint, casReferenceId).cancelTimer();
Endpoint requestOrigin = cachedEntries[i].getMessageOrigin();
try
{
- getOutputChannel().sendReply(new UimaEEServiceException("Delegates Not Found To Process CAS on Endpoint:"+anEndpoint), casReferenceId, requestOrigin, AsynchAEMessage.Process);
+ getOutputChannel().sendReply(new UimaEEServiceException("Delegates Not Found To Process CAS on Endpoint:"+anEndpoint), casReferenceId,parentCasReferenceId, requestOrigin, AsynchAEMessage.Process);
}
catch( Exception e)
{
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/BaseAnalysisEngineController.java Fri May 29 13:34:24 2009
@@ -1820,7 +1820,7 @@
{
try
{
- getOutputChannel().sendReply( new ServiceShutdownException(), null, clientEndpoint, clientEndpoint.getCommand());
+ getOutputChannel().sendReply( new ServiceShutdownException(), null, null, clientEndpoint, clientEndpoint.getCommand());
}
catch( Exception e)
{
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/CpcErrorHandler.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/CpcErrorHandler.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/CpcErrorHandler.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/CpcErrorHandler.java Fri May 29 13:34:24 2009
@@ -81,7 +81,7 @@
{
endpoint = ((AggregateAnalysisEngineController)aController).getClientEndpoint();
}
- aController.getOutputChannel().sendReply(t, null, endpoint, AsynchAEMessage.CollectionProcessComplete);
+ aController.getOutputChannel().sendReply(t, null, null, endpoint, AsynchAEMessage.CollectionProcessComplete);
}
catch( Exception e)
{
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultDelegateErrorHandler.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultDelegateErrorHandler.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultDelegateErrorHandler.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultDelegateErrorHandler.java Fri May 29 13:34:24 2009
@@ -48,10 +48,11 @@
{
Endpoint endpoint = (Endpoint)anErrorContext.get(AsynchAEMessage.Endpoint);
String casReferenceId = (String)anErrorContext.get(AsynchAEMessage.CasReference);
+ String parentCasReferenceId = (String)anErrorContext.get(AsynchAEMessage.InputCasReference);
try
{
- aController.getOutputChannel().sendReply(t, casReferenceId, endpoint, AsynchAEMessage.Process );
+ aController.getOutputChannel().sendReply(t, casReferenceId, parentCasReferenceId, endpoint, AsynchAEMessage.Process );
}
catch( Throwable e)
{
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultHandler.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultHandler.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultHandler.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/DefaultHandler.java Fri May 29 13:34:24 2009
@@ -79,12 +79,13 @@
UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE, "UIMAEE_exception__WARNING", t);
}
endpoint = getDestination(aController, anErrorContext);
- casReferenceId = (String)anErrorContext.get( AsynchAEMessage.CasReference);
+ casReferenceId = (String)anErrorContext.get( AsynchAEMessage.CasReference);
+ String parentCasReferenceId = (String)anErrorContext.get( AsynchAEMessage.InputCasReference);
// Notify the parent of the exception
if ( endpoint != null && !endpoint.isCasMultiplier())
{
- aController.getOutputChannel().sendReply(t, casReferenceId, endpoint, AsynchAEMessage.Process);
+ aController.getOutputChannel().sendReply(t, casReferenceId, parentCasReferenceId, endpoint, AsynchAEMessage.Process);
// Lookup Delegate's key
key = super.getDelegateKey(endpoint, aController);
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/ProcessCasErrorHandler.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/ProcessCasErrorHandler.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/ProcessCasErrorHandler.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/error/handler/ProcessCasErrorHandler.java Fri May 29 13:34:24 2009
@@ -143,7 +143,15 @@
}
else
{
- aController.getOutputChannel().sendReply(t, aCasReferenceId, anEndpoint, AsynchAEMessage.Process);
+ CasStateEntry stateEntry = null;
+ String parentCasReferenceId = null;
+ try {
+ stateEntry = aController.getLocalCache().lookupEntry(aCasReferenceId);
+ if ( stateEntry != null && stateEntry.isSubordinate()) {
+ parentCasReferenceId = stateEntry.getInputCasReferenceId();
+ }
+ } catch ( Exception e){}
+ aController.getOutputChannel().sendReply(t, aCasReferenceId, parentCasReferenceId, anEndpoint, AsynchAEMessage.Process);
}
}
catch( Exception e)
@@ -626,7 +634,9 @@
private boolean deliverExceptionToClient( Throwable t) {
// Dont send TimeOutExceptions to client
if ( t instanceof MessageTimeoutException ||
- (t instanceof UimaEEServiceException && t.getCause() != null && t.getCause() instanceof MessageTimeoutException) ) {
+ t instanceof UimaEEServiceException &&
+ t.getCause() != null &&
+ t.getCause() instanceof MessageTimeoutException) {
return false;
}
return true;
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/handler/input/ProcessRequestHandler_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/handler/input/ProcessRequestHandler_impl.java?rev=779967&r1=779966&r2=779967&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/handler/input/ProcessRequestHandler_impl.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/handler/input/ProcessRequestHandler_impl.java Fri May 29 13:34:24 2009
@@ -78,9 +78,18 @@
"handleProcessRequestWithXMI", UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE, "UIMAEE_message_has_no_cargo__INFO",
new Object[] { aMessageContext.getEndpoint().getEndpoint() });
}
+ CasStateEntry stateEntry = null;
+ String parentCasReferenceId = null;
+ try {
+ stateEntry = getController().getLocalCache().lookupEntry(casReferenceId);
+ if ( stateEntry != null && stateEntry.isSubordinate()) {
+ parentCasReferenceId = stateEntry.getInputCasReferenceId();
+ }
+ } catch ( Exception e){}
+
getController().
getOutputChannel().
- sendReply(new InvalidMessageException("No XMI data in message"), casReferenceId, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
+ sendReply(new InvalidMessageException("No XMI data in message"), casReferenceId,parentCasReferenceId, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
// Dont process this empty message
return false;
}
@@ -296,7 +305,7 @@
}
getController().
getOutputChannel().
- sendReply(new InvalidMessageException("No Cas Reference Id Received From Delegate In message"), null, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
+ sendReply(new InvalidMessageException("No Cas Reference Id Received From Delegate In message"), null,null, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
return null;
}
return aMessageContext.getMessageStringProperty(AsynchAEMessage.CasReference);
@@ -734,7 +743,7 @@
}
getController().
getOutputChannel().
- sendReply(new InvalidMessageException("No XMI data in message"), casReferenceId, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
+ sendReply(new InvalidMessageException("No XMI data in message"), casReferenceId,null, aMessageContext.getEndpoint(),AsynchAEMessage.Process);
// Dont process this empty message
return;
}