Bug 193092 If measure filter's member value type is boolean, exception throws out when preview[1102]
Description: If measure filter's member value type is boolean, exception throws out when preview[1102] Build number: 2.2.0.v20070618-1344 Steps to reproduce: 1, Open the attached report design 2, The measure's filter has a boolean type member value 3, Preview Expected result: The filter works well Actual result: Exception occurs when preview Error log: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report; nested exception is: java.lang.IllegalArgumentException org.eclipse.birt.data.engine.olap.data.util.CompareUtil.compare(CompareUtil.java:58) org.eclipse.birt.data.engine.olap.util.filter.DimensionFilterEvalHelper.evaluateFilter(DimensionFilterEvalHelper.java:71) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.applyAggrFilter(CubeQueryExecutorHelper.java:769) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.generateLevelFilters(CubeQueryExecutorHelper.java:595) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.applyAggrFilters(CubeQueryExecutorHelper.java:477) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.execute(CubeQueryExecutorHelper.java:299)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/script/ScriptEvalUtil.java
* default data type,i.e. obj, op1 and op2 will be formatted to the superset
	 * of obj (or Double if obj is numeric)on the condition they are comparable.<br>
	 * e.g.<br>
	 * obj: Integer=>obj, op1 and op2 will be formatted to Double.<br>
	 * obj: Timestamp=>obj, op1 and op2 will be formatted to Date.<br>
	 * obj: Boolean=>obj and op1 will be formatted to Boolean.<br>
	 * obj: String=>obj, op1 and op2 will remain the same
	 * 
	 * @param obj
	 * @param operator
	 * @param op1
	 * @param op2
	 * @return A Boolean result
	 * @throws DataException
	 */
	public static Object evalConditionalExpr( Object obj,
			int operator, Object o1, Object o2 )
			throws DataException
	{
		ExprTextAndValue op1 = createExprTextAndValueInstance( o1 );
		ExprTextAndValue op2 = createExprTextAndValueInstance( o2 );
		
		Object resultObject = obj;
		Object resultOp1 = op1.value;
		Object resultOp2 = op2.value;
		Object[] obArray = MiscUtil.isComparable( obj, operator, op1, op2 );
		if ( obArray != null )
		{
			resultObject = obArray[0];
			resultOp1 = obArray[1];