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]