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");
   
       }
   
  
  
  

Reply via email to