Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.med.ars.controller;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import gov.va.med.ars.exceptions.GenericException;
import gov.va.med.ars.model.request.ArsMailRequest;
import gov.va.med.ars.service.IArsMailService;
import gov.va.med.ars.validators.EmailValidator;
import net.minidev.json.JSONObject;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.validation.BindingResult;
@RestController
public class ArsMailController {

private static final Logger log = LogManager.getLogger(ArsMailController.class);

@Autowired
IArsMailService arsMailService;

@Autowired
EmailValidator emailValidator;

@InitBinder
public void dataBinding(WebDataBinder binder) {
binder.addValidators(emailValidator);
}

@PostMapping(value = "/api/v1/sendMail")
public ResponseEntity<?> submitRfaiRequest( @RequestBody @Valid ArsMailRequest request,BindingResult bindResult) throws GenericException {


ResponseEntity<?> response = null;
String result = "";
JSONObject jsonResponse = new JSONObject();

if(bindResult.hasErrors()){
jsonResponse.put("result", result);
return new ResponseEntity<>(jsonResponse, HttpStatus.BAD_REQUEST);
}

try {
result = arsMailService.sendArsMail(request);

} catch(Exception e) {
log.info("Error occured", e.getMessage());
}


jsonResponse.put("result", result);

response = new ResponseEntity<>(jsonResponse, HttpStatus.CREATED);
return response;
}

@InitBinder()
public void customizeBinding (WebDataBinder binder) {
binder.setDisallowedFields(new String[]{});
}
}