Program: 64256
Project: 64256
Buggy source:
/** 
 * Validates the passed in attributes. <p> The rules are: <ol> <li> If action is "deploy" or "update" the "application" and "source" attributes must be supplied. <li> If action is "delete" or "undeploy" the "application" attribute must be supplied.
 * @exception BuildException                       Descriptionof Exception
 */
public void validateAttributes() throws BuildException {
  Java java=getJava();
  String action=getTask().getAction();
  if (action == null) {
    throw new BuildException("String_Node_Str");
  }
  if (!isActionValid()) {
    throw new BuildException("String_Node_Str" + action + "String_Node_Str");
  }
  if (getClassName() == null) {
    setClassName(JONAS_DEPLOY_CLASS_NAME);
  }
  if (jonasroot == null || jonasroot.isDirectory()) {
    java.createJvmarg().setValue("String_Node_Str" + jonasroot);
    java.createJvmarg().setValue("String_Node_Str" + jonasroot + "String_Node_Str");
    if ("String_Node_Str".equals(orb)) {
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      if (davidHost != null) {
        java.createJvmarg().setValue("String_Node_Str" + davidHost);
      }
      if (davidPort != 0) {
        java.createJvmarg().setValue("String_Node_Str" + davidPort);
      }
    }
  }
  String anAction=getTask().getAction();
  if (getServer() != null) {
    java.createArg().setLine("String_Node_Str" + getServer());
  }
  if (action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE) || action.equals("String_Node_Str")) {
    java.createArg().setLine("String_Node_Str" + getTask().getSource());
  }
 else   if (action.equals(ACTION_DELETE) || action.equals(ACTION_UNDEPLOY)) {
    java.createArg().setLine("String_Node_Str" + getTask().getSource());
  }
 else   if (action.equals(ACTION_LIST)) {
    java.createArg().setValue("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Validates the passed in attributes. <p> The rules are: <ol> <li> If action is "deploy" or "update" the "application" and "source" attributes must be supplied. <li> If action is "delete" or "undeploy" the "application" attribute must be supplied.
 * @exception BuildException                       Descriptionof Exception
 */
public void validateAttributes() throws BuildException {
  Java java=getJava();
  String action=getTask().getAction();
  if (action == null) {
    throw new BuildException("String_Node_Str");
  }
  if (!isActionValid()) {
    throw new BuildException("String_Node_Str" + action + "String_Node_Str");
  }
  if (getClassName() == null) {
    setClassName(JONAS_DEPLOY_CLASS_NAME);
  }
  if (jonasroot == null || jonasroot.isDirectory()) {
    java.createJvmarg().setValue("String_Node_Str" + jonasroot);
    java.createJvmarg().setValue("String_Node_Str" + jonasroot + "String_Node_Str");
    if ("String_Node_Str".equals(orb)) {
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      java.createJvmarg().setValue("String_Node_Str");
      if (davidHost != null) {
        java.createJvmarg().setValue("String_Node_Str" + davidHost);
      }
      if (davidPort != 0) {
        java.createJvmarg().setValue("String_Node_Str" + davidPort);
      }
    }
  }
  if (getServer() != null) {
    java.createArg().setLine("String_Node_Str" + getServer());
  }
  if (action.equals(ACTION_DEPLOY) || action.equals(ACTION_UPDATE) || action.equals("String_Node_Str")) {
    java.createArg().setLine("String_Node_Str" + getTask().getSource());
  }
 else   if (action.equals(ACTION_DELETE) || action.equals(ACTION_UNDEPLOY)) {
    java.createArg().setLine("String_Node_Str" + getTask().getSource());
  }
 else   if (action.equals(ACTION_LIST)) {
    java.createArg().setValue("String_Node_Str");
  }
}