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;
 				}