Bug 124238 Grid without data binding will throw npe and break report.
In GridItemExecutor the following line of code will throw npe if there is no result set: IResultIterator rsIterator = ( ( DteResultSet ) rset ).getResultIterator( ); Need a null check. This is very serious, it will break reports with grids that don't have data binding. I consider this a showstopper for the 2.0 release.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/script/internal/RowData.java
import org.eclipse.birt.data.engine.api.IScriptExpression;
import org.eclipse.birt.report.engine.api.script.IRowData;
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