[jboss-cvs] JBossAS SVN: r72612 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/client and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 23 04:42:45 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-04-23 04:42:45 -0400 (Wed, 23 Apr 2008)
New Revision: 72612

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/basic/Client.java
Log:
JBMETA-24, AbstractEJBProcessor was missing injection target processing

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java	2008-04-23 08:08:32 UTC (rev 72611)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java	2008-04-23 08:42:45 UTC (rev 72612)
@@ -22,6 +22,7 @@
 package org.jboss.metadata.annotation.creator;
 
 import java.lang.reflect.AnnotatedElement;
+import java.util.Set;
 
 import javax.ejb.EJB;
 
@@ -30,6 +31,7 @@
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionImpl;
 import org.jboss.metadata.javaee.spec.DescriptionsImpl;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
 
 /**
  * @author Scott.Stark at jboss.org
@@ -98,6 +100,11 @@
       if(annotation.mappedName().length() > 0)
          ref.setMappedName(annotation.mappedName());
 
+      String name = ProcessorUtils.getName(element);
+      Set<ResourceInjectionTargetMetaData> injectionTargets = ProcessorUtils.getInjectionTargets(name, element);
+      if(injectionTargets != null)
+         ref.setInjectionTargets(injectionTargets);
+
       return ref;
    }
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java	2008-04-23 08:08:32 UTC (rev 72611)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/AnnotationClientUnitTestCase.java	2008-04-23 08:42:45 UTC (rev 72612)
@@ -23,6 +23,7 @@
 
 import java.lang.reflect.AnnotatedElement;
 import java.util.Collection;
+import java.util.Set;
 
 import org.jboss.metadata.annotation.creator.client.ApplicationClient5MetaDataCreator;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
@@ -45,7 +46,9 @@
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.test.metadata.annotation.client.basic.Client;
 import org.jboss.test.metadata.annotation.client.basic.ResourceIF;
 import org.jboss.test.metadata.common.PackageScanner;
 import org.jboss.test.metadata.common.ScanPackage;
@@ -89,10 +92,28 @@
       ApplicationClient5MetaData clientMD = creator.create(classes);
       System.out.println(clientMD.getAnnotatedEjbReferences());
       assertEquals(3, clientMD.getAnnotatedEjbReferences().size());
+
       AnnotatedEJBReferenceMetaData resourceMethodBean = clientMD.getAnnotatedEjbReferences().get("resourceMethodBean");
       assertNotNull(resourceMethodBean);
       assertEquals(ResourceIF.class, resourceMethodBean.getBeanInterface());
       assertEquals("ResourceOnMethodBean", resourceMethodBean.getLink());
+      Set<ResourceInjectionTargetMetaData> resourceMethodBeanTargets = resourceMethodBean.getInjectionTargets();
+      assertNotNull(resourceMethodBeanTargets);
+      assertEquals(1, resourceMethodBeanTargets.size());
+      ResourceInjectionTargetMetaData method = resourceMethodBeanTargets.iterator().next();
+      assertEquals(Client.class.getName(), method.getInjectionTargetClass());
+      assertEquals("setResourceMethodBean", method.getInjectionTargetName());
+
+      AnnotatedEJBReferenceMetaData resourceFieldBean = clientMD.getAnnotatedEjbReferences().get("resourceFieldBean");
+      assertNotNull(resourceFieldBean);
+      assertEquals("ResourceOnFieldBean", resourceFieldBean.getLink());
+      Set<ResourceInjectionTargetMetaData> resourceFieldBeanTargets = resourceFieldBean.getInjectionTargets();
+      assertNotNull(resourceFieldBeanTargets);
+      assertEquals(1, resourceFieldBeanTargets.size());
+      ResourceInjectionTargetMetaData field = resourceFieldBeanTargets.iterator().next();
+      assertEquals(Client.class.getName(), field.getInjectionTargetClass());
+      assertEquals("resourceFieldBean", field.getInjectionTargetName());
+
       AnnotatedEJBReferenceMetaData resourceClassBean = clientMD.getAnnotatedEjbReferences().get("ejb/resourceClassBean");
       assertNotNull(resourceClassBean);
       assertEquals("ResourcesOnClassBean", resourceClassBean.getLink());

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/basic/Client.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/basic/Client.java	2008-04-23 08:08:32 UTC (rev 72611)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/client/basic/Client.java	2008-04-23 08:42:45 UTC (rev 72612)
@@ -32,7 +32,6 @@
  */
 public class Client
 {
-   @EJB(beanName = "ResourceOnMethodBean")
    private static ResourceIF resourceMethodBean;
 
    @EJB(beanName = "ResourceOnFieldBean")
@@ -41,6 +40,12 @@
    @EJB(name="ejb/resourceClassBean", beanName = "ResourcesOnClassBean", mappedName="refs/resources/ResourcesOnClassBean")
    private static ResourceIF resourceClassBean;
 
+   @EJB(beanName = "ResourceOnMethodBean")
+   private static void setResourceMethodBean(ResourceIF rif)
+   {
+      resourceMethodBean = rif;
+   }
+
    @Resource
    private static ORB orb;
 }




More information about the jboss-cvs-commits mailing list