Bug 207895 [Automation]Exception occurs when preview a crosstab with IN filter[1102]
Description: Exception occurs when preview a crosstab with IN filter[1102] Build number: 2.3.0.v20071029-0630 Steps to reproduce: 1, New a crosstab 2, Specify a IN filter of crosstab 3, Preview Expected result: Preview should be ok and filter works well Actual result: Exception occurs Error log: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report; nested exception is: java.lang.StackOverflowError java.util.ArrayList.get(ArrayList.java:321) org.eclipse.birt.data.engine.olap.query.view.CubeQueryDefinitionUtil.getExprTextList(CubeQueryDefinitionUtil.java:248)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/CubeQueryDefinitionUtil.java
(IBaseExpression) ( (IBinding) queryDefn.getBindings( )
							.get( i ) ).getExpression( ) );
		}
	}
	/**
	 * To create all the rational measures for CubeQueryDefinition according to the expression
	 * 
	 * @param queryDefn, expression
	 * @return List
	 * @throws DataException 
	 */
	private static List createRelationalMeasures(
			ICubeQueryDefinition queryDefn, IBaseExpression expression )
			throws DataException
	{
		List measures = new ArrayList( );
		List exprTextList = getExprTextList( expression );
		for ( int i = 0; i < exprTextList.size( ); i++ )
		{
			String exprText = (String) exprTextList.get( i );
			String measureName = OlapExpressionCompiler.getReferencedScriptObject( exprText,
					"measure" );
			if ( measureName != null && measureName.trim( ).length( ) > 0 )
			{
				
				List existMeasures = queryDefn.getMeasures( );
				boolean exist = false;
				for ( int j = 0; j < existMeasures.size( ); j++ )
				{
					if ( ( (IMeasureDefinition) existMeasures.get( j ) ).getName( )