Author: struberg
Date: Wed Jan 16 18:26:48 2013
New Revision: 1434090

URL: http://svn.apache.org/viewvc?rev=1434090&view=rev
Log:
OWB-344 PostConstruct interceptors continued ...

Modified:
    
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
    
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
    
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java

Modified: 
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
 (original)
+++ 
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
 Wed Jan 16 18:26:48 2013
@@ -57,7 +57,6 @@ public abstract class BaseEjbBean<T> ext
     /**
      * Creates a new instance of the session bean.
      * @param webBeansContext
-     * @param ejbClassType ebj class type
      */
     protected BaseEjbBean(WebBeansContext webBeansContext,
                           SessionBeanType type,

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
 Wed Jan 16 18:26:48 2013
@@ -40,7 +40,7 @@ import org.apache.webbeans.util.Exceptio
  * <p>Any Interceptor is also an InjectionTarget as they can contain
  * &#064;Inject InjectionPoints.</p>
  */
-public abstract class InterceptorBean<T> extends InjectionTargetBean<T> 
implements Interceptor<T>, EnterpriseBeanMarker
+public abstract class InterceptorBean<T> extends InjectionTargetBean<T> 
implements Interceptor<T>
 {
    /**
      * Constructor of the web bean component

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
 Wed Jan 16 18:26:48 2013
@@ -49,8 +49,8 @@ public class CdiInterceptorBeanBuilder<T
     public void defineCdiInterceptorRules()
     {
         checkInterceptorConditions();
-        defineInterceptorBindings();
         defineInterceptorRules();
+        defineInterceptorBindings();
     }
 
     public boolean isInterceptorEnabled()

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
 Wed Jan 16 18:26:48 2013
@@ -20,6 +20,7 @@ package org.apache.webbeans.component.cr
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
+import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.Produces;
 import javax.enterprise.inject.spi.AnnotatedConstructor;
 import javax.enterprise.inject.spi.AnnotatedMethod;
@@ -76,6 +77,13 @@ public abstract class InterceptorBeanBui
         }
     }
 
+    @Override
+    public Class<? extends Annotation> getScope()
+    {
+        // Interceptors are always Dependent scoped
+        return Dependent.class;
+    }
+
     public void defineConstructor()
     {
         constructor = getBeanConstructor();
@@ -126,6 +134,7 @@ public abstract class InterceptorBeanBui
 
     protected void defineInterceptorRules()
     {
+        defineApiType();
         defineConstructor();
         defineInterceptorMethods();
         defineInjectedMethods();

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
 Wed Jan 16 18:26:48 2013
@@ -37,6 +37,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -111,7 +112,11 @@ public class InterceptorResolutionServic
             decorators = null; // less to store
         }
 
-        Set<Interceptor<?>> allUsedInterceptors = new 
HashSet<Interceptor<?>>();
+        Set<Interceptor<?>> allUsedCdiInterceptors = new 
HashSet<Interceptor<?>>();
+
+        LinkedHashSet<Interceptor<?>> allUsedEjbInterceptors = new 
LinkedHashSet<Interceptor<?>>(); // we need to preserve the order!
+        allUsedEjbInterceptors.addAll(classLevelEjbInterceptors);
+
         Map<Method, BusinessMethodInterceptorInfo> 
businessMethodInterceptorInfos = new HashMap<Method, 
BusinessMethodInterceptorInfo>();
 
         List<Method> nonInterceptedMethods = new ArrayList<Method>();
@@ -123,9 +128,9 @@ public class InterceptorResolutionServic
             Set<InterceptionType> interceptionTypes = 
collectInterceptionTypes(annotatedMethod);
             BusinessMethodInterceptorInfo methodInterceptorInfo = new 
BusinessMethodInterceptorInfo(interceptionTypes);
 
-            calculateEjbMethodInterceptors(methodInterceptorInfo, 
allUsedInterceptors, classLevelEjbInterceptors, annotatedMethod);
+            calculateEjbMethodInterceptors(methodInterceptorInfo, 
allUsedEjbInterceptors, classLevelEjbInterceptors, annotatedMethod);
 
-            calculateCdiMethodInterceptors(methodInterceptorInfo, 
allUsedInterceptors, annotatedMethod, classInterceptorBindings);
+            calculateCdiMethodInterceptors(methodInterceptorInfo, 
allUsedCdiInterceptors, annotatedMethod, classInterceptorBindings);
 
             calculateCdiMethodDecorators(methodInterceptorInfo, decorators, 
annotatedMethod);
 
@@ -146,7 +151,7 @@ public class InterceptorResolutionServic
                 annotatedType,
                 InterceptionType.POST_CONSTRUCT,
                 PostConstruct.class,
-                allUsedInterceptors,
+                allUsedCdiInterceptors,
                 classLevelEjbInterceptors,
                 classInterceptorBindings,
                 true);
@@ -156,12 +161,17 @@ public class InterceptorResolutionServic
                 annotatedType,
                 InterceptionType.PRE_DESTROY,
                 PreDestroy.class,
-                allUsedInterceptors,
+                allUsedCdiInterceptors,
                 classLevelEjbInterceptors,
                 classInterceptorBindings,
                 true);
 
-        return new BeanInterceptorInfo(decorators, allUsedInterceptors, 
businessMethodInterceptorInfos, nonInterceptedMethods, 
lifecycleMethodInterceptorInfos);
+        List<Interceptor<?>> cdiInterceptors = new 
ArrayList<Interceptor<?>>(allUsedCdiInterceptors);
+        Collections.sort(cdiInterceptors, new 
InterceptorComparator(webBeansContext));
+
+
+        return new BeanInterceptorInfo(decorators, allUsedEjbInterceptors, 
cdiInterceptors, businessMethodInterceptorInfos,
+                                       nonInterceptedMethods, 
lifecycleMethodInterceptorInfos);
     }
 
     private void addLifecycleMethods(Map<InterceptionType, 
LifecycleMethodInfo> lifecycleMethodInterceptorInfos,
@@ -416,24 +426,32 @@ public class InterceptorResolutionServic
     public static class BeanInterceptorInfo
     {
         public BeanInterceptorInfo(List<Decorator<?>> decorators,
-                                   Set<Interceptor<?>> interceptors,
+                                   LinkedHashSet<Interceptor<?>> 
ejbInterceptors,
+                                   List<Interceptor<?>> cdiInterceptors,
                                    Map<Method, BusinessMethodInterceptorInfo> 
businessMethodsInfo,
                                    List<Method> nonInterceptedMethods,
                                    Map<InterceptionType, LifecycleMethodInfo> 
lifecycleMethodInterceptorInfos)
         {
             this.decorators = decorators;
-            this.interceptors = interceptors;
+            this.ejbInterceptors = ejbInterceptors;
+            this.cdiInterceptors = cdiInterceptors;
             this.businessMethodsInfo = businessMethodsInfo;
             this.nonInterceptedMethods = nonInterceptedMethods;
             this.lifecycleMethodInterceptorInfos = 
lifecycleMethodInterceptorInfos;
         }
 
         /**
-         * All the Interceptor Beans which are active on this class somewhere.
+         * All the EJB-style Interceptor Beans which are active on this class 
somewhere.
+         * The Interceptors are sorted according to their definition.
+         */
+        private LinkedHashSet<Interceptor<?>> ejbInterceptors = null;
+
+        /**
+         * All the CDI-style Interceptor Beans which are active on this class 
somewhere.
          * This is only used to create the Interceptor instances.
-         * The Interceptors are not sorted yet.
+         * The Interceptors are not sorted according to beans.xml .
          */
-        private Set<Interceptor<?>> interceptors = null;
+        private List<Interceptor<?>> cdiInterceptors = null;
 
         /**
          * All the Decorator Beans active on this class.
@@ -464,9 +482,14 @@ public class InterceptorResolutionServic
             return decorators;
         }
 
-        public Set<Interceptor<?>> getInterceptors()
+        public LinkedHashSet<Interceptor<?>> getEjbInterceptors()
+        {
+            return ejbInterceptors;
+        }
+
+        public List<Interceptor<?>> getCdiInterceptors()
         {
-            return interceptors;
+            return cdiInterceptors;
         }
 
         public Map<Method, BusinessMethodInterceptorInfo> 
getBusinessMethodsInfo()

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/WebBeansInterceptorConfig.java
 Wed Jan 16 18:26:48 2013
@@ -53,6 +53,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -149,24 +150,11 @@ public final class WebBeansInterceptorCo
                 Class proxyClass = pf.createProxyClass(classLoader, 
bean.getReturnType(), businessMethods, nonInterceptedMethods);
 
                 // now we collect the post-construct and pre-destroy 
interceptors
-                List<Interceptor<?>> postConstructInterceptors = new 
ArrayList<Interceptor<?>>();
-                List<Interceptor<?>> preDestroyInterceptors = new 
ArrayList<Interceptor<?>>();
-                for (Interceptor<?> interceptor : 
interceptorInfo.getInterceptors())
-                {
-                    if 
(interceptor.intercepts(InterceptionType.POST_CONSTRUCT))
-                    {
-                        postConstructInterceptors.add(interceptor);
-                    }
-                    if (interceptor.intercepts(InterceptionType.PRE_DESTROY))
-                    {
-                        preDestroyInterceptors.add(interceptor);
-                    }
-                }
+                List<Interceptor<?>> postConstructInterceptors
+                        = 
getLifecycleInterceptors(interceptorInfo.getEjbInterceptors(), 
interceptorInfo.getCdiInterceptors(), InterceptionType.POST_CONSTRUCT);
 
-                // and sort them
-                InterceptorComparator interceptorComparator = new 
InterceptorComparator(webBeansContext);
-                Collections.sort(postConstructInterceptors, 
interceptorComparator);
-                Collections.sort(preDestroyInterceptors, 
interceptorComparator);
+                List<Interceptor<?>> preDestroyInterceptors
+                        = 
getLifecycleInterceptors(interceptorInfo.getEjbInterceptors(), 
interceptorInfo.getCdiInterceptors(), InterceptionType.PRE_DESTROY);
 
                 injectionTarget.setInterceptorInfo(interceptorInfo, 
proxyClass, methodInterceptors, postConstructInterceptors, 
preDestroyInterceptors);
             }
@@ -175,6 +163,41 @@ public final class WebBeansInterceptorCo
 
     }
 
+
+    private List<Interceptor<?>> 
getLifecycleInterceptors(LinkedHashSet<Interceptor<?>> ejbInterceptors, 
List<Interceptor<?>> cdiInterceptors, InterceptionType interceptionType)
+    {
+        List<Interceptor<?>> lifecycleInterceptors = new 
ArrayList<Interceptor<?>>();
+
+        for (Interceptor<?> ejbInterceptor : ejbInterceptors)
+        {
+            if (ejbInterceptor.intercepts(interceptionType))
+            {
+                lifecycleInterceptors.add(ejbInterceptor);
+            }
+        }
+        for (Interceptor<?> cdiInterceptor : cdiInterceptors)
+        {
+            if (cdiInterceptor.intercepts(interceptionType))
+            {
+                lifecycleInterceptors.add(cdiInterceptor);
+            }
+        }
+
+        return lifecycleInterceptors;
+    }
+
+    private void addAllInterceptors(List<Interceptor<?>> collect, 
Interceptor<?>[] interceptors)
+    {
+        if (interceptors != null)
+        {
+            for (Interceptor<?> interceptor : interceptors)
+            {
+                collect.add(interceptor);
+            }
+        }
+    }
+
+
     /**
      * Configure bean instance interceptor stack.
      * @param bean bean instance

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
 Wed Jan 16 18:26:48 2013
@@ -25,7 +25,6 @@ import java.lang.reflect.Field;
 import java.lang.reflect.Member;
 import java.lang.reflect.Method;
 import java.text.MessageFormat;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -159,7 +158,7 @@ public class InjectionTargetImpl<T> exte
             InterceptorDecoratorProxyFactory pf = 
webBeansContext.getInterceptorDecoratorProxyFactory();
 
             Map<Interceptor<?>,Object> interceptorInstances  = new 
HashMap<Interceptor<?>, Object>();
-            for (Interceptor interceptorBean : 
interceptorInfo.getInterceptors())
+            for (Interceptor interceptorBean : 
interceptorInfo.getCdiInterceptors())
             {
                 Object interceptorInstance;
                 if (interceptorBean instanceof SelfInterceptorBean)
@@ -304,9 +303,6 @@ public class InjectionTargetImpl<T> exte
                 interceptorInstances = dih.getInstances();
                 internalInstance = (T) dih.getTarget();
             }
-
-            // we are cheating a bit right now. We could also calculate the 
real ones upfront
-            postConstructInterceptors = new 
ArrayList<Interceptor<?>>(interceptorInfo.getInterceptors());
         }
 
         InvocationContext ic = new 
LifecycleInterceptorInvocationContext<T>(internalInstance, 
InterceptionType.POST_CONSTRUCT, postConstructInterceptors,
@@ -342,9 +338,6 @@ public class InjectionTargetImpl<T> exte
                 interceptorInstances = dih.getInstances();
                 internalInstance = (T) dih.getTarget();
             }
-
-            // we are cheating a bit right now. We could also calculate the 
real ones upfront
-            preDestroyInterceptors = new 
ArrayList<Interceptor<?>>(interceptorInfo.getInterceptors());
         }
 
         InvocationContext ic = new 
LifecycleInterceptorInvocationContext<T>(internalInstance, 
InterceptionType.PRE_DESTROY, preDestroyInterceptors,

Modified: 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorProxyChainTest.java
 Wed Jan 16 18:26:48 2013
@@ -116,7 +116,7 @@ public class InterceptorProxyChainTest e
         // step 3.
         // creating the InterceptorHandler for each intercepted instance later 
at runtime
         Map<Interceptor<?>,Object> interceptorInstances  = new 
HashMap<Interceptor<?>, Object>();
-        for (Interceptor interceptorBean : interceptorInfo.getInterceptors())
+        for (Interceptor interceptorBean : 
interceptorInfo.getCdiInterceptors())
         {
             Object interceptorInstance = interceptorBean.create(cc);
             interceptorInstances.put(interceptorBean, interceptorInstance);

Modified: 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java?rev=1434090&r1=1434089&r2=1434090&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java
 Wed Jan 16 18:26:48 2013
@@ -80,8 +80,8 @@ public class InterceptorResolutionServic
         BeanInterceptorInfo interceptorInfo = 
ir.calculateInterceptorInfo(bean.getTypes(), bean.getQualifiers(), 
annotatedType);
         Assert.assertNotNull(interceptorInfo);
 
-        Assert.assertNotNull(interceptorInfo.getInterceptors());
-        Assert.assertEquals(1, interceptorInfo.getInterceptors().size());
+        Assert.assertNotNull(interceptorInfo.getCdiInterceptors());
+        Assert.assertEquals(1, interceptorInfo.getCdiInterceptors().size());
 
         Assert.assertNull(interceptorInfo.getDecorators());
 
@@ -122,8 +122,8 @@ public class InterceptorResolutionServic
         BeanInterceptorInfo interceptorInfo = 
ir.calculateInterceptorInfo(bean.getTypes(), bean.getQualifiers(), 
annotatedType);
         Assert.assertNotNull(interceptorInfo);
 
-        Assert.assertNotNull(interceptorInfo.getInterceptors());
-        Assert.assertEquals(1, interceptorInfo.getInterceptors().size());
+        Assert.assertNotNull(interceptorInfo.getCdiInterceptors());
+        Assert.assertEquals(1, interceptorInfo.getCdiInterceptors().size());
 
         shutDownContainer();
     }
@@ -152,8 +152,8 @@ public class InterceptorResolutionServic
         BeanInterceptorInfo interceptorInfo = 
ir.calculateInterceptorInfo(bean.getTypes(), bean.getQualifiers(), 
annotatedType);
         Assert.assertNotNull(interceptorInfo);
 
-        Assert.assertNotNull(interceptorInfo.getInterceptors());
-        Assert.assertEquals(3, interceptorInfo.getInterceptors().size());
+        Assert.assertNotNull(interceptorInfo.getCdiInterceptors());
+        Assert.assertEquals(3, interceptorInfo.getCdiInterceptors().size());
 
         Assert.assertNull(interceptorInfo.getDecorators());
 
@@ -196,8 +196,8 @@ public class InterceptorResolutionServic
         BeanInterceptorInfo interceptorInfo = 
ir.calculateInterceptorInfo(bean.getTypes(), bean.getQualifiers(), 
annotatedType);
         Assert.assertNotNull(interceptorInfo);
 
-        Assert.assertNotNull(interceptorInfo.getInterceptors());
-        Assert.assertEquals(2, interceptorInfo.getInterceptors().size());
+        Assert.assertNotNull(interceptorInfo.getCdiInterceptors());
+        Assert.assertEquals(2, interceptorInfo.getCdiInterceptors().size());
 
         Assert.assertNull(interceptorInfo.getDecorators());
 


Reply via email to