Project: Birt
Bug 146256 Birt cannot process images from a jar-based plugin
Reported: 2006-06-09 10:10:02 | Status: resolved fixed

BIRT Build: 2.1.0.N20060531-1258 I have an XML document containg references to images with an Eclipse plugin jar file. For example see "severityImage" in the following example: <RESULT name="Avoid returning java.lang.Object , downcast to specific type instead" severity="Recommendation" severityId="0" severityImage="jar:file:D:\rad\eclipse\plugins\org.eclipse.tptp.platform.analysis.core_4.2.0.v200605251528.jar!/icons/rulercmdation_obj.gif"> </RESULT> The URL was generated by Eclipse API's and returns a path to an image stored within a JARred plugin. This plugin is in the same workspace as BIRT so BIRT should be able to find it. However when the BIRT report generator tries to build the report it is unable to find the image. I suspect the image loader in the BIRT report generator does not properly handle Eclipse-based URL's. This is impacting our product deliverables and the only workarounds appears to be for our code to extract the images from the plugin and write them to the filesystem, then reference that image file for BIRT.

Files changed in fix:
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/DefaultResourceLocator.java model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/util/URIUtil.java model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/i18n/MessageConstants.java model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/parser/DesignParserException.java model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/parser/ModuleReader.java