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
* groups[level] is an ArrayList of GroupInfo objects at the specified
	 * level. Level is a 0-based group index, with 0 denoting the outermost
	 * group, etc. Example: Row GroupKey1 GroupKey2 GroupKey3 Column4 Column5 0:
	 * CHINA BEIJING 2003 Cola $100 1: CHINA BEIJING 2003 Pizza $320 2: CHINA
	 * BEIJING 2004 Cola $402 3: CHINA SHANGHAI 2003 Cola $553 4: CHINA SHANGHAI
	 * 2003 Pizza $223 5: CHINA SHANGHAI 2004 Cola $226 6: USA CHICAGO 2004
	 * Pizza $133 7: USA NEW YORK 2004 Cola $339 8: USA NEW YORK 2004 Cola $297
	 * 
	 * groups: (parent, child) LEVEL 0 LEVEL 1 LEVEL 2
	 * ============================================ 0: -,0 0,0 0,0 1: -,2 0,2
	 * 0,2 2: 1,4 1,3 3: 1,5 1,5 4: 2,6 5: 3,7
	 */
	private ResultSetPopulator resultPopoulator;
	
	/**
	 * 
	 * @param query
	 * @param rsMeta
	 * @throws DataException 
	 */
	GroupCalculationUtil(
			BaseQuery query,
			ResultSetPopulator resultPopoulator) throws DataException
	{
		this.query = query;
		this.resultPopoulator = resultPopoulator;
		this.rsMeta = resultPopoulator.getResultSetMetadata( );
		groupInformationUtil = new GroupInformationUtil( this );
		
		this.initGroupSpec( );