Bug 213126 Add support for DataEngine-leve dataset cache
In many cases the DataEngine-leve dataset cache is useful which ensure that a dataset is executed one time during rendering one report. To support this feature a new dataset property should be added. The Birt customer can choose whether this dataset need to be cached or not by setting the property in deisgn time.
model/org.eclipse.birt.report.model.tests/test/org/eclipse/birt/report/model/parser/JointDataSetParseTest.java
columns = (List) dataSet.getProperty( DataSet.COMPUTED_COLUMNS_PROP );
		assertEquals( 1, columns.size( ) );
		ComputedColumn computedColumn = (ComputedColumn) columns.get( 0 );
		assertEquals( "column1", computedColumn.getColumnName( ) ); 
		assertEquals( "expression1", computedColumn.getExpression( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_INTEGER,
				computedColumn.getDataType( ) );
		
		List columnHints = (List) dataSet
				.getProperty( DataSet.COLUMN_HINTS_PROP );
		assertEquals( 1, columnHints.size( ) );
		ColumnHint columnHint = (ColumnHint) columnHints.get( 0 );
		PropertyDefn member = (PropertyDefn) columnHint.getDefn( ).getMember(
				ColumnHint.COLUMN_NAME_MEMBER );
		assertEquals( "username", columnHint.getProperty( design, member ) ); 
		member = (PropertyDefn) columnHint.getDefn( ).getMember(
				ColumnHint.ALIAS_MEMBER );
		assertEquals( "userid", columnHint.getProperty( design, member ) ); 
		member = (PropertyDefn) columnHint.getDefn( ).getMember(
				ColumnHint.SEARCHING_MEMBER );
		assertEquals( DesignChoiceConstants.SEARCH_TYPE_NONE, columnHint
				.getProperty( design, member ) );
		member = (PropertyDefn) columnHint.getDefn( ).getMember(
				ColumnHint.EXPORT_MEMBER );
		assertEquals( DesignChoiceConstants.EXPORT_TYPE_ALWAYS, columnHint
				.getProperty( design, member ) );
		member = (PropertyDefn) columnHint.getDefn( ).getMember(
				ColumnHint.ANALYSIS_MEMBER );
		assertEquals( DesignChoiceConstants.ANALYSIS_TYPE_DIMENSION, columnHint
				.getProperty( design, member ) );