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 DESIGN_PARSER_EXCEPTION_INVALID_ELEMENT_ID = "Error.DesignParserException.INVALID_ELEMENT_ID"; 
	public static final String DESIGN_PARSER_EXCEPTION_VIRTUAL_PARENT_NOT_FOUND = "Error.DesignParserException.VIRTUAL_PARENT_NOT_FOUND"; 
	public static final String DESIGN_PARSER_EXCEPTION_DUPLICATE_ELEMENT_ID = "Error.DesignParserException.DUPLICATE_ELEMENT_ID"; 
	public static final String DESIGN_PARSER_EXCEPTION_INCONSISTENT_TEMPLATE_ELEMENT_TYPE = "Error.DesignParserException.INCONSISTENT_TEMPLATE_ELEMENT_TYPE"; 
	public static final String DESIGN_PARSER_EXCEPTION_MISSING_TEMPLATE_PARAMETER_DEFAULT = "Error.DesignParserException.MISSING_TEMPLATE_PARAMETER_DEFAULT"; 
	public static final String DESIGN_PARSER_EXCEPTION_WRONG_SIMPLE_LIST_TYPE = "Error.DesignParserException.WRONG_SIMPLE_LIST_TYPE"; 
	
	public static final String DESIGN_FILE_EXCEPTION_SYNTAX_ERROR = "Error.DesignFileException.SYNTAX_ERROR"; 
	public static final String DESIGN_FILE_EXCEPTION_SEMANTIC_ERROR = "Error.DesignFileException.SEMANTIC_ERROR"; 
	public static final String DESIGN_FILE_EXCEPTION_INVALID_XML = "Error.DesignFileException.INVALID_XML"; 
	public static final String DESIGN_FILE_EXCEPTION_SEMANTIC_WARNING = "Error.DesignFileException.SEMANTIC_WARNING"; 
	
	public static final String XML_PARSER_EXCEPTION_UNKNOWN_TAG = "Error.XMLParserException.UNKNOWN_TAG"; 
	public static final String XML_PARSER_EXCEPTION_SAX_ERROR = "Error.XMLParserException.SAX_ERROR"; 
	public static final String XML_PARSER_EXCEPTION_INVALID_BOOLEAN = "Error.XMLParserException.INVALID_BOOLEAN"; 
	public static final String XML_PARSER_EXCEPTION_WARNINGS_FOUND = "Error.XMLParserException.WARNINGS_FOUND"; 
	public static final String XML_PARSER_EXCEPTION_EXCEPTION = "Error.XMLParserException.EXCEPTION"; 
	public static final String XML_PARSER_EXCEPTION_INVALID_INTEGER = "Error.XMLParserException.INVALID_INTEGER"; 
	
	public static final String USER_PROPERTY_EXCEPTION_NAME_REQUIRED = "Error.UserPropertyException.NAME_REQUIRED"; 
	public static final String USER_PROPERTY_EXCEPTION_DUPLICATE_NAME = "Error.UserPropertyException.DUPLICATE_NAME"; 
	public static final String USER_PROPERTY_EXCEPTION_INVALID_TYPE = "Error.UserPropertyException.INVALID_TYPE"; 
	public static final String USER_PROPERTY_EXCEPTION_MISSING_CHOICES = "Error.UserPropertyException.MISSING_CHOICES"; 
	public static final String USER_PROPERTY_EXCEPTION_INVALID_DISPLAY_ID = "Error.UserPropertyException.INVALID_DISPLAY_ID"; 
	public static final String USER_PROPERTY_EXCEPTION_NOT_FOUND = "Error.UserPropertyException.NOT_FOUND"; 
	public static final String USER_PROPERTY_EXCEPTION_USER_PROP_DISALLOWED = "Error.UserPropertyException.USER_PROP_DISALLOWED"; 
	public static final String USER_PROPERTY_EXCEPTION_CHOICE_VALUE_REQUIRED = "Error.UserPropertyException.CHOICE_VALUE_REQUIRED"; 
	public static final String USER_PROPERTY_EXCEPTION_INVALID_CHOICE_VALUE = "Error.UserPropertyException.INVALID_CHOICE_VALUE"; 
	public static final String USER_PROPERTY_EXCEPTION_CHOICE_NAME_REQUIRED = "Error.UserPropertyException.CHOICE_NAME_REQUIRED"; 
	public static final String USER_PROPERTY_EXCEPTION_INVALID_DEFINITION = "Error.UserPropertyException.INVALID_DEFINITION";