[jboss-cvs] JBossAS SVN: r72281 - in projects/ejb3/trunk/interceptors/src/test: java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 16 08:58:33 EDT 2008
Author: kabir.khan at jboss.com
Date: 2008-04-16 08:58:33 -0400 (Wed, 16 Apr 2008)
New Revision: 72281
Added:
projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLBean.java
projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLOrderedBean.java
Modified:
projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java
projects/ejb3/trunk/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml
Log:
Add test for default interceptors
Added: projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLBean.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLBean.java (rev 0)
+++ projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLBean.java 2008-04-16 12:58:33 UTC (rev 72281)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.test.interceptors.defaultinterceptors;
+
+import javax.interceptor.InvocationContext;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class XMLBean
+{
+ public int method()
+ {
+ return 100;
+ }
+
+ public Object aroundInvoke(InvocationContext ctx) throws Exception
+ {
+ Interceptions.add(this);
+ return ctx.proceed();
+ }
+}
Added: projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLOrderedBean.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLOrderedBean.java (rev 0)
+++ projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/XMLOrderedBean.java 2008-04-16 12:58:33 UTC (rev 72281)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.test.interceptors.defaultinterceptors;
+
+import javax.interceptor.InvocationContext;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class XMLOrderedBean
+{
+ public int method()
+ {
+ return 100;
+ }
+
+ public Object aroundInvoke(InvocationContext ctx) throws Exception
+ {
+ Interceptions.add(this);
+ return ctx.proceed();
+ }
+
+}
Modified: projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java 2008-04-16 12:58:16 UTC (rev 72280)
+++ projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/defaultinterceptors/unit/DefaultInterceptorsTestCase.java 2008-04-16 12:58:33 UTC (rev 72281)
@@ -42,6 +42,8 @@
import org.jboss.ejb3.test.interceptors.defaultinterceptors.DefaultInterceptor;
import org.jboss.ejb3.test.interceptors.defaultinterceptors.Interceptions;
import org.jboss.ejb3.test.interceptors.defaultinterceptors.MethodInterceptor;
+import org.jboss.ejb3.test.interceptors.defaultinterceptors.XMLBean;
+import org.jboss.ejb3.test.interceptors.defaultinterceptors.XMLOrderedBean;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
@@ -142,33 +144,59 @@
JBoss50MetaData jbossMetaData = new JBoss50MetaData();
jbossMetaData.merge(null, metaData);
- JBossEnterpriseBeanMetaData beanMetaData = jbossMetaData.getEnterpriseBean("AnnotatedBean");
- assertNotNull(beanMetaData);
-
- MyContainer<AnnotatedBean> container = new MyContainer<AnnotatedBean>("AnnotatedBean", "Test", AnnotatedBean.class, beanMetaData);
- container.testAdvisor();
-
- BeanContext<AnnotatedBean> bean = container.construct();
+ JBossEnterpriseBeanMetaData annotatedBeanMetaData = jbossMetaData.getEnterpriseBean("AnnotatedBean");
+ assertNotNull(annotatedBeanMetaData);
+ MyContainer<AnnotatedBean> annotatedBeanContainer = new MyContainer<AnnotatedBean>("AnnotatedBean", "Test", AnnotatedBean.class, annotatedBeanMetaData);
+ annotatedBeanContainer.testAdvisor();
+ BeanContext<AnnotatedBean> annotatedBean = annotatedBeanContainer.construct();
+ JBossEnterpriseBeanMetaData xmlBeanMetaData = jbossMetaData.getEnterpriseBean("XMLBean");
+ assertNotNull(xmlBeanMetaData);
+ MyContainer<XMLBean> xmlBeanContainer = new MyContainer<XMLBean>("XMLBean", "Test", XMLBean.class, xmlBeanMetaData);
+ xmlBeanContainer.testAdvisor();
+ BeanContext<XMLBean> xmlBean = xmlBeanContainer.construct();
+
+ JBossEnterpriseBeanMetaData xmlOrderedBeanMetaData = jbossMetaData.getEnterpriseBean("XMLOrderedBean");
+ assertNotNull(xmlOrderedBeanMetaData);
+ MyContainer<XMLOrderedBean> xmlOrderedBeanContainer = new MyContainer<XMLOrderedBean>("XMLOrderedBean", "Test", XMLOrderedBean.class, xmlOrderedBeanMetaData);
+ xmlOrderedBeanContainer.testAdvisor();
+ BeanContext<XMLOrderedBean> xmlOrderedBean = xmlOrderedBeanContainer.construct();
+
Interceptions.clear();
- container.invoke(bean, "defaultOrderMethod", new Object[0]);
+ annotatedBeanContainer.invoke(annotatedBean, "defaultOrderMethod", new Object[0]);
ArrayList<Class<?>> interceptions = Interceptions.getInterceptions();
- assertEquals(4, interceptions.size());
+ assertEquals("Interceptions were " + interceptions, 4, interceptions.size());
assertEquals(DefaultInterceptor.class, interceptions.get(0));
assertEquals(ClassInterceptor.class, interceptions.get(1));
assertEquals(MethodInterceptor.class, interceptions.get(2));
assertEquals(AnnotatedBean.class, interceptions.get(3));
-
Interceptions.clear();
- container.invoke(bean, "xmlOrderedMethod", new Object[0]);
+ annotatedBeanContainer.invoke(annotatedBean, "xmlOrderedMethod", new Object[0]);
interceptions = Interceptions.getInterceptions();
- assertEquals(4, interceptions.size());
+ assertEquals("Interceptions were " + interceptions, 4, interceptions.size());
assertEquals(MethodInterceptor.class, interceptions.get(0));
assertEquals(ClassInterceptor.class, interceptions.get(1));
assertEquals(DefaultInterceptor.class, interceptions.get(2));
assertEquals(AnnotatedBean.class, interceptions.get(3));
+ Interceptions.clear();
+ xmlBeanContainer.invoke(xmlBean, "method", new Object[0]);
+ interceptions = Interceptions.getInterceptions();
+ assertEquals("Interceptions were " + interceptions, 3, interceptions.size());
+ assertEquals(DefaultInterceptor.class, interceptions.get(0));
+ assertEquals(ClassInterceptor.class, interceptions.get(1));
+ assertEquals(XMLBean.class, interceptions.get(2));
+
+ Interceptions.clear();
+ xmlOrderedBeanContainer.invoke(xmlOrderedBean, "method", new Object[0]);
+ interceptions = Interceptions.getInterceptions();
+ assertEquals("Interceptions were " + interceptions, 3, interceptions.size());
+ assertEquals(ClassInterceptor.class, interceptions.get(0));
+ assertEquals(DefaultInterceptor.class, interceptions.get(1));
+ assertEquals(XMLOrderedBean.class, interceptions.get(2));
+
+
log.info("======= Done");
}
Modified: projects/ejb3/trunk/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml 2008-04-16 12:58:16 UTC (rev 72280)
+++ projects/ejb3/trunk/interceptors/src/test/resources/defaultinterceptors/META-INF/ejb-jar.xml 2008-04-16 12:58:33 UTC (rev 72281)
@@ -9,9 +9,21 @@
<!-- Must define a bean here, because we have no annotation on it -->
<!-- (Can't use @Stateless within ejb3-interceptors) -->
<enterprise-beans>
- <session>
- <ejb-name>AnnotatedBean</ejb-name>
- </session>
+ <session>
+ <ejb-name>AnnotatedBean</ejb-name>
+ </session>
+ <session>
+ <ejb-name>XMLBean</ejb-name>
+ <around-invoke>
+ <method-name>aroundInvoke</method-name>
+ </around-invoke>
+ </session>
+ <session>
+ <ejb-name>XMLOrderedBean</ejb-name>
+ <around-invoke>
+ <method-name>aroundInvoke</method-name>
+ </around-invoke>
+ </session>
</enterprise-beans>
<assembly-descriptor>
<interceptor-binding>
@@ -29,5 +41,16 @@
<method-name>xmlOrderedMethod</method-name>
</method>
</interceptor-binding>
+ <interceptor-binding>
+ <ejb-name>XMLBean</ejb-name>
+ <interceptor-class>org.jboss.ejb3.test.interceptors.defaultinterceptors.ClassInterceptor</interceptor-class>
+ </interceptor-binding>
+ <interceptor-binding>
+ <ejb-name>XMLOrderedBean</ejb-name>
+ <interceptor-order>
+ <interceptor-class>org.jboss.ejb3.test.interceptors.defaultinterceptors.ClassInterceptor</interceptor-class>
+ <interceptor-class>org.jboss.ejb3.test.interceptors.defaultinterceptors.DefaultInterceptor</interceptor-class>
+ </interceptor-order>
+ </interceptor-binding>
</assembly-descriptor>
</ejb-jar>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list