Erik Hofer created FOP-2973:
-------------------------------
Summary: Cannot use custom schemes starting with "data" in
resource resolving
Key: FOP-2973
URL: https://issues.apache.org/jira/browse/FOP-2973
Project: FOP
Issue Type: Bug
Affects Versions: 2.5
Reporter: Erik Hofer
In {{org.apache.fop.apps.io.InternalResourceResolver}} there is the following
code:
{code:java}
public Resource getResource(URI uri) throws IOException {
if (uri.getScheme() != null && uri.getScheme().startsWith("data")) {
return new Resource(resolveDataURI(uri.toASCIIString()));
}
return resourceResolver.getResource(resolveFromBase(uri));
}
{code}
All URIs with a scheme _starting with_ "data" are treated as a data URI. This
means schemes like "dataFoo" are not delegated to the {{resourceResolver}}. I
think this should be {{equals}} instead.
The string overload works correctly because it includes the colon:
{code:java}
public Resource getResource(String stringUri) throws IOException,
URISyntaxException {
if (stringUri.startsWith("data:")) {
return new Resource(resolveDataURI(stringUri));
}
return getResource(cleanURI(stringUri));
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)