[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