Bug 200471 Add "need not sort for grouping" option in report item
Currently when Data engine proceeds groups, it always sorts the result set according to given group key.However that should not be necessary when the raw data is already sorted. So we'd like to add new options so that user can indicate whether should we sort the data before grouping. In model, we should allow user to set a "need not do sort for grouping" option to all the report element that can be grouped(table, list,etc.)
model/org.eclipse.birt.report.model.tests/test/org/eclipse/birt/report/model/parser/TableItemParseTest.java
assertEquals( "grade", sortHandle.getKey( ) ); 
		assertEquals( "desc", sortHandle.getDirection( ) ); 
		assertNull( sorts.next( ) );
		
		Iterator filters = table.filtersIterator( );
		FilterConditionHandle filterHandle = (FilterConditionHandle) filters
				.next( );
		assertEquals( "lt", filterHandle.getOperator( ) ); 
		assertEquals( "filter expression", filterHandle.getExpr( ) ); 
		assertEquals( "value1 expression", filterHandle.getValue1( ) ); 
		assertEquals( "value2 expression", filterHandle.getValue2( ) ); 
		
		SlotHandle headerSlot = table.getHeader( );
		assertNotNull( headerSlot );
		RowHandle rowHandle = (RowHandle) headerSlot.get( 0 );
		testReadVisibilityRules( rowHandle );
		assertEquals( 1, headerSlot.getCount( ) );
		
		SlotHandle detailSlot = table.getDetail( );
		assertNotNull( detailSlot );
		assertEquals( 1, detailSlot.getCount( ) );
		RowHandle row = (RowHandle) detailSlot.get( 0 );
		
		assertTrue( row.suppressDuplicates( ) );
		
		assertEquals( "birt.js.myDetailRowHandler", row 
				.getEventHandlerClass( ) );
		
		assertEquals( "create on the row", row.getOnCreate( ) ); 
		assertEquals( "render on the row", row.getOnRender( ) );