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 2011/09/22 22:30:16 UTC

svn commit: r1174375 - in /uima/uima-as/trunk/uimaj-as-activemq/src: main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java test/java/org/apache/uima/ee/test/TestUimaASExtended.java

Author: cwiklik
Date: Thu Sep 22 20:30:15 2011
New Revision: 1174375

URL: http://svn.apache.org/viewvc?rev=1174375&view=rev
Log:
UIMA-2200 Modified SpringDeployer to save exception when AE initialization fails. Added new testcase. 

Modified:
    uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java
    uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java

Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java?rev=1174375&r1=1174374&r2=1174375&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/SpringContainerDeployer.java Thu Sep 22 20:30:15 2011
@@ -70,6 +70,8 @@ public class SpringContainerDeployer imp
 
   private AnalysisEngineController topLevelController = null;
 
+  private Exception cause=null;
+  
   public SpringContainerDeployer() {
   }
 
@@ -507,12 +509,16 @@ public class SpringContainerDeployer imp
       serviceInitializationSemaphore.release();
     }
     if (serviceInitializationException) {
-      throw new ResourceInitializationException(new Exception("Details of failure(s) written to UIMA log"));
+    	if ( cause != null ) {
+  	      throw new ResourceInitializationException(cause);
+    	} else {
+    	  throw new ResourceInitializationException(new Exception("Details of failure(s) written to UIMA log"));
+    	}
     }
   }
 
   public void notifyOnInitializationFailure(AnalysisEngineController aController, Exception e) {
-
+	  cause = e;
     // Initialization exception. Notify blocking thread and indicate a
     // problem
     serviceInitializationException = true;

Modified: uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java?rev=1174375&r1=1174374&r2=1174375&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/test/java/org/apache/uima/ee/test/TestUimaASExtended.java Thu Sep 22 20:30:15 2011
@@ -22,6 +22,7 @@ package org.apache.uima.ee.test;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
@@ -2536,6 +2537,29 @@ public class TestUimaASExtended extends 
       eeUimaEngine.stop();
     }
   }
+  public void testCauseOfInitializationFailure() throws Exception {
+	    System.out.println("-------------- testCauseOfInitializationFailure -------------");
+	    BaseUIMAAsynchronousEngine_impl eeUimaEngine = new BaseUIMAAsynchronousEngine_impl();
+	    try {
+	      deployService(eeUimaEngine, relativePath + "/Deploy_NoOpAnnotatorWithInitException.xml");
+	      Map<String, Object> appCtx = buildContext(String.valueOf(broker.getMasterConnectorURI()),
+	              "NoOpAnnotatorQueue");
+	      exceptionCountLatch = new CountDownLatch(1);
+	      initialize(eeUimaEngine, appCtx);
+	      fail("Expected ResourceInitializationException. Instead, the Aggregate Reports Successfull Initialization");
+	    } catch (ResourceInitializationException e) {
+	      Exception cause = getCause(e);
+	      if ( cause != null && (cause instanceof FileNotFoundException) ) {
+		      System.out.println("Expected FileNotFoundException was received");
+	      } else {
+		      fail("Expected FileNotFoundException NOT received as a cause of failure. Instead Got:" + cause);
+	      }
+	    } catch (Exception e) {
+	      fail("Expected ResourceInitializationException. Instead Got:" + e.getClass());
+	    } finally {
+	      eeUimaEngine.stop();
+	    }
+	  }
 
   public void testTerminateOnInitializationFailure() throws Exception {
     System.out.println("-------------- testTerminateOnInitializationFailure -------------");