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/presentation/LocalizedContentVisitor.java
if ( rawValue[0] != null )
				{
					text = (String )rawValue[0];
				}
				if ( rawValue[1] instanceof HashMap )
				{
					rawValues = (HashMap)rawValue[1];
				}
			}
			if ( text == null )
			{
				text = localize( foreignContent, design.getTextKey( ), design.getText( ) );
			}
			
			TextTemplate template = parseTemplate( text );
			String result = executeTemplate( template, rawValues );
			
			foreignContent.setRawType( IForeignContent.HTML_TYPE );
			foreignContent.setRawValue( result );
		}
	}
	protected String getOutputFormat()
	{
		return outputFormat;
	}
	
	/**
	 * @return whether the output format is for printing
	 */
	protected boolean isForPrinting( )