Bug 128359 The logic is not correctly when a filter is added to the table on the layout
Description: The logic is not correctly when a filter is added to the table on the layout Steps to reproduce: Let me give an example. 1. Creat a report, new a datasource and a dataset 2. We consume that the dataset has 10 records(DataResult_A) . We set a filter(Filter_A) in the dataset, and then the 6 records of the dataset(DataResult_B) are gained. 3. Drag the dataset to the layout, and set another filter(Filter_B) on the table. Actual result: The result of Filter_B is based on DataResult_A. Expect result: The result of Filter_B should be based on DataResult_B.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/PreparedQuery.java
/**
	 * Convert IGroupDefn to IQuery.GroupSpec
	 * 
	 * @param cx
	 * @param src
	 * @return
	 * @throws DataException
	 */
	protected IQuery.GroupSpec groupDefnToSpec( Context cx,
			IGroupDefinition src, String columnName, int index )
			throws DataException
	{
		int groupIndex = -1;
		String groupKey = src.getKeyColumn();
		boolean isComplexExpression = false;
		if ( groupKey == null || groupKey.length() == 0 )
		{
			
			
			
			ColumnInfo groupKeyInfo = getColInfoFromJSExpr( cx,
				src.getKeyExpression( ) );
			
			groupIndex = groupKeyInfo.getColumnIndex( );
			groupKey = groupKeyInfo.getColumnName();
		}
		if ( groupKey == null && groupIndex < 0 )
		{
			ColumnInfo groupKeyInfo = new ColumnInfo(index, columnName );
			groupIndex = groupKeyInfo.getColumnIndex( );