Bug 179737 The MeasureHandle should be able to provide data type info
We are now allow user input expression as measure expression. However this brings difficulties in determine the data type of a measure expression evaluation result. We need MeasureHandle to be enhanced to include the data type info. Please note that data type "any" is not accepted.
model/org.eclipse.birt.report.model.tests/test/org/eclipse/birt/report/model/parser/TabularCubeParserTest.java
assertEquals( "column1", level.getColumnName( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_INTEGER, level
				.getDataType( ) );
		assertEquals( "week", level.getInterval( ) ); 
		assertEquals( 3.0, level.getIntervalRange( ), 0.00 );
		assertEquals( "Jan", level.getIntervalBase( ) ); 
		assertEquals( DesignChoiceConstants.LEVEL_TYPE_DYNAMIC, level
				.getLevelType( ) );
		iter = level.staticValuesIterator( );
		RuleHandle rule = (RuleHandle) iter.next( );
		assertEquals( "rule expression", rule.getRuleExpression( ) ); 
		assertEquals( "display expression", rule.getDisplayExpression( ) ); 
		rule = (RuleHandle) iter.next( );
		assertEquals( "rule expression2", rule.getRuleExpression( ) ); 
		assertEquals( "display expression2", rule.getDisplayExpression( ) ); 
		iter = level.attributesIterator( );
		LevelAttributeHandle attribute = (LevelAttributeHandle) iter.next( );
		assertEquals( "var1", attribute.getName( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_STRING, attribute
				.getDataType( ) );
		attribute = (LevelAttributeHandle) iter.next( );
		assertEquals( "var2", attribute.getName( ) ); 
		assertEquals( DesignChoiceConstants.COLUMN_DATA_TYPE_INTEGER, attribute
				.getDataType( ) );
		
		iter1 = level.valueAccessControlsIterator( );
		ValueAccessControlHandle valueAccessControl = (ValueAccessControlHandle) iter1
				.next( );
		assertEquals( "level user1; level user2", valueAccessControl 
				.getPropertyHandle( IAccessControlModel.USER_NAMES_PROP )