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]