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
measureRelationMap.put( measure.getName( ),
						new RelationShip( rowLevelList, columnLevelList ) );
			}
		}
		ICubeAggrDefn[] cubeAggrs = OlapExpressionUtil.getAggrDefns( queryDefn.getBindings( ) );
		
		 if ( cubeAggrs != null && cubeAggrs.length > 0 )
		{
			for ( int i = 0; i < cubeAggrs.length; i++ )
			{
				if ( cubeAggrs[i].getAggrName( ) == null )
					continue;
				List aggrOns = cubeAggrs[i].getAggrLevels( );
				List usedLevelOnRow = new ArrayList( );
				List usedLevelOnColumn = new ArrayList( );
				for ( int j = 0; j < aggrOns.size( ); j++ )
				{
					if ( rowLevelList.contains( aggrOns.get( j ) ) )
						usedLevelOnRow.add( aggrOns.get( j ) );
					else if ( columnLevelList.contains( aggrOns.get( j ) ) )
						usedLevelOnColumn.add( aggrOns.get( j ) );
				}
				measureRelationMap.put( cubeAggrs[i].getName( ),
						new RelationShip( usedLevelOnRow, usedLevelOnColumn ) );
			}
		}
		return measureRelationMap;
	}
}