Program: 75237
Project: 75237
Buggy source:
/** 
 * Adds event listeners
 */
private void addControlListeners(){
  jdbcUrl.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (!jdbcUrl.isFocusControl() && jdbcUrl.getText().trim().length() == 0) {
        return;
      }
      verifyJDBCProperties();
      updateTestButton();
    }
  }
);
  testButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      testButton.setEnabled(false);
      try {
        if (testConnection()) {
          MessageDialog.openInformation(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString("String_Node_Str"));
        }
 else {
          ExceptionHandler.showException(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString("String_Node_Str"),null);
        }
      }
 catch (      OdaException e1) {
        ExceptionHandler.showException(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString(e1.getLocalizedMessage()),e1);
      }
      testButton.setEnabled(true);
    }
  }
);
  manageButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      JdbcDriverManagerDialog dlg=new JdbcDriverManagerDialog(getShell());
      manageButton.setEnabled(false);
      testButton.setEnabled(false);
      if (dlg.open() == Window.OK) {
        BusyIndicator.showWhile(getShell() == null ? null : getShell().getDisplay(),new Runnable(){
          public void run(){
            okPressedProcess();
          }
        }
);
      }
      updateTestButton();
      manageButton.setEnabled(true);
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Adds event listeners
 */
private void addControlListeners(){
  jdbcUrl.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (!jdbcUrl.isFocusControl() && jdbcUrl.getText().trim().length() == 0) {
        return;
      }
      verifyJDBCProperties();
      updateTestButton();
    }
  }
);
  testButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      testButton.setEnabled(false);
      try {
        if (testConnection()) {
          MessageDialog.openInformation(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString("String_Node_Str"));
        }
 else {
          OdaException ex=new OdaException(JdbcPlugin.getResourceString("String_Node_Str"));
          ExceptionHandler.showException(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString("String_Node_Str"),ex);
        }
      }
 catch (      OdaException e1) {
        ExceptionHandler.showException(getShell(),JdbcPlugin.getResourceString("String_Node_Str"),JdbcPlugin.getResourceString(e1.getLocalizedMessage()),e1);
      }
      testButton.setEnabled(true);
    }
  }
);
  manageButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      JdbcDriverManagerDialog dlg=new JdbcDriverManagerDialog(getShell());
      manageButton.setEnabled(false);
      testButton.setEnabled(false);
      if (dlg.open() == Window.OK) {
        BusyIndicator.showWhile(getShell() == null ? null : getShell().getDisplay(),new Runnable(){
          public void run(){
            okPressedProcess();
          }
        }
);
      }
      updateTestButton();
      manageButton.setEnabled(true);
    }
  }
);
}