Author: jeremias
Date: Thu Dec 27 09:13:45 2007
New Revision: 607091

URL: http://svn.apache.org/viewvc?rev=607091&view=rev
Log:
Avoid cutting away the URI fragment when building URLs from filenames.

Modified:
    
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/apps/FOURIResolver.java

Modified: 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/apps/FOURIResolver.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/apps/FOURIResolver.java?rev=607091&r1=607090&r2=607091&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/apps/FOURIResolver.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/apps/FOURIResolver.java
 Thu Dec 27 09:13:45 2007
@@ -32,13 +32,13 @@
 import javax.xml.transform.URIResolver;
 import javax.xml.transform.stream.StreamSource;
 
-// commons logging
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.util.DataURIResolver;
 
 import org.apache.xmlgraphics.util.io.Base64EncodeStream;
 
+import org.apache.fop.util.DataURIResolver;
+
 /**
  * Provides FOP specific URI resolution. This is the default URIResolver
  * [EMAIL PROTECTED] FOUserAgent} will use unless overidden.
@@ -132,10 +132,23 @@
         // Fallback to default resolution mechanism
         if (source == null) {
             URL absoluteURL = null;
-            File file = new File(href);
+            int hashPos = href.indexOf('#');
+            String fileURL, fragment;
+            if (hashPos >= 0) {
+                fileURL = href.substring(0, hashPos);
+                fragment = href.substring(hashPos);
+            } else {
+                fileURL = href;
+                fragment = null;
+            }
+            File file = new File(fileURL);
             if (file.canRead() && file.isFile()) {
                 try {
-                    absoluteURL = file.toURL();
+                    if (fragment != null) {
+                        absoluteURL = new URL(file.toURL().toExternalForm() + 
fragment);
+                    } else {
+                        absoluteURL = file.toURL();
+                    }
                 } catch (MalformedURLException mfue) {
                     handleException(mfue, "Could not convert filename '" + href
                             + "' to URL", throwExceptions);



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

Reply via email to