craigmcc 01/09/05 10:31:11 Modified: catalina/src/share/org/apache/catalina/util URL.java catalina/src/test/org/apache/catalina/util URLTestCase.java Log: Update org.apache.catalina.util.URL to deal with cases like: URL context = new URL("http://localhost/cocoon/"); URL relative = new URL(context, "index.xml"); which was incorrectly resolving "relative" to "http://localhost/index.xml" instead of the correct value "http://localhost/cocoon/index.xml". Gotta love it when a bug report includes not only a patch, but updated JUnit test cases :-). Submitted by: Bernard D'Have <[EMAIL PROTECTED]> Revision Changes Path 1.2 +6 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/URL.java Index: URL.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/URL.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- URL.java 2001/08/24 23:06:08 1.1 +++ URL.java 2001/09/05 17:31:11 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/URL.java,v 1.1 2001/08/24 23:06:08 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2001/08/24 23:06:08 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/URL.java,v 1.2 2001/09/05 17:31:11 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2001/09/05 17:31:11 $ * * ==================================================================== * @@ -88,7 +88,7 @@ * package someplace.</p> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/08/24 23:06:08 $ + * @version $Revision: 1.2 $ $Date: 2001/09/05 17:31:11 $ */ public final class URL implements Serializable { @@ -736,8 +736,8 @@ throw new MalformedURLException ("Base path does not start with '/'"); if (!path.endsWith("/")) - path += '/'; - path += "../" + spec.substring(start, limit); + path += "/../"; + path += spec.substring(start, limit); if (query != null) file = path + "?" + query; else 1.2 +5 -3 jakarta-tomcat-4.0/catalina/src/test/org/apache/catalina/util/URLTestCase.java Index: URLTestCase.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/test/org/apache/catalina/util/URLTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- URLTestCase.java 2001/08/24 23:06:08 1.1 +++ URLTestCase.java 2001/09/05 17:31:11 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/test/org/apache/catalina/util/URLTestCase.java,v 1.1 2001/08/24 23:06:08 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2001/08/24 23:06:08 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/test/org/apache/catalina/util/URLTestCase.java,v 1.2 2001/09/05 17:31:11 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2001/09/05 17:31:11 $ * * ==================================================================== * @@ -75,7 +75,7 @@ * Unit tests for the <code>org.apache.catalina.util.URL</code> class. * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/08/24 23:06:08 $ + * @version $Revision: 1.2 $ $Date: 2001/09/05 17:31:11 $ */ public class URLTestCase extends TestCase { @@ -457,6 +457,8 @@ positive("http://a/b/c/d;p?q", "g?y/../x"); positive("http://a/b/c/d;p?q", "g#s/./x"); positive("http://a/b/c/d;p?q", "g#s/../x"); + positive("http://a/b", "c"); + positive("http://a/b/", "c"); }