Bug 188052 Enhance the behavior of DimensionConditionHandle
Current in model implementation, there could be multiple DimensionConditionHandle corresponding to one dimension. This will cause problem for both UI and DtE. What we expect is that for each dimension, there are only one DimensionConditionHandle accompany with. Model should merge all the duplicate DimensionConditionHandle so that when UI/DtE is using model API the we can get unique DimensionConditionHandle for each dimension.
model/org.eclipse.birt.report.model.tests/test/org/eclipse/birt/report/model/parser/TabularCubeParserTest.java
assertEquals(
				designHandle.findDataSet( "secondDataSet" ), hierarchy.getDataSet( ) ); 
		
		iter1 = hierarchy.accessControlsIterator( );
		accessControl = (AccessControlHandle) iter1.next( );
		assertEquals( "hierarchy user1; hierarchy user2", accessControl 
				.getPropertyHandle( IAccessControlModel.USER_NAMES_PROP )
				.getStringValue( ) );
		assertEquals( "hierarchy role1; hierarchy role2", accessControl 
				.getPropertyHandle( IAccessControlModel.ROLES_PROP )
				.getStringValue( ) );
		assertEquals( DesignChoiceConstants.ACCESS_PERMISSION_ALLOW,
				accessControl.getPermission( ) );
		propHandle = cube.getPropertyHandle( TabularCubeHandle.DIMENSIONS_PROP );
		assertEquals( 1, propHandle.getContentCount( ) );
		assertEquals( 1, cube
				.getContentCount( TabularCubeHandle.DIMENSIONS_PROP ) );
		
		iter = hierarchy.filtersIterator( );
		filterConditionHandle = (FilterConditionHandle) iter.next( );
		assertEquals( "filter expression", filterConditionHandle.getExpr( ) ); 
		List primaryKeys = hierarchy.getPrimaryKeys( );
		assertEquals( 3, primaryKeys.size( ) );
		assertEquals( "key", primaryKeys.get( 0 ) ); 
		assertEquals( "key2", primaryKeys.get( 1 ) ); 
		assertEquals( "key4", primaryKeys.get( 2 ) ); 
		propHandle = hierarchy
				.getPropertyHandle( TabularHierarchyHandle.LEVELS_PROP );
		assertEquals( 1, propHandle.getContentCount( ) );
		assertEquals( 1, hierarchy