]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Synchronized changes to base URL handling from HEAD.
authorPeter Bernard West <pbwest@apache.org>
Tue, 16 Mar 2004 06:49:35 +0000 (06:49 +0000)
committerPeter Bernard West <pbwest@apache.org>
Tue, 16 Mar 2004 06:49:35 +0000 (06:49 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197452 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/apps/FOFileHandler.java
src/java/org/apache/fop/apps/InputHandler.java
src/java/org/apache/fop/apps/XSLTInputHandler.java
src/java/org/apache/fop/configuration/FOUserAgent.java

index a8a003e6f42a04b15ec8f648e364c7b517d24e7c..cce1681ebb56ae92b7f72b2f59c834d0a972af71 100644 (file)
@@ -39,6 +39,7 @@ public class FOFileHandler extends InputHandler {
      */
     public FOFileHandler(File fofile) {
         this.fofile = fofile;
+        setBaseURL(fofile);
     }
 
     /**
index 6ace226fdf2d5eda40a7c624687f2f9b3c24ec1f..4efa2c91ff5c6d0e3925945c56c2f374b74dbffc 100644 (file)
@@ -41,6 +41,31 @@ public abstract class InputHandler {
      */
     public abstract InputSource getInputSource();
 
+    protected String baseURL = null;
+    
+    /**
+     * Get the base URL associated with this input source
+     * @return the input source
+     */
+    public String getBaseURL() {
+        return baseURL;
+    }
+
+    /**
+     * Attempts to set a default base URL from the parent of the file passed
+     * as an argument. Sets <code>baseURL</code> to the URL derived, or to an
+     * empty string if that fails.
+     * @param file
+     */
+    protected void setBaseURL(File file) {
+        try {
+            baseURL =
+                new File(file.getAbsolutePath()).getParentFile().toURL().toExternalForm();
+        } catch (Exception e) {
+            baseURL = "";
+        }
+    }
+
     /**
      * Get the SAX parser associated with this input handler.
      * @return the SAX parser
index 8820336164b1c586374595d71fa2cb284ed7bb96..9aa83eeebc5172a9cb89b05ab3c8a76ce711be2f 100644 (file)
@@ -55,6 +55,7 @@ public class XSLTInputHandler extends InputHandler {
     public XSLTInputHandler(File xmlfile, File xsltfile, Vector params) {
         this.xmlSource  = new StreamSource(xmlfile);
         this.xsltSource = new StreamSource(xsltfile);
+        setBaseURL(xmlfile);
         xsltParams = params;
     }
 
@@ -67,6 +68,7 @@ public class XSLTInputHandler extends InputHandler {
     public XSLTInputHandler(File xmlfile, File xsltfile) {
         this.xmlSource  = new StreamSource(xmlfile);
         this.xsltSource = new StreamSource(xsltfile);
+        setBaseURL(xmlfile);
     }
 
     /**
index 7e7a46f25249a04ee8c83003fb32fd9749261a5f..fc35f0b25336532fb11d3413a075c1c938e42a8e 100644 (file)
@@ -20,11 +20,9 @@ package org.apache.fop.configuration;
 
 // Java
 import java.util.Map;
+import java.util.logging.Logger;
 import java.io.InputStream;
 
-// Avalon
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
 
 /**
  * The User Agent for fo.
@@ -46,7 +44,7 @@ import org.apache.avalon.framework.logger.Logger;
  * These areas may contain resolveable areas that will be processed
  * with other resolveable areas
  */
-public class FOUserAgent implements LogEnabled {
+public class FOUserAgent {
 
     private Logger log;
     /** Map containing various default values */
@@ -59,7 +57,6 @@ public class FOUserAgent implements LogEnabled {
     /**
      * Sets the logger.
      * @param log Logger to use
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
      */
     public void enableLogging(Logger log) {
         this.log = log;