Bug 211175 ClassCastException thrown when implementing IReportItemQuery
When implementing IReportItemQuery's method, public IDataQueryDefinition[] createReportQueries(IDataQueryDefinition parent) throws BirtException, even if the impl method returns IDataQueryDefinition[], ClassCastException will be thrown during preview, the error log is as follows: java.lang.ClassCastException: [Lorg.eclipse.birt.data.engine.api.IDataQueryDefinition; at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.generateContent(ExtendedGenerateExecutor.java:91) at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.execute(ExtendedGenerateExecutor.java:72) at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:60) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42) If the method returns IBaseQueryDefinition[], it's ok. Look at the engine code, there's something wrong of class casting when generating content.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/extension/IReportItemPresentation.java
*            locale
	 */
	public void setLocale( Locale locale );
	/**
	 * passes the dpi (dot per inch) from the rendering environment to the
	 * extension. Mostly used for printing.
	 * 
	 * @deprecated implement #init(IReportItemPresentationInfo) instead.
	 * @param dpi
	 *            the dpi of the rendering environment
	 */
	public abstract void setResolution( int dpi );
	/**
	 * sets the output format, i.e., HTML, PDF, etc.
	 * 
	 * @deprecated implement #init(IReportItemPresentationInfo) instead.
	 * @param outputFormat
	 *            the output format, i.e., html, pdf, etc.
	 */
	public abstract void setOutputFormat( String outputFormat );
	
	/**
	 * @deprecated implement #init(IReportItemPresentationInfo) instead.
	 * @param ah the HTML action handler used to create a URL based on an action
	 */
	public abstract void setActionHandler( IHTMLActionHandler ah );
	/**
	 * @return the image MIME type (e.g. "image/svg+xml")
	 */
	public abstract String getImageMIMEType( );