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