You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ch...@apache.org on 2002/12/09 01:58:47 UTC
cvs commit: xml-fop/src/org/apache/fop/image FopImageFactory.java
chrisg 2002/12/08 16:58:47
Modified: . Tag: fop-0_20_2-maintain CHANGES
src/org/apache/fop/image Tag: fop-0_20_2-maintain
FopImageFactory.java
Log:
Fixed resolution of relative URLs in FopImageFactory with IBM JDK
PR: 14949
Submitted by: Manuel Mall <mm...@arcus.com.au>
Revision Changes Path
No revision
No revision
1.10.2.36 +2 -0 xml-fop/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/xml-fop/CHANGES,v
retrieving revision 1.10.2.35
retrieving revision 1.10.2.36
diff -u -r1.10.2.35 -r1.10.2.36
--- CHANGES 29 Nov 2002 09:46:18 -0000 1.10.2.35
+++ CHANGES 9 Dec 2002 00:58:47 -0000 1.10.2.36
@@ -1,5 +1,7 @@
==============================================================================
Done since 0.20.4 release
+- Fixed resolution of relative URLs in FopImageFactory with IBM JDK
+ Submitted by: Manuel Mall <mm...@arcus.com.au> (see bug #14948)
- Fixed infinite loop when page-height="auto" (Oleg Tkachenko)
- Fix embedding of Adobe Type 1 fonts. PFB file encoded in PC format were
not decoded prior to embedding. This may explain error messages with
No revision
No revision
1.25.2.8 +26 -3 xml-fop/src/org/apache/fop/image/Attic/FopImageFactory.java
Index: FopImageFactory.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/image/Attic/FopImageFactory.java,v
retrieving revision 1.25.2.7
retrieving revision 1.25.2.8
diff -u -r1.25.2.7 -r1.25.2.8
--- FopImageFactory.java 24 Nov 2002 21:35:14 -0000 1.25.2.7
+++ FopImageFactory.java 9 Dec 2002 00:58:47 -0000 1.25.2.8
@@ -97,9 +97,32 @@
}
try {
- absoluteURL = new URL(baseURL, absoluteURL.getFile());
+ /*
+ This piece of code is based on the following statement in RFC2396 section 5.2:
+
+ 3) If the scheme component is defined, indicating that the reference
+ starts with a scheme name, then the reference is interpreted as an
+ absolute URI and we are done. Otherwise, the reference URI's
+ scheme is inherited from the base URI's scheme component.
+
+ Due to a loophole in prior specifications [RFC1630], some parsers
+ allow the scheme name to be present in a relative URI if it is the
+ same as the base URI scheme. Unfortunately, this can conflict
+ with the correct parsing of non-hierarchical URI. For backwards
+ compatibility, an implementation may work around such references
+ by removing the scheme if it matches that of the base URI and the
+ scheme is known to always use the <hier_part> syntax.
+
+ The URL class does not implement this work around, so we do.
+ */
+
+ String scheme = baseURL.getProtocol() + ":";
+ if (href.startsWith(scheme)) {
+ href = href.substring(scheme.length());
+ }
+ absoluteURL = new URL(baseURL, href);
+ System.out.println("baseURL=" + baseURL.toString() + " href=" + href + " absoluteURL=" + absoluteURL.toString());
} catch (MalformedURLException e_context) {
- // pb context url
throw new FopImageException("Invalid Image URL - error on relative URL : "
+ e_context.getMessage());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org