Author: struberg
Date: Mon Jan 7 22:01:21 2013
New Revision: 1430045
URL: http://svn.apache.org/viewvc?rev=1430045&view=rev
Log:
OWB-344 more Interceptor work
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolution.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolution.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolution.java?rev=1430045&r1=1430044&r2=1430045&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolution.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolution.java
Mon Jan 7 22:01:21 2013
@@ -27,6 +27,7 @@ import javax.enterprise.inject.spi.BeanM
import javax.enterprise.inject.spi.Decorator;
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.Interceptor;
+import javax.interceptor.Interceptors;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -97,7 +98,8 @@ public class InterceptorResolution
// pick up CDI interceptors from a class level
Set<Annotation> classInterceptorBindings =
annotationManager.getInterceptorAnnotations(annotatedType.getAnnotations());
- //X TODO pick up EJB-style interceptors from a class level
+ //X pick up EJB-style interceptors from a class level
+ Interceptors interceptorsAnnot =
annotatedType.getAnnotation(Interceptors.class);
// pick up the decorators
List<Decorator<?>> decorators =
beanManager.resolveDecorators(bean.getTypes(),
AnnotationUtil.asArray(bean.getQualifiers()));
@@ -107,6 +109,7 @@ public class InterceptorResolution
}
Set<Interceptor<?>> allUsedCdiInterceptors = new
HashSet<Interceptor<?>>();
+ Set<Interceptor<?>> allUsedEjbInterceptors = new
HashSet<Interceptor<?>>();
Map<Method, MethodInterceptorInfo> businessMethodInterceptorInfos =
new HashMap<Method, MethodInterceptorInfo>();
@@ -116,6 +119,8 @@ public class InterceptorResolution
InterceptionType interceptionType =
calculateInterceptionType(annotatedMethod);
MethodInterceptorInfo methodInterceptorInfo = new
MethodInterceptorInfo(interceptionType);
+ calculateEjbMethodInterceptors(methodInterceptorInfo,
allUsedEjbInterceptors, interceptorsAnnot);
+
calculateCdiMethodInterceptors(methodInterceptorInfo,
allUsedCdiInterceptors, annotatedMethod, classInterceptorBindings);
calculateCdiMethodDecorators(methodInterceptorInfo, decorators,
annotatedMethod);
@@ -134,6 +139,17 @@ public class InterceptorResolution
return new BeanInterceptorInfo(decorators, allUsedCdiInterceptors,
businessMethodInterceptorInfos);
}
+ private void calculateEjbMethodInterceptors(MethodInterceptorInfo
methodInterceptorInfo, Set<Interceptor<?>> allUsedEjbInterceptors, Interceptors
interceptorsAnnot)
+ {
+ if (interceptorsAnnot == null)
+ {
+ return;
+ }
+
+ Class<?>[] ejbInterceptorClasses = interceptorsAnnot.value();
+
+ }
+
private void calculateCdiMethodDecorators(MethodInterceptorInfo
methodInterceptorInfo, List<Decorator<?>> decorators, AnnotatedMethod
annotatedMethod)
{
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.java?rev=1430045&r1=1430044&r2=1430045&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/ejb/EJBInterceptorConfig.java
Mon Jan 7 22:01:21 2013
@@ -81,7 +81,7 @@ public final class EJBInterceptorConfig
/**
* Configure {@link Interceptors} on bean class.
- * @param clazz bean class
+ * @param annotatedType
* @param stack interceptor stack of bean
* @param isMethod if interceptor definition is on the bean
* @param m if isMethod true, then it is intercepted method
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=1430045&r1=1430044&r2=1430045&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
Mon Jan 7 22:01:21 2013
@@ -228,8 +228,6 @@ public final class WebBeansUtil
/**
* Checks the generic type requirements.
- *
- * @param bean managed bean instance
*/
public static void checkGenericType(Class<?> clazz, Class<? extends
Annotation> scope)
{