Bug 190419 The topn filter doesn't take effect on the datetime type dimension[1102]
Description: The topn filter doesn't take effect on the datetime type dimension[1102] Build number: 2.2.0.v20070601-1347 Steps to reproduce: 1, New a crosstab which includes datetime type dimension 2, Specify a filter on the year level using two filter condition data["year"] topn 2 or dimension["Date"]["year"] topn 2 3, Preview Expected result: Both filter condition can take effect Actual result: No effect only 2005 year in crosstab
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/data/api/CubeQueryExecutorHelper.java
IJSTopBottomFilterHelper filter = (IJSTopBottomFilterHelper) filterList.get( i );
			int n = -1;
			boolean isTop = true;
			switch ( filter.getFilterType( ) )
			{
				case IJSTopBottomFilterHelper.TOP_N :
					n = (int) filter.getN( );
					break;
				case IJSTopBottomFilterHelper.BOTTOM_N :
					n = (int) filter.getN( );
					isTop = false;
					break;
				case IJSTopBottomFilterHelper.TOP_PERCENT :
					n = getTargetN( dimPosition.size( ), filter );
					break;
				case IJSTopBottomFilterHelper.BOTTOM_PERCENT :
					n = getTargetN( dimPosition.size( ), filter );
					isTop = false;
					break;
			}
			IDiskArray dimValueArray = new OrderedUniqueDiskArray( n, isTop );
			IDiskArray dimPositionArray = new OrderedUniqueDiskArray( );
			
			for ( int j = 0; j < dimPosition.size( ); j++ )
			{
				Integer pos = (Integer) dimPosition.get( j );
				DimensionRow dimRow = dimension.getRowByPosition( pos.intValue( ) );
				RowForFilter rowForFilter = getRowForFilter( dimension, dimRow );
				Object value = filter.evaluateFilterExpr( rowForFilter );
				dimValueArray.add( new ValueObject(value, pos) );