Program: 48505
Project: 48505
Buggy source:
@CliCommand(value="String_Node_Str",help="String_Node_Str") public void modifyAppManager(@CliOption(key={"String_Node_Str"},mandatory=true,help="String_Node_Str") final String name,@CliOption(key={"String_Node_Str"},mandatory=false,help="String_Node_Str") final String url,@CliOption(key={"String_Node_Str"},mandatory=false,unspecifiedDefaultValue="String_Node_Str",specifiedDefaultValue="String_Node_Str",help="String_Node_Str") final boolean changeAccount,@CliOption(key={"String_Node_Str"},mandatory=false,unspecifiedDefaultValue="String_Node_Str",specifiedDefaultValue="String_Node_Str",help="String_Node_Str") final boolean changeCertificate){
  if (url == null && !changeAccount && !changeCertificate) {
    CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
    return;
  }
  try {
    AppManagerRead appManagerRead=restClient.get(name);
    AppManagerAdd appManagerAdd=new AppManagerAdd();
    appManagerAdd.setName(name);
    appManagerAdd.setDescription(appManagerRead.getDescription());
    appManagerAdd.setType(appManagerRead.getType());
    if (url == null) {
      appManagerAdd.setUrl(appManagerRead.getUrl());
    }
 else {
      appManagerAdd.setUrl(url);
    }
    if (changeAccount) {
      Map<String,String> loginInfo=getAccount();
      if (null == loginInfo) {
        return;
      }
      appManagerAdd.setUsername(loginInfo.get(Constants.LOGIN_USERNAME));
      appManagerAdd.setPassword(loginInfo.get(Constants.LOGIN_PASSWORD));
    }
 else {
      appManagerAdd.setUsername(appManagerRead.getUsername());
      appManagerAdd.setPassword(appManagerRead.getPassword());
    }
    if ((url != null && url.toLowerCase().startsWith("String_Node_Str")) || (url == null && changeCertificate && appManagerAdd.getUrl().toLowerCase().startsWith("String_Node_Str"))) {
      String sslCertificate=getSslCertificate();
      if (null == sslCertificate) {
        CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
        return;
      }
      appManagerAdd.setSslCertificate(sslCertificate);
    }
 else     if (url == null && changeCertificate && !appManagerAdd.getUrl().toLowerCase().startsWith("String_Node_Str")) {
      CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
      return;
    }
 else     if (url != null && !url.toLowerCase().startsWith("String_Node_Str")) {
      appManagerAdd.setSslCertificate(null);
    }
 else {
      appManagerAdd.setSslCertificate(appManagerRead.getSslCertificate());
    }
    restClient.modify(appManagerAdd);
    CommandsUtils.printCmdSuccess(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_RESULT_MODIFY);
  }
 catch (  Exception e) {
    CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,e.getMessage());
  }
}

Fixed version (ground truth):
@CliCommand(value="String_Node_Str",help="String_Node_Str") public void modifyAppManager(@CliOption(key={"String_Node_Str"},mandatory=true,help="String_Node_Str") final String name,@CliOption(key={"String_Node_Str"},mandatory=false,help="String_Node_Str") final String url,@CliOption(key={"String_Node_Str"},mandatory=false,unspecifiedDefaultValue="String_Node_Str",specifiedDefaultValue="String_Node_Str",help="String_Node_Str") final boolean changeAccount,@CliOption(key={"String_Node_Str"},mandatory=false,unspecifiedDefaultValue="String_Node_Str",specifiedDefaultValue="String_Node_Str",help="String_Node_Str") final boolean changeCertificate){
  if (url == null && !changeAccount && !changeCertificate) {
    CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
    return;
  }
  try {
    AppManagerRead appManagerRead=restClient.get(name);
    AppManagerAdd appManagerAdd=new AppManagerAdd();
    appManagerAdd.setName(name);
    appManagerAdd.setDescription(appManagerRead.getDescription());
    appManagerAdd.setType(appManagerRead.getType());
    if (url == null) {
      appManagerAdd.setUrl(appManagerRead.getUrl());
    }
 else {
      List<String> errorMsgs=new ArrayList<String>();
      if (!CommonUtil.validateUrl(url,errorMsgs)) {
        CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_ADD,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str" + CommonUtil.mergeErrorMsgList(errorMsgs) + "String_Node_Str");
        return;
      }
      appManagerAdd.setUrl(url);
    }
    if (changeAccount) {
      Map<String,String> loginInfo=getAccount();
      if (null == loginInfo) {
        return;
      }
      appManagerAdd.setUsername(loginInfo.get(Constants.LOGIN_USERNAME));
      appManagerAdd.setPassword(loginInfo.get(Constants.LOGIN_PASSWORD));
    }
 else {
      appManagerAdd.setUsername(appManagerRead.getUsername());
      appManagerAdd.setPassword(appManagerRead.getPassword());
    }
    if ((url != null && url.toLowerCase().startsWith("String_Node_Str")) || (url == null && changeCertificate && appManagerAdd.getUrl().toLowerCase().startsWith("String_Node_Str"))) {
      String sslCertificate=getSslCertificate();
      if (null == sslCertificate) {
        CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
        return;
      }
      appManagerAdd.setSslCertificate(sslCertificate);
    }
 else     if (url == null && changeCertificate && !appManagerAdd.getUrl().toLowerCase().startsWith("String_Node_Str")) {
      CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,"String_Node_Str");
      return;
    }
 else     if (url != null && !url.toLowerCase().startsWith("String_Node_Str")) {
      appManagerAdd.setSslCertificate(null);
    }
 else {
      appManagerAdd.setSslCertificate(appManagerRead.getSslCertificate());
    }
    restClient.modify(appManagerAdd);
    CommandsUtils.printCmdSuccess(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_RESULT_MODIFY);
  }
 catch (  Exception e) {
    CommandsUtils.printCmdFailure(Constants.OUTPUT_OBJECT_APPMANAGER,name,Constants.OUTPUT_OP_MODIFY,Constants.OUTPUT_OP_RESULT_FAIL,e.getMessage());
  }
}