[Jboss-cvs] JBossAS SVN: r56489 - in trunk/ejb3/src/main/org/jboss: ejb3/enc injection

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 31 18:18:23 EDT 2006


Author: bill.burke at jboss.com
Date: 2006-08-31 18:18:22 -0400 (Thu, 31 Aug 2006)
New Revision: 56489

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/enc/DeploymentEjbResolver.java
   trunk/ejb3/src/main/org/jboss/injection/EJBHandler.java
   trunk/ejb3/src/main/org/jboss/injection/EjbEncInjector.java
Log:
fix reference21_30 bug

Modified: trunk/ejb3/src/main/org/jboss/ejb3/enc/DeploymentEjbResolver.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/enc/DeploymentEjbResolver.java	2006-08-31 21:32:34 UTC (rev 56488)
+++ trunk/ejb3/src/main/org/jboss/ejb3/enc/DeploymentEjbResolver.java	2006-08-31 22:18:22 UTC (rev 56489)
@@ -83,7 +83,10 @@
    public String getEjbJndiName(String ejbLink, Class businessIntf)
    {
       EJBContainer container = getEjbContainer(ejbLink, businessIntf);
-      if (container == null) return null;
+      if (container == null)
+      {
+         return null;
+      }
       return ProxyFactoryHelper.getJndiName(container, businessIntf);
    }
 

Modified: trunk/ejb3/src/main/org/jboss/injection/EJBHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/EJBHandler.java	2006-08-31 21:32:34 UTC (rev 56488)
+++ trunk/ejb3/src/main/org/jboss/injection/EJBHandler.java	2006-08-31 22:18:22 UTC (rev 56489)
@@ -116,16 +116,22 @@
       
       //----- injectors
 
-      ejbRefEncInjector(mappedName, encName, refClass, link, errorType, container);
-
-      // handle dependencies
-
-      if (ref.isIgnoreDependency())
+      if (mappedName == null && refClass == null && link == null)
       {
-         log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName);
-         return;
+         // must be jboss.xml only with @EJB used to define reference.  jboss.xml used to tag for ignore dependency
+         // i think it is ok to assume this because the ejb-jar.xml schema should handle any missing elements
       }
-      ejbRefDependency(link, container, refClass, errorType, encName);
+      else
+      {
+         ejbRefEncInjector(mappedName, encName, refClass, link, errorType, container);
+         if (ref.isIgnoreDependency())
+         {
+            log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName);
+            return;
+         }
+
+         ejbRefDependency(link, container, refClass, errorType, encName);
+      }
    }
 
    protected void ejbRefDependency(String link, InjectionContainer container, Class refClass, String errorType, String encName)
@@ -302,7 +308,6 @@
       encName = "env/" + encName;
 
       if (container.getEncInjectors().containsKey(encName)) return;
-
       ejbRefEncInjector(ejb.mappedName(), encName, ejb.beanInterface(), ejb.beanName(), "@EJB", container);
 
       // handle dependencies

Modified: trunk/ejb3/src/main/org/jboss/injection/EjbEncInjector.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/EjbEncInjector.java	2006-08-31 21:32:34 UTC (rev 56488)
+++ trunk/ejb3/src/main/org/jboss/injection/EjbEncInjector.java	2006-08-31 22:18:22 UTC (rev 56489)
@@ -54,9 +54,11 @@
    public EjbEncInjector(String name, Class refClass, String ejbLink, String error)
    {
       this.refClass = refClass;
+      String refClassName = refClass == null ? "NULL" : refClass.getName();
       this.ejbLink = ejbLink;
       this.error = error;
       this.encName = name;
+      if (refClass == null && ejbLink == null) throw new RuntimeException("cannot have null refClass and ejbLink for encName: " + name);
    }
 
 
@@ -73,7 +75,13 @@
             try
             {
                if (refClass != null)
+               {
                   jndiName = container.getEjbJndiName(refClass);
+               }
+               else
+               {
+                  throw new RuntimeException("searching for @EJB" + encName + " has null refClass and null ejbLink.");
+               }
             }
             catch (NameNotFoundException e)
             {
@@ -83,6 +91,7 @@
       }
       try
       {
+         if (jndiName == null) throw new RuntimeException("Failed to populate ENC: " + encName + " global jndi name was null");
          Util.bind(container.getEnc(), encName, new LinkRef(jndiName));
       }
       catch (NamingException e)




More information about the jboss-cvs-commits mailing list