Bug 190984 xtab filter/sort did not work properly when using a joined data set
steps to reproduce: - use the attached report - try to add a filter/sort on xtab, e.g. using country column - notice that the value list is unavailable - try to enter the filter/sort condition manually, e.g. "USA" - preview in layout expected behavior: - when use joined data set, the value list should be available - report should be previewed properly actual behavior: - the value list was unavailable - NPE was thrown out when preview the report with the filter/sort condition being completed manually
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/CubeQueryUtil.java
this.session.defineDataSource( this.session.getModelAdaptor( )
					.adaptDataSource( hierHandle.getDataSet( ).getDataSource( ) ) );
			this.session.defineDataSet( this.session.getModelAdaptor( )
					.adaptDataSet( hierHandle.getDataSet( ) ) );
			Map levelValueMap = new HashMap( );
			DataSetIterator it = new DataSetIterator( this.session, hierHandle );
			return new MemberValueIterator( it,
					levelValueMap,
					target.getLevelName( ) );
		}
		catch ( BirtException e )
		{
			throw new AdapterException( e.getLocalizedMessage( ), e );
		}
	}
	
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.birt.report.data.adapter.api.ICubeQueryUtil#getMemberValueIterator(org.eclipse.birt.report.model.api.olap.TabularCubeHandle, java.lang.String, org.eclipse.birt.data.engine.olap.api.query.ILevelDefinition[], java.lang.Object[])
	 */
	public Iterator getMemberValueIterator( TabularCubeHandle cubeHandle,
			String targetLevel, ILevelDefinition[] higherLevelDefns,
			Object[] values ) throws AdapterException
	{
		try
		{
			if ( ( higherLevelDefns == null && values != null )
					|| ( higherLevelDefns != null && values == null )
					|| cubeHandle == null || targetLevel == null )
				return null;