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