Bug 201205 Exception occurs in dataset preview when IN filter contains a blank value[0802]
Description: Exception occurs in dataset preview when IN filter contains a blank value[0802] Build number: 2.2.1.v20070827-0630 Steps to reproduce: 1, New a sampleDB customer dataset 2, New a filter and operator is IN 3, Specify a blank value and add 4, Preview in dataset Expected result: The preview should be successful and no exception Actual result: Exception occurs Error log: org.eclipse.birt.report.designer.core.runtime.GUIException: Caused by java.lang.reflect.InvocationTargetException. at org.eclipse.birt.report.designer.core.runtime.GUIException.createGUIException(GUIException.java:76) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:169) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:150) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:89) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage.updateResultsProcess(ResultSetPreviewPage.java:515) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage.runUpdateResults(ResultSetPreviewPage.java:274) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage.access$1(ResultSetPreviewPage.java:244) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage$4.runInUIThread(ResultSetPreviewPage.java:237)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/script/ScriptEvalUtil.java
else if ( ( operator == IConditionalExpression.OP_BETWEEN || operator == IConditionalExpression.OP_NOT_BETWEEN ) &&
					ops.length < 2 )
				return false;
			return true;
		}
		
		/**
		 * To ease the methods compare and between. Exception with specific
		 * explanation will be thrown if anything goes wrong.
		 * 
		 * @param obj
		 * @param operands
		 * @return
		 */
		private static Object[] formatToComparable( Object obj,
				ExprTextAndValue[] operands )
		{
			Object[] obArray = new Object[operands.length + 1];
			obArray[0] = obj;
			for ( int i = 0; i < operands.length; i++ )
			{
				obArray[i + 1] = operands[i].value;
			}
			boolean isSameType = true;
			
			
			
			if ( isSameType( obj, obArray[1] ) )
			{
				for ( int i = 1; i < operands.length; i++ )