You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by co...@apache.org on 2010/02/26 21:24:03 UTC
svn commit: r916809 -
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Author: covener
Date: Fri Feb 26 20:24:03 2010
New Revision: 916809
URL: http://svn.apache.org/viewvc?rev=916809&view=rev
Log:
OWB-309: If we're checking an interceptors validity as a defined-in-bean or
defined-in-interceptor interceptor, and the signature looks like it comes from
the other type of interceptor signature, avoid adding it to the stack but
don't treat it as an error.
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=916809&r1=916808&r2=916809&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Fri Feb 26 20:24:03 2010
@@ -835,7 +835,10 @@
{
if (!invocationContext)
{
- throw new WebBeansConfigurationException("@" + commonAnnotation.getSimpleName() + " annotated method : " + method.getName() + " in class : " + clazz.getName() + " can not take any formal arguments");
+ /* We thought we were looking at an bean class that intercepts itself (no invocation context),
+ * but this is actually a definedInInterceptor Interceptor bound via @Interceptors.
+ */
+ return null;
}
// Check method criterias
Class<?>[] params = ClassUtil.getMethodParameterTypes(method);
@@ -846,7 +849,8 @@
}
else if(invocationContext)
{
- throw new WebBeansConfigurationException("@" + commonAnnotation.getSimpleName() + " annotated method : " + method.getName() + " in class : " + clazz.getName() + " must take a parameter with class type javax.interceptor.InvocationContext.");
+ // Maybe it just intercepts itself, but we were looking at it like an @Interceptor
+ return null;
}
if (!ClassUtil.getReturnType(method).equals(Void.TYPE))