Bug 135790 ClassCastException in RowData.
ClassCastException is thrown in RowData line 81(IBaseExpression expr = ( IBaseExpression ) valueExpressions.get( index - 1 );).
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/script/internal/RowData.java
import org.eclipse.birt.report.engine.api.script.ScriptException;
/**
 * A class representing expression results. Can be used to get values of
 * expressions defined on a report item. Implements lazy lookup; values are not
 * evaluated until they are requested.
 * 
 * Some processing is done to the expressions to make it easier for the user.
 * Example: It is ok to write row[CUSTOMERNAME] even though the correct
 * expression would be row["CUSTOMERNAME"]
 * 
 */
public class RowData implements IRowData
{
	private IResultIterator rsIterator;
	private List valueExpressions;
	private static final Pattern rowWithIndex = Pattern.compile(
			"(row\\[\\d+\\])", Pattern.CASE_INSENSITIVE );
	private static final Pattern rowWithWord = Pattern.compile(
			"(row\\[\\w+\\])", Pattern.CASE_INSENSITIVE );
	public RowData( IResultIterator rsIterator, List valueExpressions )
	{
		this.rsIterator = rsIterator;
		this.valueExpressions = valueExpressions;
	}
	/**
	 * Get the value of the provided expression. The expression must be defined
	 * on the report item. Some processing is done to the expression to make
	 * thing easier. It is ok to for an expression to contain things like
	 * row[CUSTOMERNAME] for example (will be replaced with row["CUSTOMENAME"]).
	 * row[123] will be kept as row[123] (index lookup). The regex used is to