[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