Peter Schlömer created XGC-131:
----------------------------------
Summary: UnrestrictedFallbackResolver opens input stream for wrong
resource
Key: XGC-131
URL: https://issues.apache.org/jira/browse/XGC-131
Project: XMLGraphicsCommons
Issue Type: Bug
Components: general
Affects Versions: 2.7, trunk
Reporter: Peter Schlömer
Attachments: test-unrestricted-fallback-resolver.zip,
xmlgraphics-commons-patch-1.txt
There is a bug in {{UnrestrictedFallbackResolver}} (an embedded class in
{{{}AbstractImageSessionContext{}}}) which causes it to open an input stream
for the wrong resource (the Source) instead of the {{uri}} of the image passed
to {{{}createSource(...){}}}.
This happens whenever the systemId in the Source starts with {{{}file:{}}}.
Instead of opening a {{FileInputStream}} for the image referenced by
{{{}uri{}}}, a stream for the URI in the Source's systemId is opened.
I discovered this because FOP is unable to include images in a PDF in one of
our applications. Instead of reading the image file, it tries to use the FOP
document as an image. I was able to avoid this problem on the FOP level by
using {{{}EnvironmentalProfileFactory.createRestrictedIO(...){}}}, which
switches to the {{RestricedFallbackResolver}} which does not have the problem.
A patch for {{AbstractImageSessionContext.java}} is attached
([^xmlgraphics-commons-patch-1.txt]).
Also attached is a Zip file countaining a Maven project
([^test-unrestricted-fallback-resolver.zip]). Running {{mvn test}} on this
project will run 6 unit tests, repeating the same tests 3 times to show the
different behaviour between
* {{UnrestrictedFallbackResolver}} (where the test recreating the conditions
described above fails)
* {{RestricedFallbackResolver}}
* a class containing the patched version of {{UnrestrictedFallbackResolver}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]