Bug 189575 The 2 APIs don't work.
ICubeQueryUtil.getMemberValueIterator( TabularCubeHandle cubeHandle, String dataBindingExpr, ICubeQueryDefinition queryDefn ) ICubeQueryUtil.getMemberValueIterator( TabularCubeHandle cubeHandle, String targetLevel, ILevelDefinition[] higherLevelDefns, Object[] values ) The 2 APIs don't work. Please verify and correct them, or Crosstab sort and filter may throw runtime exception. Thanks.
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/CubeQueryUtil.java
if ( target.getDimensionName( )
						.equals( higherLevelDefns[i].getHierarchy( )
								.getDimension( )
								.getName( ) ) )
				{
					levelValueMap.put( higherLevelDefns[i].getName( ),
							values[i] );
				}
			}
			DataSetIterator it = new DataSetIterator( this.session,
					hierHandle );
			return new MemberValueIterator( it, levelValueMap, target.getLevelName( ));
		}
		catch ( DataException e )
		{
			throw new AdapterException( e.getLocalizedMessage( ), e );
		}
	}
	
	/**
	 * 
	 * @author Administrator
	 *
	 */
	private class MemberValueIterator implements Iterator
	{
		private IDatasetIterator dataSetIterator;
		private boolean hasNext;
		private Map levelValueMap;
		private String targetLevelName;