[jboss-cvs] JBossAS SVN: r72385 - trunk/server/src/main/org/jboss/deployment.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 17 16:03:34 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-04-17 16:03:33 -0400 (Thu, 17 Apr 2008)
New Revision: 72385

Modified:
   trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java
Log:
Resolve the annotation ejb metadata refs

Modified: trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java	2008-04-17 20:03:03 UTC (rev 72384)
+++ trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java	2008-04-17 20:03:33 UTC (rev 72385)
@@ -40,6 +40,7 @@
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
 import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
@@ -168,11 +169,11 @@
    {
       if(env == null)
          return;
-
-      AnnotatedEJBReferencesMetaData annotatedRefs = env.getAnnotatedEjbReferences();
       
       EJBLocalReferencesMetaData localRefs = env.getEjbLocalReferences();
       resolveEjbLocalRefs(unit, localRefs, unresolvedRefs);
+      AnnotatedEJBReferencesMetaData annotatedRefs = env.getAnnotatedEjbReferences();
+      resolveAnnotatedRefs(unit, annotatedRefs, unresolvedRefs);
       EJBReferencesMetaData ejbRefs = env.getEjbReferences();
       resolveEjbRefs(unit, ejbRefs, unresolvedRefs);
       MessageDestinationReferencesMetaData msgRefs = env.getMessageDestinationReferences();
@@ -187,10 +188,6 @@
 
       for(JBossEnterpriseBeanMetaData bean : beans)
       {
-         EJBLocalReferencesMetaData localRefs = bean.getEjbLocalReferences();
-         resolveEjbLocalRefs(unit, localRefs, unresolvedRefs);
-         EJBReferencesMetaData ejbRefs = bean.getEjbReferences();
-         resolveEjbRefs(unit, ejbRefs, unresolvedRefs);
          Environment env = bean.getJndiEnvironmentRefsGroup();
          resolve(unit, env, unresolvedRefs);
       }
@@ -212,6 +209,30 @@
             ref.setResolvedJndiName(target);
       }      
    }
+   protected void resolveAnnotatedRefs(DeploymentUnit unit, AnnotatedEJBReferencesMetaData annotatedRefs, List<String> unresolvedRefs)
+   {
+      if(annotatedRefs == null)
+         return;
+
+      ArrayList<String> searched = new ArrayList<String>();
+      for(AnnotatedEJBReferenceMetaData ref : annotatedRefs)
+      {
+         String mappedName = ref.getMappedName();
+         if(mappedName == null || mappedName.length() == 0)
+         {
+            mappedName = null;
+            String link = ref.getLink();
+            String target = null;
+            if(link != null)
+               target = findEjbLink(unit, link, searched);
+            if(target == null)
+               unresolvedRefs.add(ref.getEjbRefName()+"/ejb-ref/"+link + " available: " + searched);
+            else
+               mappedName = target;
+         }
+         ref.setResolvedJndiName(mappedName);
+      }
+   }
    protected void resolveEjbRefs(DeploymentUnit unit, EJBReferencesMetaData ejbRefs, List<String> unresolvedRefs)
    {
       if(ejbRefs == null)
@@ -222,6 +243,7 @@
          String mappedName = ref.getMappedName();
          if(mappedName == null || mappedName.length() == 0)
          {
+            mappedName = null;
             String link = ref.getLink();
             String target = null;
             if(link != null)




More information about the jboss-cvs-commits mailing list