[jboss-cvs] JBossAS SVN: r66973 - in trunk/ejb3/src/main/org/jboss: injection and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 12 14:29:38 EST 2007


Author: adrian at jboss.org
Date: 2007-11-12 14:29:38 -0500 (Mon, 12 Nov 2007)
New Revision: 66973

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
   trunk/ejb3/src/main/org/jboss/injection/JndiInjectHandler.java
Log:
Reinstate the JndiInjectHandler with a temporary patch to fix the problem with the purported polymorphism on the generic type parameter

Modified: trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java	2007-11-12 19:27:41 UTC (rev 66972)
+++ trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java	2007-11-12 19:29:38 UTC (rev 66973)
@@ -86,6 +86,7 @@
 import org.jboss.injection.InjectionHandler;
 import org.jboss.injection.InjectionUtil;
 import org.jboss.injection.Injector;
+import org.jboss.injection.JndiInjectHandler;
 import org.jboss.injection.PersistenceContextHandler;
 import org.jboss.injection.PersistenceUnitHandler;
 import org.jboss.injection.ResourceHandler;
@@ -433,7 +434,7 @@
       Collection<InjectionHandler<Environment>> handlers = new ArrayList<InjectionHandler<Environment>>();
       handlers.add(new EJBHandler<Environment>());
       handlers.add(new DependsHandler<Environment>());
-      //handlers.add(new JndiInjectHandler<JBossEnterpriseBeanMetaData>());
+      handlers.add(new JndiInjectHandler<Environment>());
       handlers.add(new PersistenceContextHandler<Environment>());
       handlers.add(new PersistenceUnitHandler<Environment>());
       handlers.add(new ResourceHandler<Environment>());

Modified: trunk/ejb3/src/main/org/jboss/injection/JndiInjectHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/JndiInjectHandler.java	2007-11-12 19:27:41 UTC (rev 66972)
+++ trunk/ejb3/src/main/org/jboss/injection/JndiInjectHandler.java	2007-11-12 19:29:38 UTC (rev 66973)
@@ -29,7 +29,10 @@
 import org.jboss.annotation.JndiInject;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.javaee.jboss.JndiRefMetaData;
+import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
 
 /**
  * Searches bean class for all @Inject and create Injectors
@@ -37,7 +40,7 @@
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  * @version $Revision$
  */
-public class JndiInjectHandler<X extends JBossEnterpriseBeanMetaData> implements InjectionHandler<X>
+public class JndiInjectHandler<X extends Environment> implements InjectionHandler<X>
 {
    @SuppressWarnings("unused")
    private static final Logger log = Logger.getLogger(JndiInjectHandler.class);
@@ -45,8 +48,10 @@
    public void loadXml(X xml, InjectionContainer container)
    {
       if (xml == null) return;
-      if (xml.getJndiRefs() == null) return;
-      for (JndiRefMetaData ref : xml.getJndiRefs())
+      if (xml instanceof JBossEnterpriseBeanMetaData == false) return;
+      JndiRefsMetaData jndiRefs = ((JBossEnterpriseBeanMetaData) xml).getJndiRefs();
+      if (jndiRefs == null) return;
+      for (JndiRefMetaData ref : jndiRefs)
       {
          if (ref.getMappedName() == null || ref.getMappedName().equals(""))
             throw new RuntimeException("mapped-name is required for " + ref.getJndiRefName() + " of container " + container.getIdentifier());




More information about the jboss-cvs-commits mailing list