Bug 141064 Remove group level data binding
This bug covers the engine part of the task to remove group level data binding. After the hange, all binding expressions will be defined on the table level, and each binding expression will have an AggregateOn field to explicitly define the group level for that expression.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/data/dte/ReportQueryBuilder.java
import org.eclipse.birt.report.model.api.SortKeyHandle;
import org.eclipse.birt.report.model.api.TableHandle;
import org.eclipse.birt.report.model.api.elements.DesignChoiceConstants;
/**
 * visit the report design and prepare all report queries and sub-queries to
 * send to data engine
 * 
 * @version $Revision: 1.59 $ $Date: 2006/05/10 02:29:28 $
 */
public class ReportQueryBuilder
{
	protected static Logger logger = Logger.getLogger( ReportQueryBuilder.class
			.getName( ) );
	public ReportQueryBuilder( )
	{
	}
	/**
	 * @param report
	 *            the entry point to the report design
	 * @param context
	 *            the execution context
	 */
	public void build( Report report, ExecutionContext context )
	{
		new QueryBuilderVisitor( ).buildQuery( report, context );
	}
	/**
	 * The visitor class that actually builds the report query
	 */
	protected class QueryBuilderVisitor extends DefaultReportItemVisitorImpl