[jboss-cvs] JBossAS SVN: r66853 - projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 8 05:06:11 EST 2007
Author: scott.stark at jboss.org
Date: 2007-11-08 05:06:11 -0500 (Thu, 08 Nov 2007)
New Revision: 66853
Modified:
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java
Log:
Validate @EJB, @Resource generated metadata
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java 2007-11-08 09:53:06 UTC (rev 66852)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java 2007-11-08 10:06:11 UTC (rev 66853)
@@ -24,11 +24,9 @@
import java.lang.reflect.AnnotatedElement;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
+import java.util.Set;
-import junit.framework.TestCase;
-
import org.jboss.metadata.annotation.creator.EjbJar30Creator;
import org.jboss.metadata.annotation.finder.AnnotationFinder;
import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
@@ -42,23 +40,36 @@
import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
import org.jboss.metadata.ejb.spec.SessionType;
import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
-import org.jboss.metadata.plugins.loader.reflection.AnnotatedElementMetaDataLoader;
import org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository;
import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.scope.CommonLevels;
import org.jboss.metadata.spi.scope.ScopeKey;
+import org.jboss.test.BaseTestCase;
+import org.jboss.test.metadata.annotation.ejb3.MyStatelessLocal;
/**
* Tests of annotation/metadata interaction via the MetaDataRepository
* @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class MetaDataRepositoryUnitTestCase extends TestCase
+public class MetaDataRepositoryUnitTestCase extends BaseTestCase
{
private static BasicMetaDataRepository repository = new BasicMetaDataRepository();
/**
+ * @param name
+ */
+ public MetaDataRepositoryUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ /**
* Test of how deployers would populate the MetaDataRepository
*
*/
@@ -82,8 +93,33 @@
assertTrue(beanMD instanceof SessionBeanMetaData);
SessionBeanMetaData sbeanMD = (SessionBeanMetaData) beanMD;
assertEquals(SessionType.Stateless, sbeanMD.getSessionType());
- AnnotatedEJBReferenceMetaData aejbRefs = sbeanMD.getAnnotatedEjbReferences();
+ AnnotatedEJBReferencesMetaData aejbRefs = sbeanMD.getAnnotatedEjbReferences();
assertNotNull(aejbRefs);
+ assertEquals(2, aejbRefs.size());
+ log.debug(aejbRefs);
+ AnnotatedEJBReferenceMetaData injectedField = aejbRefs.get("injectedField");
+ assertNotNull(injectedField);
+ assertEquals(MyStatelessLocal.class, injectedField.getBeanInterface());
+
+ ResourceReferencesMetaData resRefs = sbeanMD.getResourceReferences();
+ // Should be 5 when @Resources processor is added
+ assertEquals(3, resRefs.size());
+ ResourceReferenceMetaData contextRef = resRefs.get("context");
+ assertNotNull(contextRef);
+ assertEquals("javax.ejb.SessionContext", contextRef.getType());
+ Set<ResourceInjectionTargetMetaData> contextRefTargets = contextRef.getInjectionTargets();
+ assertEquals(1, contextRefTargets.size());
+ ResourceInjectionTargetMetaData contextRefTarget = contextRefTargets.iterator().next();
+ assertEquals("org.jboss.test.metadata.annotation.ejb3.MyStatelessBean", contextRefTarget.getInjectionTargetClass());
+ assertEquals("context", contextRefTarget.getInjectionTargetName());
+ ResourceReferenceMetaData homePageRef = resRefs.get("homePage");
+ assertNotNull(homePageRef);
+ assertEquals("java.net.URL", homePageRef.getType());
+ Set<ResourceInjectionTargetMetaData> homePageRefTargets = homePageRef.getInjectionTargets();
+ assertEquals(1, homePageRefTargets.size());
+ ResourceInjectionTargetMetaData homePageRefTarget = homePageRefTargets.iterator().next();
+ assertEquals("org.jboss.test.metadata.annotation.ejb3.MyStatelessBean", homePageRefTarget.getInjectionTargetClass());
+ assertEquals("homePage", homePageRefTarget.getInjectionTargetName());
}
/**
More information about the jboss-cvs-commits
mailing list