[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