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)
     {


Reply via email to