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
testCube2Aggregation( documentManager );
	}
	
	/**
	 * create cube query definition for aggregation filtering.
	 * @return
	 * @throws DataException
	 */
	private ICubeQueryDefinition createCube1QueryDefn() throws DataException
	{
		ICubeQueryDefinition cubeQuery = CubeElementFactory.createCubeQuery( "cube1" );
		IEdgeDefinition rowEdge = cubeQuery.createEdge( ICubeQueryDefinition.ROW_EDGE );
		IEdgeDefinition columnEdge = cubeQuery.createEdge( ICubeQueryDefinition.COLUMN_EDGE );
		IDimensionDefinition dimension1 = rowEdge.createDimension( "dimension1" );
		IHierarchyDefinition hier1 = dimension1.createHierarchy( "hier1" );
		hier1.createLevel( "level11" ); 
		hier1.createLevel( "level12" );
		hier1.createLevel( "level13" );
		IBinding bindin11 = new Binding("edge1_level11");
		bindin11.setExpression( new ScriptExpression("dimension[\"dimension1\"][\"level11\"]") );
		cubeQuery.addBinding( bindin11 );
		
		IBinding bindin12 = new Binding("edge1_level12");
		bindin11.setExpression( new ScriptExpression("dimension[\"dimension1\"][\"level12\"]") );
		cubeQuery.addBinding( bindin12 );
		
		IBinding bindin13 = new Binding("edge1_level13");
		bindin11.setExpression( new ScriptExpression("dimension[\"dimension1\"][\"level13\"]") );
		cubeQuery.addBinding( bindin13 );