[jboss-cvs] JBossAS SVN: r74598 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/ejb3 and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 16 05:46:51 EDT 2008


Author: emuckenhuber
Date: 2008-06-16 05:46:50 -0400 (Mon, 16 Jun 2008)
New Revision: 74598

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java
Log:
also consider an interface as boundedType for processing

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java	2008-06-16 09:43:40 UTC (rev 74597)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java	2008-06-16 09:46:50 UTC (rev 74598)
@@ -227,6 +227,14 @@
             log.trace("Reprocessing class using bounded processor type: "+type);
          processClass(metaData, cls, type);
       }
+      // Also process the interfaces of the metadata class
+      for(Class<?> iface : metaData.getClass().getInterfaces())
+      {
+         if(boundedTypes.contains(iface));
+         {
+            processClass(metaData, cls, iface);
+         }
+      }
    }
    private <T> int processClass(T metaData, Class<?> cls, Class processorType)
    {

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2008-06-16 09:43:40 UTC (rev 74597)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2008-06-16 09:46:50 UTC (rev 74598)
@@ -33,6 +33,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import javax.ejb.Timer;
 import javax.ejb.TransactionAttributeType;
 
 import org.jboss.metadata.annotation.creator.ejb.EjbJar30Creator;
@@ -243,14 +244,17 @@
 
       assertNotNull("bean has no container transactions", bean.getContainerTransactions());
       Iterator<ContainerTransactionMetaData> it = bean.getContainerTransactions().iterator();
+      String[] params = {};
       ContainerTransactionMetaData tx1 = it.next();
       assertEquals(TransactionAttributeType.NEVER, tx1.getTransAttribute());
-      // TODO: methods
+      MethodsMetaData tx1Methods = tx1.getMethods();
+      assertNotNull(tx1Methods);
+      assertTrue(tx1Methods.matches("*", params, null));
+      
       ContainerTransactionMetaData tx2 = it.next();
       assertEquals(TransactionAttributeType.MANDATORY, tx2.getTransAttribute());
       MethodsMetaData tx2Methods = tx2.getMethods();
-      String[] params = {};
-      tx2Methods.matches("transactionAttributeMandatory", params, null);
+      assertTrue(tx2Methods.matches("transactionAttributeMandatory", params, null));
 
       // @EJB
       AnnotatedEJBReferencesMetaData ejbRefs = bean.getAnnotatedEjbReferences();
@@ -290,6 +294,14 @@
       AroundInvokeMetaData aroundInvoke = invokes.get(0);
       assertEquals(MyStatelessBean.class.getName(), aroundInvoke.getClassName());
       assertEquals("intercept", aroundInvoke.getMethodName());
+      
+      // @Timeout
+      NamedMethodMetaData timeoutMethod = bean.getTimeoutMethod();
+      assertNotNull(timeoutMethod);
+      assertEquals("timeout", timeoutMethod.getMethodName());
+      MethodParametersMetaData parameters = timeoutMethod.getMethodParams();
+      assertEquals(1, parameters.size());
+      assertEquals(Timer.class.getName(), parameters.get(0));
    }
 
    private void assertMyEntity(IEnterpriseBeanMetaData enterpriseBean)
@@ -340,14 +352,16 @@
 
       assertNotNull("bean has no container transactions", bean.getContainerTransactions());
       Iterator<ContainerTransactionMetaData> it = bean.getContainerTransactions().iterator();
+      String[] params = {};
       ContainerTransactionMetaData tx1 = it.next();
       assertEquals(TransactionAttributeType.NEVER, tx1.getTransAttribute());
-      // TODO: methods
+      MethodsMetaData tx1Methods = tx1.getMethods();
+      assertNotNull(tx1Methods);
+      assertTrue(tx1Methods.matches("*", params, null));
       ContainerTransactionMetaData tx2 = it.next();
       assertEquals(TransactionAttributeType.MANDATORY, tx2.getTransAttribute());
       MethodsMetaData tx2Methods = tx2.getMethods();
-      String[] params = {};
-      tx2Methods.matches("transactionAttributeMandatory", params, null);
+      assertTrue(tx2Methods.matches("transactionAttributeMandatory", params, null));
 
       // @EJB
       AnnotatedEJBReferencesMetaData ejbRefs = bean.getAnnotatedEjbReferences();

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java	2008-06-16 09:43:40 UTC (rev 74597)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java	2008-06-16 09:46:50 UTC (rev 74598)
@@ -35,6 +35,8 @@
 import javax.ejb.EJB;
 import javax.ejb.SessionContext;
 import javax.ejb.Stateless;
+import javax.ejb.Timeout;
+import javax.ejb.Timer;
 import javax.ejb.TransactionAttribute;
 import javax.ejb.TransactionAttributeType;
 import javax.interceptor.AroundInvoke;
@@ -161,4 +163,10 @@
       System.out.println("**** intercept2 ****" + ctx.getMethod().getName());
       return ctx.proceed();
    }
+   
+   @Timeout
+   public void timeout(Timer timer)
+   {
+      
+   }
 }




More information about the jboss-cvs-commits mailing list