[webbeans-commits] Webbeans SVN: r788 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Jan 6 12:44:43 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-06 12:44:42 -0500 (Tue, 06 Jan 2009)
New Revision: 788

Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java
Log:
WBRI-93

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java	2009-01-06 15:41:41 UTC (rev 787)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/resource/DefaultNaming.java	2009-01-06 17:44:42 UTC (rev 788)
@@ -17,6 +17,10 @@
 
 package org.jboss.webbeans.resource;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.webbeans.ExecutionException;
@@ -69,7 +73,13 @@
    {
       try
       {
-         initialContext.bind(key, value);
+         List<String> parts = splitIntoContexts(key);
+         Context context = initialContext;
+         for (int i = 0; i < parts.size() - 1; i++)
+         {
+            context = (Context) context.lookup(parts.get(i));
+         }
+         context.bind(parts.get(parts.size() - 1), value);
       }
       catch (NamingException e)
       {
@@ -105,5 +115,15 @@
          throw new ExecutionException(instance + " not of expected type " + expectedType, e);
       }
    }
+   
+   private static List<String> splitIntoContexts(String key)
+   {
+      List<String> parts = new ArrayList<String>();
+      for (String part : key.split("/"))
+      {
+         parts.add(part);
+      }
+      return parts;
+   }
 
 }




More information about the weld-commits mailing list