User: starksm 
  Date: 02/03/11 17:40:03

  Modified:    src/main/org/jboss/naming NonSerializableFactory.java
  Log:
  Add a rebind that creates intermediate subcontexts.
  
  Revision  Changes    Path
  1.9       +25 -2     jboss/src/main/org/jboss/naming/NonSerializableFactory.java
  
  Index: NonSerializableFactory.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/naming/NonSerializableFactory.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- NonSerializableFactory.java       9 Feb 2002 01:56:07 -0000       1.8
  +++ NonSerializableFactory.java       12 Mar 2002 01:40:03 -0000      1.9
  @@ -66,7 +66,7 @@
   @see #rebind(Context, String, Object)
   
   @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  -@version $Revision: 1.8 $
  +@version $Revision: 1.9 $
   */
   public class NonSerializableFactory implements ObjectFactory
   {
  @@ -172,14 +172,37 @@
      @param name, the name to use as JNDI path name. The key into the
       NonSerializableFactory map is obtained from the toString() value of name.
       The name parameter cannot be a 0 length name.
  -    Any subcontexts between the root and the name.
  +    Any subcontexts between the root and the name must exist.
      @param target, the non-Serializable object to bind.
      @throws NamingException, thrown on failure to rebind key into ctx.
      */
      public static synchronized void rebind(Name name, Object target) throws 
NamingException
      {
  +      rebind(name, target, false);
  +   }
  +
  +   /** A convience method that simplifies the process of rebinding a
  +    non-zerializable object into a JNDI context. This version binds the
  +    target object into the default IntitialContext using name path.
  +
  +   @param name, the name to use as JNDI path name. The key into the
  +    NonSerializableFactory map is obtained from the toString() value of name.
  +    The name parameter cannot be a 0 length name.
  +   @param target, the non-Serializable object to bind.
  +   @param createSubcontexts, a flag indicating if subcontexts of name should
  +    be created if they do not already exist.
  +   @throws NamingException, thrown on failure to rebind key into ctx.
  +   */
  +   public static synchronized void rebind(Name name, Object target,
  +      boolean createSubcontexts) throws NamingException
  +   {
          String key = name.toString();
          InitialContext ctx = new InitialContext();
  +       if( createSubcontexts == true && name.size() > 1 )
  +       {
  +          int size = name.size() - 1;
  +          Util.createSubcontext(ctx, name.getPrefix(size));
  +       }
          rebind(ctx, key, target);
      }
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to