bruno       2003/07/14 01:14:31

  Modified:    sourceresolve/src/java/org/apache/excalibur/source/impl
                        FileSourceFactory.java
  Log:
  Implemented the URIAbsolutizer interface; do not perform path
  normalization on file: URI's.
  
  Revision  Changes    Path
  1.3       +13 -2     
avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FileSourceFactory.java
  
  Index: FileSourceFactory.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FileSourceFactory.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FileSourceFactory.java    20 May 2003 20:56:43 -0000      1.2
  +++ FileSourceFactory.java    14 Jul 2003 08:14:31 -0000      1.3
  @@ -61,6 +61,8 @@
   import org.apache.avalon.framework.thread.ThreadSafe;
   import org.apache.excalibur.source.Source;
   import org.apache.excalibur.source.SourceFactory;
  +import org.apache.excalibur.source.URIAbsolutizer;
  +import org.apache.excalibur.source.SourceUtil;
   
   /**
    * A factory for filesystem-based sources (see [EMAIL PROTECTED] FileSource}).
  @@ -73,7 +75,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
    * @version $Id$
    */
  -public class FileSourceFactory implements SourceFactory, ThreadSafe
  +public class FileSourceFactory implements SourceFactory, ThreadSafe, URIAbsolutizer
   {
   
       /**
  @@ -92,5 +94,14 @@
       public void release(Source source)
       {
           // Nothing to do here
  +    }
  +
  +    public String absolutize(String baseURI, String location)
  +    {
  +        // Call the absolutize utility method with false for the normalizePath 
argument.
  +        // This avoids the removal of "../" from the path.
  +        // This way, the "../" will be resolved by the operating system, which might
  +        // do things differently e.g. in case of symbolic links.
  +        return SourceUtil.absolutize(baseURI, location, false, false);
       }
   }
  
  
  

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

Reply via email to