[jboss-cvs] JBossAS SVN: r64407 - in branches/Branch_4_2/ejb3/src: test/org/jboss/ejb3/test/stateful and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 1 15:37:17 EDT 2007


Author: bdecoste
Date: 2007-08-01 15:37:17 -0400 (Wed, 01 Aug 2007)
New Revision: 64407

Modified:
   branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/naming/MultiplexerContext.java
   branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/StatelessBean.java
Log:
[EJBTHREE-1024] fix and test for multiplexed Context list() and listBindings()

Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/naming/MultiplexerContext.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/naming/MultiplexerContext.java	2007-08-01 19:13:37 UTC (rev 64406)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/naming/MultiplexerContext.java	2007-08-01 19:37:17 UTC (rev 64407)
@@ -30,6 +30,7 @@
 import javax.naming.Context;
 import javax.naming.Name;
 import javax.naming.NameClassPair;
+import javax.naming.NameNotFoundException;
 import javax.naming.NameParser;
 import javax.naming.NamingEnumeration;
 import javax.naming.NamingException;
@@ -159,32 +160,64 @@
    public NamingEnumeration<NameClassPair> list(Name name) throws NamingException
    {
       Collection<NameClassPair> set = new ArrayList<NameClassPair>();
-      addAll(set, getContextOne().list(name));
-      addAll(set, getContextTwo().list(name));
+      try 
+      {
+         addAll(set, getContextOne().list(name));
+      } 
+      catch (NameNotFoundException e){}
+      try
+      {
+         addAll(set, getContextTwo().list(name));
+      } 
+      catch (NameNotFoundException e){}
       return new NamingEnumerationImpl<NameClassPair>(set);
    }
 
    public NamingEnumeration<NameClassPair> list(String name) throws NamingException
    {
       Collection<NameClassPair> set = new ArrayList<NameClassPair>();
-      addAll(set, getContextOne().list(name));
-      addAll(set, getContextTwo().list(name));
+      try 
+      {
+         addAll(set, getContextOne().list(name));
+      } 
+      catch (NameNotFoundException e){}
+      try
+      {
+         addAll(set, getContextTwo().list(name));
+      } 
+      catch (NameNotFoundException e){}
       return new NamingEnumerationImpl<NameClassPair>(set);
    }
 
    public NamingEnumeration<Binding> listBindings(Name name) throws NamingException
    {
       Collection<Binding> set = new ArrayList<Binding>();
-      addAll(set, getContextOne().listBindings(name));
-      addAll(set, getContextTwo().listBindings(name));
+      try
+      {
+         addAll(set, getContextOne().listBindings(name));
+      }
+      catch (NameNotFoundException e){}
+      try
+      {
+         addAll(set, getContextTwo().listBindings(name));
+      }
+      catch (NameNotFoundException e){}
       return new NamingEnumerationImpl<Binding>(set);
    }
 
    public NamingEnumeration<Binding> listBindings(String name) throws NamingException
    {
       Collection<Binding> set = new ArrayList<Binding>();
-      addAll(set, getContextOne().listBindings(name));
-      addAll(set, getContextTwo().listBindings(name));
+      try
+      {
+         addAll(set, getContextOne().listBindings(name));
+      }
+      catch (NameNotFoundException e){}
+      try
+      {
+         addAll(set, getContextTwo().listBindings(name));
+      }
+      catch (NameNotFoundException e){}
       return new NamingEnumerationImpl<Binding>(set);
    }
 

Modified: branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/StatelessBean.java
===================================================================
--- branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/StatelessBean.java	2007-08-01 19:13:37 UTC (rev 64406)
+++ branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/StatelessBean.java	2007-08-01 19:37:17 UTC (rev 64407)
@@ -25,6 +25,7 @@
 import javax.ejb.Remote;
 import javax.ejb.Stateless;
 
+import javax.naming.Context;
 import javax.naming.InitialContext;
 
 import org.jboss.annotation.ejb.RemoteBinding;
@@ -51,5 +52,30 @@
 		stateful.getState();
 	   
 		clusteredStateful.getState();
+      
+      InitialContext jndiContext = new InitialContext();
+      list(jndiContext, "java:comp");
+      list(jndiContext, "java:comp/env");
+      list(jndiContext, "java:comp/env/ejb");
+      list(jndiContext, "java:comp.ejb3");
+      list(jndiContext, "java:comp.ejb3/env");
+      list(jndiContext, "java:comp.ejb3/env/ejb");
+      
+      StatefulLocal sfsb = (StatefulLocal)jndiContext.lookup("java:comp/env/ejb/StatefulLocal");
+      sfsb.getState();
+      
+      sfsb = (StatefulLocal)jndiContext.lookup("java:comp.ejb3/env/ejb/StatefulLocal");
+      sfsb.getState();
 	}
+   
+   private void list(Context ctx, String name) throws javax.naming.NamingException
+   {
+      log.info("*** Listing ... " + name);
+      javax.naming.NamingEnumeration<javax.naming.NameClassPair> bindings = ctx.list(name);
+      while(bindings.hasMore())
+      {
+         javax.naming.NameClassPair pair = bindings.next();
+         log.info("  " + " " + pair.getName() + " " + pair.getClassName());
+      }
+   }
 }




More information about the jboss-cvs-commits mailing list