Bug 184411 Enhance CubeCursor cache performance.
Performance is critical in CubeCursor cache(especially in report document).However in CachedAggregationResultSet the aggregationResultRow is load from input stream at the very time the instance is initialize. This defeat the purpose to save it to report document, which target to achieve high performance in page progressive viewing. We should populate the value based on the input stream in case of necessary.
data/org.eclipse.birt.data.tests/test/org/eclipse/birt/data/engine/olap/data/impl/CubeAggregationTest.java
/**
	 * get distincted string array, in which any object is unique.
	 * @param iValues
	 * @return
	 */
	private static String[] distinct( String[] iValues )
	{
		Arrays.sort( iValues );
		List tempList = new ArrayList( );
		tempList.add( iValues[0] );
		for ( int i = 1; i < iValues.length; i++ )
		{
			if ( !iValues[i].equals( iValues[i - 1] ) )
			{
				tempList.add( iValues[i] );
			}
		}
		String[] result = new String[tempList.size( )];
		for ( int i = 0; i < result.length; i++ )
		{
			result[i] = ((String)tempList.get( i ));
		}
		return result;
	}
	private void testCube1Create( IDocumentManager documentManager ) throws IOException, BirtException, DataException
	{
		Dimension[] dimensions = new Dimension[3];
		
		
		String[] colNames = new String[3];