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
.newTabularMeasureGroup( "testDefaultMeasureGroup" ) ); 
		PropertyHandle propHandle = cube
				.getPropertyHandle( TabularCubeHandle.DIMENSION_CONDITIONS_PROP );
		propHandle.removeItem( 1 );
		DimensionCondition condition = new DimensionCondition( );
		DimensionConditionHandle structHandle = cube
				.addDimensionCondition( condition );
		DimensionJoinConditionHandle joinConditionHandle = structHandle
				.addJoinCondition( new DimensionJoinCondition( ) );
		joinConditionHandle.setCubeKey( "addCubeKey" ); 
		joinConditionHandle.setHierarchyKey( "addHierarchyKey" ); 
		structHandle = (DimensionConditionHandle) propHandle.get( 0 );
		MemberHandle memberHandle = structHandle
				.getMember( DimensionCondition.HIERARCHY_MEMBER );
		memberHandle.setValue( valuePrix + "hierarchy" ); 
		structHandle.removeJoinCondition( 1 );
		
		AccessControlHandle accessControl = (AccessControlHandle) cube
				.accessControlsIterator( ).next( );
		accessControl.addUserName( "new cube user1" ); 
		accessControl.addUserName( "new cube user2" ); 
		accessControl.addRole( "new cube role1" ); 
		accessControl.addRole( "new cube role2" ); 
		accessControl
				.setPermission( DesignChoiceConstants.ACCESS_PERMISSION_ALLOW );
		
		propHandle = cube
				.getPropertyHandle( TabularCubeHandle.ACCESS_CONTROLS_PROP );
		accessControl = designHandle.getElementFactory( ).newAccessControl( );
		propHandle.add( accessControl );