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 ise!=null && ise.getText().trim().length() > 0 ? ise : new ScriptExpression("null");
		}
		
		/**
		 * 
		 * @return
		 */
		private static Object[] flatternMultipleValues( Object[] values )
		{
			if ( values == null || values.length == 0 )
				return new Object[0];
			List flattern = new ArrayList( );
			for ( int i = 0; i < values.length; i++ )
			{
				if ( values[i] instanceof Object[] )
				{
					Object[] flatternObj = (Object[]) values[i];
					flattern.addAll( Arrays.asList( flatternMultipleValues( flatternObj ) ) );
				}
				else
				{
					flattern.add( values[i] );
				}
			}
			return flattern.toArray( );
		}
	}
}