Author: bergmark
Date: Wed Apr 6 20:57:35 2011
New Revision: 1089622
URL: http://svn.apache.org/viewvc?rev=1089622&view=rev
Log:
[OWB-554] Allow bean thrown exceptions to propagate up the call stack from
DelegateHandler
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DelegateHandler.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DelegateHandler.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DelegateHandler.java?rev=1089622&r1=1089621&r2=1089622&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DelegateHandler.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DelegateHandler.java
Wed Apr 6 20:57:35 2011
@@ -113,15 +113,27 @@ public class DelegateHandler implements
}
catch (InvocationTargetException e)
{
+ Throwable cause = e.getCause();
//If the wrapped exception tells us the method didn't exist,
continue
- if(e.getCause() instanceof NoSuchMethodException)
+ if(cause instanceof NoSuchMethodException)
{
continue;
}
logger.error(OWBLogConst.ERROR_0012, e.getTargetException(),
method.getName(), decorator.getClass().getName());
- throw new WebBeansException(e);
+ if (cause instanceof Exception)
+ {
+ throw (Exception) cause;
+ }
+ else if (cause instanceof Error)
+ {
+ throw (Error) cause;
+ }
+ else
+ {
+ throw new WebBeansException(e);
+ }
}
catch (IllegalAccessException e)
{