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]