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
Control[] children = argsComposite.getChildren( );
		for ( int i = 0; i < children.length; i++ )
		{
			children[i].dispose( );
		}
		IAggregationInfo function = getFunctionByDisplayName( cmbFunction.getText( ) );
		if ( function != null )
		{
			argsMap.clear( );
			List args = getFunctionArgNames( function.getName( ) );
			if ( args.size( ) > 0 )
			{
				( (GridData) argsComposite.getLayoutData( ) ).exclude = false;
				( (GridData) argsComposite.getLayoutData( ) ).heightHint = SWT.DEFAULT;
				for ( Iterator iterator = args.iterator( ); iterator.hasNext( ); )
				{
					String argName = (String) iterator.next( );
					Label lblArg = new Label( argsComposite, SWT.NONE );
					lblArg.setText( argName + ":" ); 
					lblArg.setLayoutData( new GridData( GridData.FILL_HORIZONTAL
							| GridData.GRAB_HORIZONTAL ) );
					Text txtArg = new Text( argsComposite, SWT.BORDER );
					GridData gridData = new GridData( );
					gridData.widthHint = txtFilter.getBounds( ).width - 7;
					txtArg.setLayoutData( gridData );
					createExpressionButton( argsComposite, txtArg );
					argsMap.put( argName, txtArg );
				}
			}
			else