Bug 188224 DTE should give out APIs about CrossTab filter equal value list and member value list Util.
DTE should give out APIs about CrossTab filter equal value list and member value list Util.
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/DataRequestSessionImpl.java
IDimension[] dimensions = populateDimensions( cubeMaterializer, cubeHandle );
		String[][] keyColumnNames = new String[dimensions.length][];
		for ( int i = 0; i < dimensions.length; i++ )
		{
			TabularDimensionHandle dim = (TabularDimensionHandle) cubeHandle.getDimension( dimensions[i].getName( ) );
			TabularHierarchyHandle hier = (TabularHierarchyHandle) dim.getDefaultHierarchy( );
			if ( cubeHandle.getDataSet( ).equals( hier.getDataSet( ) ) )
			{
				keyColumnNames[i] = dimensions[i].getHierarchy( ).getLevels( )[dimensions[i].getHierarchy( )
						.getLevels( ).length - 1].getKeyNames( );
			}
			else
			{
				Iterator it = cubeHandle.joinConditionsIterator( );
				while ( it.hasNext( ) )
				{
					DimensionConditionHandle dimCondHandle = (DimensionConditionHandle) it.next( );
					if ( dimCondHandle.getHierarchy( ).equals( hier ) )
					{
						Iterator conditionIt = dimCondHandle.getJoinConditions( )
								.iterator( );
						List keys = new ArrayList();
						while ( conditionIt.hasNext( ) )
						{
							DimensionJoinConditionHandle joinCondition = (DimensionJoinConditionHandle) conditionIt.next( );
							keys.add( joinCondition.getHierarchyKey( ));
						}
						keyColumnNames[i] = new String[keys.size( )];
						for( int j = 0; j < keys.size( ); j++ )
						{