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
joinConditionHandle.getOperator( ) );
		assertEquals( "DataSet1", joinConditionHandle.getLeftDataSet( ) ); 
		assertEquals( "DataSet2", joinConditionHandle.getRightDataSet( ) ); 
		assertEquals( "leftExpression", joinConditionHandle 
				.getLeftExpression( ) );
		assertEquals( "rightExpression", joinConditionHandle 
				.getRightExpression( ) );
		TableHandle table = (TableHandle) designHandle.findElement( "table1" ); 
		assertEquals( "JointDataSet", table.getDataSet( ).getName( ) ); 
		List parameters = (List) dataSet
				.getProperty( SimpleDataSet.PARAMETERS_PROP );
		assertEquals( 1, parameters.size( ) );
		
		DataSetParameter parameter = (DataSetParameter) parameters.get( 0 );
		assertEquals( 1, parameter.getPosition( ).intValue( ) );
		assertEquals( "name", parameter.getName( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_STRING, parameter
				.getDataType( ) );
		assertTrue( parameter.isOptional( ) );
		assertEquals( "default value 1", parameter.getDefaultValue( ) ); 
		assertEquals( true, parameter.allowNull( ) );
		
		List columns = (List) dataSet.getProperty( DataSet.RESULT_SET_PROP );
		assertEquals( 1, columns.size( ) );
		ResultSetColumn column = (ResultSetColumn) columns.get( 0 );
		assertEquals( 1, column.getPosition( ).intValue( ) );
		assertEquals( "name", column.getColumnName( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_STRING, column
				.getDataType( ) );