Program: 189258
Project: 189258
Buggy source:
@ApiMapping("String_Node_Str") @Transactional public ApiResponse updateAdvisorApproval(@ApiCredentials Credentials credentials,@ApiVariable Long submissionId,@ApiData JsonNode dataNode){
  Submission submission=submissionRepo.findOne(submissionId);
  JsonNode approveApplicationNode=dataNode.get("String_Node_Str");
  JsonNode approveEmbargoNode=dataNode.get("String_Node_Str");
  JsonNode messageNode=dataNode.get("String_Node_Str");
  JsonNode clearApproveEmbargoNode=dataNode.get("String_Node_Str");
  JsonNode clearApproveApplicationNode=dataNode.get("String_Node_Str");
  if (approveApplicationNode != null) {
    submission.setApproveApplication(approveApplicationNode.asBoolean());
    String approveApplicationMessage=approveApplicationNode.asBoolean() ? "String_Node_Str" : "String_Node_Str";
    actionLogRepo.createPublicLog(submission,credentials,approveApplicationMessage);
  }
  if (approveEmbargoNode != null) {
    submission.setApproveEmbargo(approveEmbargoNode.asBoolean());
    String approveEmbargoMessage=approveEmbargoNode.asBoolean() ? "String_Node_Str" : "String_Node_Str";
    actionLogRepo.createPublicLog(submission,credentials,approveEmbargoMessage);
  }
  if (clearApproveEmbargoNode != null && clearApproveEmbargoNode.asBoolean()) {
    submission.clearApproveEmbargo();
    actionLogRepo.createPublicLog(submission,credentials,"String_Node_Str");
  }
  if (clearApproveApplicationNode != null && clearApproveApplicationNode.asBoolean()) {
    submission.clearApproveApplication();
    actionLogRepo.createPublicLog(submission,credentials,"String_Node_Str");
  }
  if (messageNode != null)   actionLogRepo.createPublicLog(submission,credentials,"String_Node_Str" + messageNode.asText());
  return new ApiResponse(SUCCESS,submission);
}

Fixed version (ground truth):
@ApiMapping("String_Node_Str") @Transactional public ApiResponse updateAdvisorApproval(@ApiVariable Long submissionId,@ApiData JsonNode dataNode){
  Submission submission=submissionRepo.findOne(submissionId);
  JsonNode approveApplicationNode=dataNode.get("String_Node_Str");
  JsonNode approveEmbargoNode=dataNode.get("String_Node_Str");
  JsonNode messageNode=dataNode.get("String_Node_Str");
  JsonNode clearApproveEmbargoNode=dataNode.get("String_Node_Str");
  JsonNode clearApproveApplicationNode=dataNode.get("String_Node_Str");
  if (approveApplicationNode != null) {
    submission.setApproveApplication(approveApplicationNode.asBoolean());
    String approveApplicationMessage=approveApplicationNode.asBoolean() ? "String_Node_Str" : "String_Node_Str";
    actionLogRepo.createAdvisorPublicLog(submission,approveApplicationMessage);
  }
  if (approveEmbargoNode != null) {
    submission.setApproveEmbargo(approveEmbargoNode.asBoolean());
    String approveEmbargoMessage=approveEmbargoNode.asBoolean() ? "String_Node_Str" : "String_Node_Str";
    actionLogRepo.createAdvisorPublicLog(submission,approveEmbargoMessage);
  }
  if (clearApproveEmbargoNode != null && clearApproveEmbargoNode.asBoolean()) {
    submission.clearApproveEmbargo();
    actionLogRepo.createAdvisorPublicLog(submission,"String_Node_Str");
  }
  if (clearApproveApplicationNode != null && clearApproveApplicationNode.asBoolean()) {
    submission.clearApproveApplication();
    actionLogRepo.createAdvisorPublicLog(submission,"String_Node_Str");
  }
  if (messageNode != null)   actionLogRepo.createAdvisorPublicLog(submission,"String_Node_Str" + messageNode.asText());
  return new ApiResponse(SUCCESS,submission);
}