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/ReportItemPresentationBase.java
*/
	public Object onRowSets( IBaseResultSet[] results ) throws BirtException
	{
		if ( results == null )
		{
			return onRowSets( (IRowSet[]) null );
		}
		int length = results.length;
		
		for ( int i = 0; i < length; i++ )
		{
			if ( results[i].getType( ) == IBaseResultSet.CUBE_RESULTSET )
			{
				return null;
			}
		}
		IRowSet[] rowSets = new IRowSet[length];
		for ( int index = 0; index < length; index++ )
		{
			IQueryResultSet resultSet = (IQueryResultSet) results[index];
			rowSets[index] = new RowSet( resultSet );
		}
		return onRowSets( rowSets );
	}
	/**
	 * @return the image MIME type (e.g. "image/svg+xml")
	 */
	public String getImageMIMEType( )
	{
		return "";