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
private void initFunction( )
	{
		cmbFunction.setItems( getFunctionDisplayNames( ) );
		
		if ( binding == null )
		{
			cmbFunction.select( 0 );
			handleFunctionSelectEvent( );
			return;
		}
		try
		{
			String functionString = getFunctionDisplayName( DataAdapterUtil.adaptModelAggregationType( binding.getAggregateFunction( ) ) );
			int itemIndex = getItemIndex( getFunctionDisplayNames( ),
					functionString );
			cmbFunction.select( itemIndex );
			handleFunctionSelectEvent( );
		}
		catch ( AdapterException e )
		{
			ExceptionHandler.handle( e );
		}
		
		
		for ( Iterator iterator = binding.argumentsIterator( ); iterator.hasNext( ); )
		{
			AggregationArgumentHandle arg = (AggregationArgumentHandle) iterator.next( );
			String argDisplayName = getArgumentDisplayNameByName( binding.getAggregateFunction( ),
					arg.getName( ) );
			if ( argsMap.containsKey( argDisplayName ) )