Program: 76631
Project: 76631
Buggy source:
protected Control createDialogArea(Composite parent){
  final Composite composite=(Composite)super.createDialogArea(parent);
  UIUtil.bindHelp(composite,IHelpContextIds.DATA_ITEM_BINDING_DIALOG);
  ((GridLayout)composite.getLayout()).numColumns=3;
  GridData gd=new GridData(GridData.FILL_BOTH);
  gd.widthHint=380;
  composite.setLayoutData(gd);
  new Label(composite,SWT.NONE).setText(NAME);
  itemName=new Text(composite,SWT.BORDER);
  itemName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  WidgetUtil.createGridPlaceholder(composite,1,false);
  itemName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (DataItemBindingDialog.this.getOkButton() != null) {
        if (itemName.getText() == null || itemName.getText().trim().equals("String_Node_Str"))         DataItemBindingDialog.this.getOkButton().setEnabled(false);
 else         DataItemBindingDialog.this.getOkButton().setEnabled(true);
      }
    }
  }
);
  new Label(composite,SWT.NONE).setText(DISPLAY_NAME);
  itemDisplayName=new Text(composite,SWT.BORDER);
  int width=itemDisplayName.computeSize(SWT.DEFAULT,SWT.DEFAULT).x;
  gd.widthHint=width < 250 ? 250 : width;
  itemDisplayName.setLayoutData(gd);
  WidgetUtil.createGridPlaceholder(composite,1,false);
  new Label(composite,SWT.NONE).setText(DATA_TYPE);
  itemType=new Combo(composite,SWT.BORDER | SWT.READ_ONLY);
  itemType.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  WidgetUtil.createGridPlaceholder(composite,1,false);
  new Label(composite,SWT.NONE).setText(EXPRESSION);
  itemExpression=new Text(composite,SWT.BORDER);
  itemExpression.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  Button expressionButton=new Button(composite,SWT.PUSH);
  expressionButton.setLayoutData(gd);
  expressionButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      handleExpressionButtonSelectEvent();
    }
  }
);
  setExpressionButtonImage(expressionButton);
  itemExpression.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (ExpressionUtil.hasAggregation(itemExpression.getText())) {
        String groupType=DEUtil.getGroupControlType(input);
        if (!(bindingColumn != null && bindingColumn.getExpression() != null && bindingColumn.getExpression().equals(itemExpression.getText()))) {
          if (groupType.equals(DEUtil.TYPE_GROUP_GROUP)) {
            setAggregateOnSelect(((GroupHandle)DEUtil.getGroups(input).get(0)).getName());
          }
 else           if (groupType.equals(DEUtil.TYPE_GROUP_LISTING)) {
            setAggregateOnSelect(ALL);
          }
 else           setAggregateOnSelect(NONE);
        }
 else         if (groupType.equals(DEUtil.TYPE_GROUP_NONE)) {
          setAggregateOnSelect(NONE);
        }
      }
      if (ExpressionUtil.hasAggregation(itemExpression.getText()) && !itemAggregateOn.getVisible()) {
        aggregateOnLabel.setVisible(true);
        itemAggregateOn.setVisible(true);
        hiddenLabel.setVisible(true);
      }
 else       if (!ExpressionUtil.hasAggregation(itemExpression.getText()) && itemAggregateOn.getVisible()) {
        aggregateOnLabel.setVisible(false);
        itemAggregateOn.setVisible(false);
        hiddenLabel.setVisible(false);
      }
    }
  }
);
  aggregateOnLabel=new Label(composite,SWT.NONE);
  aggregateOnLabel.setText(AGGREGATE_ON);
  itemAggregateOn=new Combo(composite,SWT.BORDER | SWT.READ_ONLY);
  itemAggregateOn.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  hiddenLabel=WidgetUtil.createGridPlaceholder(composite,1,false);
  aggregateOnLabel.setVisible(false);
  itemAggregateOn.setVisible(false);
  hiddenLabel.setVisible(false);
  init();
  return composite;
}

Fixed version (ground truth):
protected Control createDialogArea(Composite parent){
  final Composite composite=(Composite)super.createDialogArea(parent);
  UIUtil.bindHelp(composite,IHelpContextIds.DATA_ITEM_BINDING_DIALOG);
  ((GridLayout)composite.getLayout()).numColumns=3;
  GridData gd=new GridData(GridData.FILL_BOTH);
  gd.widthHint=380;
  composite.setLayoutData(gd);
  new Label(composite,SWT.NONE).setText(NAME);
  itemName=new Text(composite,SWT.BORDER);
  itemName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  WidgetUtil.createGridPlaceholder(composite,1,false);
  itemName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (DataItemBindingDialog.this.getOkButton() != null) {
        if (itemName.getText() == null || itemName.getText().trim().equals("String_Node_Str"))         DataItemBindingDialog.this.getOkButton().setEnabled(false);
 else         DataItemBindingDialog.this.getOkButton().setEnabled(true);
      }
    }
  }
);
  new Label(composite,SWT.NONE).setText(DISPLAY_NAME);
  itemDisplayName=new Text(composite,SWT.BORDER);
  itemDisplayName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  WidgetUtil.createGridPlaceholder(composite,1,false);
  new Label(composite,SWT.NONE).setText(DATA_TYPE);
  itemType=new Combo(composite,SWT.BORDER | SWT.READ_ONLY);
  itemType.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  WidgetUtil.createGridPlaceholder(composite,1,false);
  new Label(composite,SWT.NONE).setText(EXPRESSION);
  itemExpression=new Text(composite,SWT.BORDER);
  itemExpression.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  Button expressionButton=new Button(composite,SWT.PUSH);
  expressionButton.setLayoutData(gd);
  expressionButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      handleExpressionButtonSelectEvent();
    }
  }
);
  setExpressionButtonImage(expressionButton);
  itemExpression.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (ExpressionUtil.hasAggregation(itemExpression.getText())) {
        String groupType=DEUtil.getGroupControlType(input);
        if (!(bindingColumn != null && bindingColumn.getExpression() != null && bindingColumn.getExpression().equals(itemExpression.getText()))) {
          if (groupType.equals(DEUtil.TYPE_GROUP_GROUP)) {
            setAggregateOnSelect(((GroupHandle)DEUtil.getGroups(input).get(0)).getName());
          }
 else           if (groupType.equals(DEUtil.TYPE_GROUP_LISTING)) {
            setAggregateOnSelect(ALL);
          }
 else           setAggregateOnSelect(NONE);
        }
 else         if (groupType.equals(DEUtil.TYPE_GROUP_NONE)) {
          setAggregateOnSelect(NONE);
        }
      }
      if (ExpressionUtil.hasAggregation(itemExpression.getText()) && !itemAggregateOn.getVisible()) {
        aggregateOnLabel.setVisible(true);
        itemAggregateOn.setVisible(true);
        hiddenLabel.setVisible(true);
      }
 else       if (!ExpressionUtil.hasAggregation(itemExpression.getText()) && itemAggregateOn.getVisible()) {
        aggregateOnLabel.setVisible(false);
        itemAggregateOn.setVisible(false);
        hiddenLabel.setVisible(false);
      }
    }
  }
);
  aggregateOnLabel=new Label(composite,SWT.NONE);
  aggregateOnLabel.setText(AGGREGATE_ON);
  itemAggregateOn=new Combo(composite,SWT.BORDER | SWT.READ_ONLY);
  itemAggregateOn.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  hiddenLabel=WidgetUtil.createGridPlaceholder(composite,1,false);
  aggregateOnLabel.setVisible(false);
  itemAggregateOn.setVisible(false);
  hiddenLabel.setVisible(false);
  init();
  return composite;
}