[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