Bug 211839 String grouping unit type needs to support interval range.
Build ID: I20071101-2000 As Chart has supported, the String grouping unit type can be set interval range, the interval range means that the string group will base on row count distinction. For instance, let's say we have a,b,c,d,e,f,g , and set interval range to 2, the grouping result should be a,c,e,g. Now it is a requirement that DtE support the grouping type.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/transform/group/GroupCalculationUtil.java
import org.eclipse.birt.core.exception.BirtException;
import org.eclipse.birt.data.engine.cache.CachedList;
import org.eclipse.birt.data.engine.cache.ICachedObject;
import org.eclipse.birt.data.engine.cache.ICachedObjectCreator;
import org.eclipse.birt.data.engine.core.DataException;
import org.eclipse.birt.data.engine.executor.BaseQuery;
import org.eclipse.birt.data.engine.executor.cache.ResultSetCache;
import org.eclipse.birt.data.engine.executor.cache.SortSpec;
import org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator;
import org.eclipse.birt.data.engine.i18n.ResourceConstants;
import org.eclipse.birt.data.engine.odi.IQuery;
import org.eclipse.birt.data.engine.odi.IResultClass;
/**
 * The instance of this class is used by CachedResultSet to deal with
 * group-related data transformation operations.
 */
public class GroupCalculationUtil
{
	private BaseQuery query;
	private IResultClass rsMeta;
	/**
	 * Group definitions. Each entry has name of key column plus interval
	 * information. groupKeys[0] is the highest group level
	 */
	private GroupBy[] groupDefs;
	
	private ResultSetCache smartCache;
	private GroupInformationUtil groupInformationUtil;
	
	/*