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
final String reservedChars = "([{^$|)?*+.";
		int patternLen = patternStr.length();
		StringBuffer buffer = new StringBuffer( patternLen * 2 );
		
		for ( int i = 0; i < patternLen; i++)
		{
			char c = patternStr.charAt(i);
			if ( c == '\\' )
			{
				 
				
				++i;
				if ( i < patternLen )
				{
					c = patternStr.charAt( i );
					if ( c == '%' || c == '_' )
						buffer.append( c );
					else if ( c == '\\' )
						buffer.append( "\\\\");		
				}
				else
				{
					buffer.append( "\\\\" );  	
				}
			}
			else if ( c == '%')
			{