use of se.inera.intyg.webcert.fkstub.validation.SendMedicalCertificateAnswerValidator in project webcert by sklintyg.
the class SendAnswerStub method sendMedicalCertificateAnswer.
@Override
public SendMedicalCertificateAnswerResponseType sendMedicalCertificateAnswer(AttributedURIType logicalAddress, SendMedicalCertificateAnswerType parameters) {
SendMedicalCertificateAnswerResponseType response = new SendMedicalCertificateAnswerResponseType();
if (logicalAddress == null) {
response.setResult(ResultOfCallUtil.failResult("Ingen LogicalAddress är satt"));
} else if (!LOGICAL_ADDRESS.equals(logicalAddress.getValue())) {
response.setResult(ResultOfCallUtil.failResult("LogicalAddress '" + logicalAddress.getValue() + "' är inte samma som '" + LOGICAL_ADDRESS + "'"));
} else if ("error".equalsIgnoreCase(parameters.getAnswer().getSvar().getMeddelandeText())) {
response.setResult(ResultOfCallUtil.failResult("Du ville ju få ett fel"));
} else {
AnswerToFkType answerType = parameters.getAnswer();
SendMedicalCertificateAnswerValidator validator = new SendMedicalCertificateAnswerValidator(answerType);
try {
validator.validateAndCorrect();
response.setResult(ResultOfCallUtil.okResult());
} catch (ValidationException e) {
response.setResult(ResultOfCallUtil.failResult(e.getMessage()));
}
questionAnswerStore.addAnswer(parameters.getAnswer());
}
return response;
}
Aggregations