Bug 146256 Birt cannot process images from a jar-based plugin
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.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/i18n/MessageConstants.java
public static final String CUSTOM_MSG_EXCEPTION_TRANSLATION_NOT_FOUND = "Error.CustomMsgException.TRANSLATION_NOT_FOUND"; 
	
	
	public static final String INVALID_PARENT_EXCEPTION_UNNAMED_PARENT = "Error.InvalidParentException.UNNAMED_PARENT"; 
	public static final String INVALID_PARENT_EXCEPTION_PARENT_NOT_FOUND = "Error.InvalidParentException.PARENT_NOT_FOUND"; 
	public static final String INVALID_PARENT_EXCEPTION_PARENT_NOT_INCLUDE = "Error.InvalidParentException.PARENT_NOT_INCLUDE"; 
	public static final String INVALID_PARENT_EXCEPTION_NO_PARENT = "Error.InvalidParentException.NO_PARENT"; 
	
	public static final String WRONG_TYPE_EXCEPTION_WRONG_TYPE = "Error.WrongTypeException.WRONG_TYPE"; 
	public static final String WRONG_TYPE_EXCEPTION_WRONG_EXTENSION_TYPE = "Error.WrongTypeException.WRONG_EXTENSION_TYPE"; 
	
	public static final String EXTENDS_FORBIDDEN_EXCEPTION_EXTENDS_FORBIDDEN = "Error.ExtendsForbiddenException.EXTENDS_FORBIDDEN"; 
	public static final String EXTENDS_FORBIDDEN_EXCEPTION_CANT_EXTEND = "Error.ExtendsForbiddenException.CANT_EXTEND"; 
	public static final String EXTENDS_FORBIDDEN_EXCEPTION_PARENT_NOT_IN_COMPONENT = "Error.ExtendsForbiddenException.PARENT_NOT_IN_COMPONENT"; 
	
	public static final String CIRCULAR_EXTENDS_EXCEPTION_SELF_EXTEND = "Error.CircularExtendsException.SELF_EXTEND"; 
	public static final String CIRCULAR_EXTENDS_EXCEPTION_CIRCULAR = "Error.CircularExtendsException.CIRCULAR"; 
	
	public static final String NAME_EXCEPTION_NAME_REQUIRED = "Error.NameException.NAME_REQUIRED"; 
	public static final String NAME_EXCEPTION_NAME_FORBIDDEN = "Error.NameException.NAME_FORBIDDEN"; 
	public static final String NAME_EXCEPTION_DUPLICATE = "Error.NameException.DUPLICATE"; 
	public static final String NAME_EXCEPTION_HAS_REFERENCES = "Error.NameException.HAS_REFERENCES"; 
	public static final String NAME_EXCEPTION_DOT_FORBIDDEN = "Error.NameException.DOT_FORBIDDEN"; 
	
	public static final String PROPERTY_NAME_EXCEPTION_PROPERTY_NOT_VALID = "Error.PropertyNameException.PROPERTY_NOT_VALID"; 
	public static final String PROPERTY_NAME_EXCEPTION_MEMBER_NOT_VALID = "Error.PropertyNameException.MEMBER_NOT_VALID"; 
	
	public static final String PROPERTY_VALUE_EXCEPTION_INVALID_VALUE = "Error.PropertyValueException.INVALID_VALUE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_CHOICE_NOT_FOUND = "Error.PropertyValueException.CHOICE_NOT_FOUND"; 
	public static final String PROPERTY_VALUE_EXTENSION_SETTING_FORBIDDEN = "Error.PropertyValueException.EXTENSION_SETTING_FORBIDDEN";