You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/07 23:01:21 UTC
svn commit: r1430045 - in
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans:
intercept/InterceptorResolution.java
intercept/ejb/EJBInterceptorConfig.java util/WebBeansUtil.java
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)
{