Bug 210510 The filter's select value from String type dimension should be quoted[1102]
Description: The select value from String type dimension should be quoted, we should judge the data type from the binding of crosstab, currently we may judge the type from the dimension in cube builder. Build number: 2.3.0.v20071121-0800 Steps to reproduce: 1, New a cube with Integer type dimension 2, New a crosstab using the cube 3, Change the Integer type dimension's binding to String type 4, New a filter on that dimension and select value Expected result: The selected value should be quoted such as "11001" Actual result: The select value is without quotes. Error log:
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/CubeQueryUtil.java
* (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.ICubeQueryDefinition)
	 */
	public Iterator getMemberValueIterator( TabularCubeHandle cubeHandle,
			String dataBindingExpr, ICubeQueryDefinition queryDefn, Map appContext )
			throws AdapterException
	{
		try
		{
			if ( cubeHandle == null
					|| dataBindingExpr == null || queryDefn == null )
				return null;
			Set dimLevels = OlapExpressionCompiler.getReferencedDimLevel( new ScriptExpression( dataBindingExpr ),
					queryDefn.getBindings( ),
					true );
			if ( dimLevels.size( ) == 0 || dimLevels.size( ) > 1 )
				return null;
			DimLevel target = (DimLevel) dimLevels.iterator( ).next( );
			TabularHierarchyHandle hierHandle = (TabularHierarchyHandle) ( cubeHandle.getDimension( target.getDimensionName( ) ).getContent( TabularDimensionHandle.HIERARCHIES_PROP,
					0 ) );
			if ( hierHandle.getDataSet( ) != null )
				defineDataSourceAndDataSet( hierHandle.getDataSet( ) );
			else
				defineDataSourceAndDataSet( cubeHandle.getDataSet( ) );
			Map levelValueMap = new HashMap( );
			DataSetIterator it = new DataSetIterator( this.session, hierHandle, appContext );
			return new MemberValueIterator( it,
					levelValueMap,
					target.getLevelName( ), target.getAttrName( ) );
		}