You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by am...@apache.org on 2008/07/02 19:14:02 UTC

svn commit: r673444 - /activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java

Author: ammulder
Date: Wed Jul  2 10:14:01 2008
New Revision: 673444

URL: http://svn.apache.org/viewvc?rev=673444&view=rev
Log:
Special handling for JRuby exceptions to display the actual error message

Modified:
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java

Modified: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java?rev=673444&r1=673443&r2=673444&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java (original)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/ScriptBuilder.java Wed Jul  2 10:14:01 2008
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.URL;
+import java.lang.reflect.InvocationTargetException;
 
 import javax.script.Compilable;
 import javax.script.CompiledScript;
@@ -526,6 +527,12 @@
     }
 
     protected ScriptEvaluationException createScriptEvaluationException(Throwable e) {
+        if(e.getClass().getName().equals("org.jruby.exceptions.RaiseException")) { // Only the nested exception has the specific problem
+            try {
+                Object ex = e.getClass().getMethod("getException").invoke(e);
+                return new ScriptEvaluationException("Failed to evaluate: " + getScriptDescription() + ".  Error: "+ex+". Cause: "+e, e);
+            } catch (Exception e1) {}
+        }
         return new ScriptEvaluationException("Failed to evaluate: " + getScriptDescription() + ". Cause: " + e, e);
     }