Bug 193913 Adding a aggregate with a column binding name that already exists should display a proper message
Build ID: 2.2RC3 Steps To Reproduce: 1.Add table to report 2.Add aggregation to table (Column Binding Name = "TEST") 3.Remove aggregate from table (the binding remains in the list of column bindings for this table) 4.Try to add the same aggregate to table (Column Binding Name = "TEST") This causes the error as shown below: An unexpected internal exception occurred.Please see log for detail. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Designer UI Plug-in ID:org.eclipse.birt.report.designer.ui Version:2.2.0.v20070613 Error Code:Error.GUIException.invokedByUnexpectedException Error Message:Caused by java.lang.NullPointerException. It should rather display a message that the binding already exists or just use the available binding for this aggregate. More information:
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/dialogs/BindingDialogHelper.java
public void widgetSelected( SelectionEvent e )
			{
				ExpressionBuilder expression = new ExpressionBuilder( text.getText( ) );
				expression.setExpressionProvier( expressionProvider );
				if ( expression.open( ) == Window.OK )
				{
					if ( expression.getResult( ) != null )
						text.setText( expression.getResult( ) );
				}
			}
		} );
	}
	private void createExpressionButton( final Composite parent,
			final Combo combo )
	{
		Button expressionButton = new Button( parent, SWT.PUSH );
		if ( expressionProvider == null )
			expressionProvider = new BindingExpressionProvider( this.bindingHolder );
		UIUtil.setExpressionButtonImage( expressionButton );
		expressionButton.addSelectionListener( new SelectionAdapter( ) {
			public void widgetSelected( SelectionEvent e )
			{
				ExpressionBuilder expression = new ExpressionBuilder( combo.getText( ) );
				expression.setExpressionProvier( expressionProvider );
				if ( expression.open( ) == Window.OK )
				{
					if ( expression.getResult( ) != null )
						combo.setText( expression.getResult( ) );
				}
			}