Author: struberg
Date: Sat Jan 5 15:14:42 2013
New Revision: 1429310
URL: http://svn.apache.org/viewvc?rev=1429310&view=rev
Log:
OWB-344 add test for multiple interceptors on a class level
Added:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassAndMethodInterceptedClass.java
- copied, changed from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/MethodInterceptedClass.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassMultiInterceptedClass.java
- copied, changed from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java
(contents, props changed)
- copied, changed from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeanswithMetaInterceptor.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java
(contents, props changed)
- copied, changed from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeansInterceptor.java
Removed:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeansInterceptor.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeanswithMetaInterceptor.java
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/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/bindings/Secure.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/webbeans/WebBeansInterceptComponentTest.java
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.xml
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=1429310&r1=1429309&r2=1429310&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
Sat Jan 5 15:14:42 2013
@@ -29,8 +29,10 @@ import javax.enterprise.inject.spi.Inter
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
@@ -78,16 +80,13 @@ public class InterceptorResolution
public BeanInterceptorInfo calculateInterceptorInfo(AnnotatedType
annotatedType)
{
- List<AnnotatedMethod> interceptableAnnotatedMethods =
getInterceptableAnnotatedMethods(annotatedType);
+ List<AnnotatedMethod> interceptableAnnotatedMethods =
getInterceptableBusinessMethods(annotatedType);
- InterceptorUtil interceptorUtils =
webBeansContext.getInterceptorUtil();
AnnotationManager annotationManager =
webBeansContext.getAnnotationManager();
BeanManager beanManager = webBeansContext.getBeanManagerImpl();
List<Interceptor> classLevelEjbInterceptors = new
ArrayList<Interceptor>();
- List<MethodInterceptorInfo> methodInterceptorInfos = new
ArrayList<MethodInterceptorInfo>();
-
// pick up CDI interceptors from a class level
//X TODO should work but can surely be improved!
Set<Annotation> classInterceptorBindings
@@ -97,7 +96,7 @@ public class InterceptorResolution
//X TODO pick up the decorators
Set<Interceptor<?>> allUsedCdiInterceptors = new
HashSet<Interceptor<?>>();
-
+ Map<Method, MethodInterceptorInfo> methodInterceptorInfos = new
HashMap<Method, MethodInterceptorInfo>();
// iterate over all methods and build up the CDI interceptor stack
for (AnnotatedMethod interceptableAnnotatedMethod :
interceptableAnnotatedMethods)
@@ -115,17 +114,17 @@ public class InterceptorResolution
InterceptionType interceptionType =
calculateInterceptionType(interceptableAnnotatedMethod);
- MethodInterceptorInfo methodInterceptorInfo = new
MethodInterceptorInfo(interceptableAnnotatedMethod.getJavaMember(),
interceptionType);
+ MethodInterceptorInfo methodInterceptorInfo = new
MethodInterceptorInfo(interceptionType);
List<Interceptor<?>> methodInterceptors =
beanManager.resolveInterceptors(interceptionType,
AnnotationUtil.getAnnotationsFromSet(cummulatedInterceptorBindings));
methodInterceptorInfo.setMethodCdiInterceptors(methodInterceptors);
allUsedCdiInterceptors.addAll(methodInterceptors);
- methodInterceptorInfos.add(methodInterceptorInfo);
+
methodInterceptorInfos.put(interceptableAnnotatedMethod.getJavaMember(),
methodInterceptorInfo);
}
- return new BeanInterceptorInfo(null, allUsedCdiInterceptors,
methodInterceptorInfos.toArray(new
MethodInterceptorInfo[methodInterceptorInfos.size()]));
+ return new BeanInterceptorInfo(null, allUsedCdiInterceptors,
methodInterceptorInfos);
}
@@ -165,7 +164,7 @@ public class InterceptorResolution
/**
* @return the list of all non-overloaded non-private and non-static
methods
*/
- private List<AnnotatedMethod>
getInterceptableAnnotatedMethods(AnnotatedType annotatedType)
+ private List<AnnotatedMethod>
getInterceptableBusinessMethods(AnnotatedType annotatedType)
{
List<Method> interceptableMethods =
ClassUtil.getNonPrivateMethods(annotatedType.getJavaClass());
@@ -192,11 +191,6 @@ public class InterceptorResolution
return interceptableAnnotatedMethods;
}
- private boolean isBusinessMethod(Method interceptableMethod)
- {
- return false; //To change body of created methods use File | Settings
| File Templates.
- }
-
/**
* static information about interceptors and decorators for a
@@ -204,7 +198,7 @@ public class InterceptorResolution
*/
public static class BeanInterceptorInfo
{
- public BeanInterceptorInfo(Set<Decorator<?>> decorators,
Set<Interceptor<?>> interceptors, MethodInterceptorInfo[] methodsInfo)
+ public BeanInterceptorInfo(Set<Decorator<?>> decorators,
Set<Interceptor<?>> interceptors, Map<Method, MethodInterceptorInfo>
methodsInfo)
{
this.decorators = decorators;
this.interceptors = interceptors;
@@ -226,7 +220,7 @@ public class InterceptorResolution
* For each method which is either decorated or intercepted we keep an
entry.
* If there is no entry then the method has neither a decorator nor an
interceptor.
*/
- private MethodInterceptorInfo[] methodsInfo = null;
+ private Map<Method, MethodInterceptorInfo> methodsInfo = new
HashMap<Method, MethodInterceptorInfo>();
public Set<Decorator<?>> getDecorators()
{
@@ -238,7 +232,7 @@ public class InterceptorResolution
return interceptors;
}
- public MethodInterceptorInfo[] getMethodsInfo()
+ public Map<Method, MethodInterceptorInfo> getMethodsInfo()
{
return methodsInfo;
}
@@ -249,27 +243,17 @@ public class InterceptorResolution
*/
public static class MethodInterceptorInfo
{
- private Method method;
private InterceptionType interceptionType;
private List<Interceptor<?>> methodEjbInterceptors = null;
private List<Interceptor<?>> methodCdiInterceptors = null;
private List<Decorator<?>> methodDecorators = null;
- public MethodInterceptorInfo(Method method, InterceptionType
interceptionType)
+ public MethodInterceptorInfo(InterceptionType interceptionType)
{
- this.method = method;
this.interceptionType = interceptionType;
}
/**
- * @return the Method this entry is for.
- */
- public Method getMethod()
- {
- return method;
- }
-
- /**
* This is needed for later invoking the correct
* interceptor method on the Interceptors.
* (e.g. @AroundInvoke vs @PostConstruct interceptors)
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=1429310&r1=1429309&r2=1429310&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
Sat Jan 5 15:14:42 2013
@@ -39,6 +39,7 @@ import org.apache.webbeans.util.Asserts;
*
* @author <a href="mailto:[email protected]">Gurkan Erdogdu</a>
* @since 1.0
+ * @deprecated This is not needed at all. EJB interceptors are _solely_
treated by the EJB container!
*/
public final class EJBInterceptorConfig
{
Copied:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassAndMethodInterceptedClass.java
(from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/MethodInterceptedClass.java)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassAndMethodInterceptedClass.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassAndMethodInterceptedClass.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/MethodInterceptedClass.java&r1=1429277&r2=1429310&rev=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/MethodInterceptedClass.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassAndMethodInterceptedClass.java
Sat Jan 5 15:14:42 2013
@@ -24,13 +24,13 @@ import org.apache.webbeans.test.componen
* A simple class which is not intercepted but has some
* methods which are.
*/
-public class MethodInterceptedClass
+public class ClassAndMethodInterceptedClass
{
private boolean defaultCtInvoked = false;
private int meaningOfLife;
- public MethodInterceptedClass()
+ public ClassAndMethodInterceptedClass()
{
defaultCtInvoked = true;
}
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
Sat Jan 5 15:14:42 2013
@@ -18,6 +18,9 @@
*/
package org.apache.webbeans.newtests.interceptors.factory.beans;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
import
org.apache.webbeans.test.component.intercept.webbeans.bindings.Transactional;
/**
@@ -37,6 +40,18 @@ public class ClassInterceptedClass
defaultCtInvoked = true;
}
+ @PostConstruct
+ public void postConstruct()
+ {
+ System.out.println("postConstruct invoked");
+ }
+
+ @PreDestroy
+ private void preDestroy()
+ {
+ System.out.println("preDestroy invoked");
+ }
+
public void init()
{
f = 2.4f;
Copied:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassMultiInterceptedClass.java
(from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassMultiInterceptedClass.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassMultiInterceptedClass.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java&r1=1429277&r2=1429310&rev=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassMultiInterceptedClass.java
Sat Jan 5 15:14:42 2013
@@ -18,13 +18,20 @@
*/
package org.apache.webbeans.newtests.interceptors.factory.beans;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+import org.apache.webbeans.test.component.intercept.webbeans.bindings.Action;
+import org.apache.webbeans.test.component.intercept.webbeans.bindings.Secure;
import
org.apache.webbeans.test.component.intercept.webbeans.bindings.Transactional;
/**
* A simple class which is not intercepted
*/
@Transactional
-public class ClassInterceptedClass
+@Action
+@Secure
+public class ClassMultiInterceptedClass
{
private boolean defaultCtInvoked = false;
@@ -32,11 +39,23 @@ public class ClassInterceptedClass
private float f;
private char c;
- public ClassInterceptedClass()
+ public ClassMultiInterceptedClass()
{
defaultCtInvoked = true;
}
+ @PostConstruct
+ public void postConstruct()
+ {
+ System.out.println("postConstruct invoked");
+ }
+
+ @PreDestroy
+ private void preDestroy()
+ {
+ System.out.println("preDestroy invoked");
+ }
+
public void init()
{
f = 2.4f;
@@ -60,7 +79,7 @@ public class ClassInterceptedClass
return f;
}
- public ClassInterceptedClass getSelf()
+ public ClassMultiInterceptedClass getSelf()
{
return this;
}
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.java?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.java
Sat Jan 5 15:14:42 2013
@@ -19,13 +19,22 @@
package org.apache.webbeans.newtests.interceptors.resolution;
import javax.enterprise.inject.spi.AnnotatedType;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Map;
import org.apache.webbeans.intercept.InterceptorResolution;
import org.apache.webbeans.newtests.AbstractUnitTest;
import
org.apache.webbeans.newtests.interceptors.factory.beans.ClassInterceptedClass;
+
+import
org.apache.webbeans.newtests.interceptors.factory.beans.ClassMultiInterceptedClass;
+import org.apache.webbeans.test.component.intercept.webbeans.ActionInterceptor;
+import org.apache.webbeans.test.component.intercept.webbeans.SecureInterceptor;
import
org.apache.webbeans.test.component.intercept.webbeans.TransactionalInterceptor;
+
+import org.apache.webbeans.test.component.intercept.webbeans.bindings.Action;
+import org.apache.webbeans.test.component.intercept.webbeans.bindings.Secure;
import
org.apache.webbeans.test.component.intercept.webbeans.bindings.Transactional;
@@ -39,7 +48,7 @@ public class InterceptorResolutionTest
{
@Test
- public void testClassLevelInterceptors() throws Exception
+ public void testClassLevelSingleInterceptor() throws Exception
{
Collection<String> beanXmls = new ArrayList<String>();
beanXmls.add(getXmlPath(this.getClass().getPackage().getName(),
this.getClass().getSimpleName()));
@@ -62,8 +71,57 @@ public class InterceptorResolutionTest
Assert.assertNull(interceptorInfo.getDecorators());
- Assert.assertNotNull(interceptorInfo.getMethodsInfo());
+ Map<Method, InterceptorResolution.MethodInterceptorInfo>
methodInterceptorInfos = interceptorInfo.getMethodsInfo();
+ Assert.assertNotNull(methodInterceptorInfos);
+ Assert.assertEquals(6, methodInterceptorInfos.size());
+
+ for (InterceptorResolution.MethodInterceptorInfo mi :
methodInterceptorInfos.values())
+ {
+ Assert.assertEquals(1, mi.getMethodCdiInterceptors().size());
+ }
+
+ shutDownContainer();
+ }
+
+ @Test
+ public void testClassLevelMultipleInterceptor() throws Exception
+ {
+ Collection<String> beanXmls = new ArrayList<String>();
+ beanXmls.add(getXmlPath(this.getClass().getPackage().getName(),
this.getClass().getSimpleName()));
+
+ Collection<Class<?>> beanClasses = new ArrayList<Class<?>>();
+ beanClasses.add(ClassMultiInterceptedClass.class);
+ beanClasses.add(Transactional.class);
+ beanClasses.add(Secure.class);
+ beanClasses.add(Action.class);
+ beanClasses.add(ActionInterceptor.class);
+ beanClasses.add(SecureInterceptor.class);
+ beanClasses.add(TransactionalInterceptor.class);
+
+ startContainer(beanClasses, beanXmls);
+
+ InterceptorResolution ir = new
InterceptorResolution(getWebBeansContext());
+ AnnotatedType<ClassMultiInterceptedClass> annotatedType =
getBeanManager().createAnnotatedType(ClassMultiInterceptedClass.class);
+
+ InterceptorResolution.BeanInterceptorInfo interceptorInfo =
ir.calculateInterceptorInfo(annotatedType);
+ Assert.assertNotNull(interceptorInfo);
+
+ Assert.assertNotNull(interceptorInfo.getInterceptors());
+ Assert.assertEquals(3, interceptorInfo.getInterceptors().size());
+
+ Assert.assertNull(interceptorInfo.getDecorators());
+
+ Map<Method, InterceptorResolution.MethodInterceptorInfo>
methodInterceptorInfos = interceptorInfo.getMethodsInfo();
+ Assert.assertNotNull(methodInterceptorInfos);
+ Assert.assertEquals(6, methodInterceptorInfos.size());
+
+ for (InterceptorResolution.MethodInterceptorInfo mi :
methodInterceptorInfos.values())
+ {
+ Assert.assertEquals(3, mi.getMethodCdiInterceptors().size());
+ }
shutDownContainer();
}
+
+
}
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
Sat Jan 5 15:14:42 2013
@@ -51,8 +51,8 @@ import org.apache.webbeans.test.componen
import org.apache.webbeans.test.component.decorator.broken.PaymentDecorator;
import
org.apache.webbeans.test.component.decorator.clean.LargeTransactionDecorator;
import org.apache.webbeans.test.component.decorator.clean.ServiceDecorator;
-import
org.apache.webbeans.test.component.intercept.webbeans.WebBeansInterceptor;
-import
org.apache.webbeans.test.component.intercept.webbeans.WebBeanswithMetaInterceptor;
+import org.apache.webbeans.test.component.intercept.webbeans.ActionInterceptor;
+import
org.apache.webbeans.test.component.intercept.webbeans.TransactionalInterceptor2;
import org.apache.webbeans.test.containertests.ComponentResolutionByTypeTest;
import org.apache.webbeans.test.mock.MockManager;
import org.apache.webbeans.test.servlet.ITestContext;
@@ -142,8 +142,8 @@ public abstract class TestContext implem
*/
protected void initInterceptors()
{
- initializeInterceptorType(WebBeansInterceptor.class);
- initializeInterceptorType(WebBeanswithMetaInterceptor.class);
+ initializeInterceptorType(TransactionalInterceptor2.class);
+ initializeInterceptorType(ActionInterceptor.class);
}
Copied:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java
(from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeanswithMetaInterceptor.java)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeanswithMetaInterceptor.java&r1=1429277&r2=1429310&rev=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeanswithMetaInterceptor.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java
Sat Jan 5 15:14:42 2013
@@ -24,9 +24,13 @@ import javax.interceptor.InvocationConte
import org.apache.webbeans.test.component.intercept.webbeans.bindings.Action;
+/**
+ * This is an interceptor for an InterceptorBinding annotation (Action)
+ * which has another InterceptorBinding (Transactional) as meta-annotation.
+ */
@Action
@Interceptor
-public class WebBeanswithMetaInterceptor
+public class ActionInterceptor
{
@AroundInvoke
Propchange:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/ActionInterceptor.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java
(from r1429277,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeansInterceptor.java)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeansInterceptor.java&r1=1429277&r2=1429310&rev=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/WebBeansInterceptor.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java
Sat Jan 5 15:14:42 2013
@@ -26,7 +26,7 @@ import org.apache.webbeans.test.componen
@Transactional
@Interceptor
-public class WebBeansInterceptor
+public class TransactionalInterceptor2
{
@AroundInvoke
Propchange:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/TransactionalInterceptor2.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/bindings/Secure.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/bindings/Secure.java?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/bindings/Secure.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/webbeans/bindings/Secure.java
Sat Jan 5 15:14:42 2013
@@ -34,5 +34,4 @@ public @interface Secure {
@Nonbinding
String[] rolesAllowed() default {};
-
}
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/webbeans/WebBeansInterceptComponentTest.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/webbeans/WebBeansInterceptComponentTest.java?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/webbeans/WebBeansInterceptComponentTest.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/unittests/intercept/webbeans/WebBeansInterceptComponentTest.java
Sat Jan 5 15:14:42 2013
@@ -27,10 +27,10 @@ import org.apache.webbeans.config.WebBea
import org.apache.webbeans.context.ContextFactory;
import org.apache.webbeans.exception.WebBeansConfigurationException;
import org.apache.webbeans.test.TestContext;
+import org.apache.webbeans.test.component.intercept.webbeans.ActionInterceptor;
+import
org.apache.webbeans.test.component.intercept.webbeans.TransactionalInterceptor2;
import
org.apache.webbeans.test.component.intercept.webbeans.WInterceptorComponent;
import
org.apache.webbeans.test.component.intercept.webbeans.WMetaInterceptorComponent;
-import
org.apache.webbeans.test.component.intercept.webbeans.WebBeansInterceptor;
-import
org.apache.webbeans.test.component.intercept.webbeans.WebBeanswithMetaInterceptor;
import org.junit.Before;
import org.junit.Test;
@@ -47,8 +47,8 @@ public class WebBeansInterceptComponentT
public void init()
{
super.init();
- initializeInterceptorType(WebBeansInterceptor.class);
- initializeInterceptorType(WebBeanswithMetaInterceptor.class);
+ initializeInterceptorType(TransactionalInterceptor2.class);
+ initializeInterceptorType(ActionInterceptor.class);
}
@Test
@@ -58,7 +58,7 @@ public class WebBeansInterceptComponentT
try
{
- defineInterceptor(WebBeansInterceptor.class);
+ defineInterceptor(TransactionalInterceptor2.class);
defineManagedBean(WInterceptorComponent.class);
}
@@ -77,7 +77,7 @@ public class WebBeansInterceptComponentT
{
getComponents().clear();
- defineInterceptor(WebBeansInterceptor.class);
+ defineInterceptor(TransactionalInterceptor2.class);
defineManagedBean(WInterceptorComponent.class);
ContextFactory contextFactory =
WebBeansContext.getInstance().getContextFactory();
@@ -101,8 +101,8 @@ public class WebBeansInterceptComponentT
{
getComponents().clear();
- defineInterceptor(WebBeansInterceptor.class);
- defineInterceptor(WebBeanswithMetaInterceptor.class);
+ defineInterceptor(TransactionalInterceptor2.class);
+ defineInterceptor(ActionInterceptor.class);
defineManagedBean(WMetaInterceptorComponent.class);
ContextFactory contextFactory =
WebBeansContext.getInstance().getContextFactory();
Modified:
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.xml
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.xml?rev=1429310&r1=1429309&r2=1429310&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.xml
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/resources/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionTest.xml
Sat Jan 5 15:14:42 2013
@@ -20,5 +20,7 @@ under the License.
<beans>
<interceptors>
<class>org.apache.webbeans.test.component.intercept.webbeans.TransactionalInterceptor</class>
+
<class>org.apache.webbeans.test.component.intercept.webbeans.ActionInterceptor</class>
+
<class>org.apache.webbeans.test.component.intercept.webbeans.SecureInterceptor</class>
</interceptors>
</beans>