Bug 204506 NPE block to create a aggregation builder including a argument such as Percentile function[0001]
Description: [Regression]NPE block to create a aggregation builder including a argument such as Percentile function[0001] Build number: 2.2.1.v20070924-1643 Steps to reproduce: 1, New a Sample Dataset from CUSTOMERS 2, New a table binding the dataset and group on COUNTRY 3, Drag a aggregation builder into the table 4, Specify the FUNCTION as Percentile, Data Field to dataSetRow["CUSTOMERNUMBER"], percentage to 0.5 and aggregate on Group1 5, Click OK to finish Expected result: The aggregation builder is created well Actual result: org.eclipse.birt.report.designer.core.runtime.GUIException: Caused by java.lang.NullPointerException occurs Error log: rg.eclipse.birt.report.designer.core.runtime.GUIException: Caused by java.lang.NullPointerException. 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.internal.ui.dialogs.DataColumnBindingDialog.okPressed(DataColumnBindingDialog.java:235)
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/dialogs/BindingDialogHelper.java
if ( !strEquals( binding.getExpression( ), cmbDataField.getText( ) ) )
				return true;
			if ( !strEquals( binding.getAggregateFunction( ),
					getFunctionByDisplayName( cmbFunction.getText( ) ).getName( ) ) )
				return true;
			if ( !strEquals( binding.getFilterExpression( ),
					txtFilter.getText( ) ) )
				return true;
			if ( btnTable.getSelection( ) == ( binding.getAggregateOn( ) != null ) )
				return true;
		}
		else
		{
			if ( txtName != null
					&& !strEquals( txtName.getText( ), binding.getName( ) ) )
				return true;
			if ( cmbName != null
					&& !strEquals( cmbName.getText( ), binding.getName( ) ) )
				return true;
			if ( !strEquals( txtDisplayName.getText( ),
					binding.getDisplayName( ) ) )
				return true;
			if ( !strEquals( getDataType( ), binding.getDataType( ) ) )
				return true;
			if ( !strEquals( txtExpression.getText( ), binding.getExpression( ) ) )
				return true;
		}
		return false;
	}
	private boolean strEquals( String left, String right )