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
* @return -1,0 and 1 standing for <,= and > respectively
	 * @throws DataException
	 */
	public static int compare( Object obj1, Object obj2 ) throws DataException
	{
	    if (obj1 == null || obj2 == null) 
	    {
            
	        if (obj1 == null && obj2 != null)
                return -1;
            else if (obj1 != null && obj2 == null)
                return 1;
            else
                return 0;
        }
	    
		try
		{
			if ( MiscUtil.isSameType( obj1, obj2 ) )
			{
				if ( obj1 instanceof Boolean )
				{
					if ( obj1.equals( obj2 ) )
						return 0;
					
					Boolean bool = (Boolean) obj1;
					if ( bool.equals( Boolean.TRUE ) )
						return 1;
					else
						return -1;