[jboss-cvs] JBossAS SVN: r63413 - in trunk/ejb3/src: resources/schema and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 8 03:29:34 EDT 2007


Author: wolfc
Date: 2007-06-08 03:29:33 -0400 (Fri, 08 Jun 2007)
New Revision: 63413

Modified:
   trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
   trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java
   trunk/ejb3/src/resources/schema/jboss_5_0.xsd
Log:
EJBTHREE-989: res-url handling and @Resource.mappedName on URL property

Modified: trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java	2007-06-08 07:28:25 UTC (rev 63412)
+++ trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java	2007-06-08 07:29:33 UTC (rev 63413)
@@ -71,6 +71,23 @@
       this.checkEncInjectors = checkEncInjectors;
    }
    
+   private void createURLInjector(String encName, String mappedName, InjectionContainer container)
+   {
+      assert encName.length() > 0 : "encName is empty";
+      assert mappedName.length() > 0 : "mappedName is empty";
+      
+      // Create a URL from the mappedName
+      try
+      {
+         URL url = new URL(mappedName.trim());
+         container.getEncInjectors().put(encName, new ValueEncInjector(encName, url, "@Resource"));
+      }
+      catch (MalformedURLException e)
+      {
+         throw new RuntimeException(e);
+      }
+   }
+   
    private static void loadEnvEntry(InjectionContainer container, Collection<EnvEntry> envEntries)
    {
       for (EnvEntry envEntry : envEntries)
@@ -224,16 +241,7 @@
 
       if (ref.type() == URL.class)
       {
-         // Create a URL from the mappedName
-         try
-         {
-            URL url = new URL(ref.mappedName().trim());
-            container.getEncInjectors().put(encName, new ValueEncInjector(encName, url, "@Resource"));
-         }
-         catch (MalformedURLException e)
-         {
-            throw new RuntimeException(e);
-         }
+         createURLInjector(encName, mappedName, container);
       }
       else
       {
@@ -467,6 +475,11 @@
       {
          injectors.put(accObj, new TimerServicePropertyInjector(property, (Container) container)); // only EJBs
       }
+      else if(type.equals(URL.class) && ref.mappedName() != null && ref.mappedName().length() > 0)
+      {
+         createURLInjector(encName, ref.mappedName(), container);
+         injectors.put(accObj, new JndiPropertyInjector(property, encName, container.getEnc()));
+      }
       else if (type.equals(WebServiceContext.class))
       {
          injectors.put(accObj, new WebServiceContextPropertyInjector(property));

Modified: trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java	2007-06-08 07:28:25 UTC (rev 63412)
+++ trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java	2007-06-08 07:29:33 UTC (rev 63413)
@@ -40,6 +40,8 @@
 
    public ValueEncInjector(String name, Object obj, String error)
    {
+      assert name.length() > 0 : "name is empty";
+      
       this.obj = obj;
       this.encName = name;
       this.error = error;

Modified: trunk/ejb3/src/resources/schema/jboss_5_0.xsd
===================================================================
(Binary files differ)




More information about the jboss-cvs-commits mailing list