brett       2003/11/30 18:02:45

  Modified:    naming/factory/src/java/org/apache/commons/naming/config
                        Config.java XmlConfigurator.java
               naming/factory/src/test test-jndi.xml
               naming/factory/src/test/org/apache/commons/naming/config
                        XmlConfiguratorTest.java
  Log:
  Test case and fix for bug where >1 level of context is created in one go
  
  Revision  Changes    Path
  1.2       +11 -5     
jakarta-commons-sandbox/naming/factory/src/java/org/apache/commons/naming/config/Config.java
  
  Index: Config.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/naming/factory/src/java/org/apache/commons/naming/config/Config.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Config.java       14 Nov 2003 20:43:26 -0000      1.1
  +++ Config.java       1 Dec 2003 02:02:45 -0000       1.2
  @@ -147,13 +147,19 @@
               {
                   Environment e = (Environment) i.next();
                   CompositeName name = new CompositeName(e.getName());
  -                sortedSubcontextNameSet.add(name.getPrefix(name.size() - 
1).toString());
  +                addSubContextNames(name, sortedSubcontextNameSet);
               }
               for (Iterator i = resourceList.iterator(); i.hasNext();)
               {
                   Resource r = (Resource) i.next();
                   CompositeName name = new CompositeName(r.getName());
  -                sortedSubcontextNameSet.add(name.getPrefix(name.size() - 
1).toString());
  +                addSubContextNames(name, sortedSubcontextNameSet);
  +            }
  +        }
  +
  +        private void addSubContextNames(CompositeName name, Set 
sortedSubcontextNameSet) {
  +            for (int j = 1; j <= name.size() - 1; j++) {
  +                sortedSubcontextNameSet.add(name.getPrefix(j).toString());
               }
           }
   
  
  
  
  1.2       +3 -6      
jakarta-commons-sandbox/naming/factory/src/java/org/apache/commons/naming/config/XmlConfigurator.java
  
  Index: XmlConfigurator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/naming/factory/src/java/org/apache/commons/naming/config/XmlConfigurator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlConfigurator.java      14 Nov 2003 20:43:26 -0000      1.1
  +++ XmlConfigurator.java      1 Dec 2003 02:02:45 -0000       1.2
  @@ -183,9 +183,6 @@
           }
       }
   
  -    /**
  -     * @param set
  -     */
       private static void precreateSubcontextTree(Context ctx, Set 
sortedSubcontextNameSet) throws NamingException
       {
           // TODO: don't recreate
  
  
  
  1.2       +2 -0      jakarta-commons-sandbox/naming/factory/src/test/test-jndi.xml
  
  Index: test-jndi.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/naming/factory/src/test/test-jndi.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- test-jndi.xml     14 Nov 2003 20:43:26 -0000      1.1
  +++ test-jndi.xml     1 Dec 2003 02:02:45 -0000       1.2
  @@ -9,6 +9,8 @@
       <environment name="config/host" value="www.apache.org" type="java.lang.String" 
/>
       <environment name="config/port" value="80" type="java.lang.Integer" />
   
  +    <environment name="jdbc/config/pool/user" value="dbuser" 
type="java.lang.String" />
  +
       <resource name="jdbc/pool" type="javax.sql.DataSource">
         <parameter>
           <name>driverClassName</name>
  
  
  
  1.2       +15 -3     
jakarta-commons-sandbox/naming/factory/src/test/org/apache/commons/naming/config/XmlConfiguratorTest.java
  
  Index: XmlConfiguratorTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/naming/factory/src/test/org/apache/commons/naming/config/XmlConfiguratorTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XmlConfiguratorTest.java  14 Nov 2003 20:43:26 -0000      1.1
  +++ XmlConfiguratorTest.java  1 Dec 2003 02:02:45 -0000       1.2
  @@ -116,6 +116,18 @@
           assertEquals("Check host", "www.apache.org", host);
           assertEquals("Check port", new Integer(80), port);
       }
  +  
  +    /**
  +     *  Test config as a subcontext of a different root.
  +     *  @throws Exception if it fails
  +     */
  +    public void testDuplicateSubcontextName() throws Exception {
  +        Context ctx = new InitialContext();
  +        Context env = (Context) ctx.lookup("java:comp/env");
  +        String user = (String) env.lookup("jdbc/config/pool/user");
  +
  +        assertEquals("Check user", "dbuser", user);
  +    }
   
       /**
        * Test for correctly configured and operational database connection
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to