use of gov.ca.cwds.rest.exception.IssueDetails in project api-core by ca-cwds.
the class ValidationExceptionMapperImpl method toResponse.
@Override
public Response toResponse(ConstraintViolationException exception) {
Set<IssueDetails> validationDetailsList = IssueDetailsCreator.create(exception, loggingContext.getUniqueId());
BaseExceptionResponse constraintViolationsResponse = new BaseExceptionResponse();
constraintViolationsResponse.setIssueDetails(validationDetailsList);
return Response.status(422).type(MediaType.APPLICATION_JSON_TYPE).entity(constraintViolationsResponse).build();
}
use of gov.ca.cwds.rest.exception.IssueDetails in project api-core by ca-cwds.
the class DroolsService method performBusinessRules.
public Set<IssueDetails> performBusinessRules(DroolsConfiguration droolsConfiguration, Object... facts) throws DroolsException {
KieSession kSession = null;
try {
kSession = initSession(droolsConfiguration);
final Set<IssueDetails> validationDetailsList = new HashSet<>();
kSession.setGlobal(VAR_VALIDATION_DETAILS_LIST, validationDetailsList);
for (Object fact : facts) {
kSession.insert(fact);
}
final int rulesFired = kSession.fireAllRules();
log(droolsConfiguration, facts, rulesFired, validationDetailsList);
return validationDetailsList;
} finally {
disposeSessionSafely(kSession);
}
}
use of gov.ca.cwds.rest.exception.IssueDetails in project api-core by ca-cwds.
the class DroolsValidator method isValid.
@Override
public boolean isValid(T obj, ConstraintValidatorContext context) {
if (obj == null) {
return true;
}
DroolsConfiguration<T> configuration = getConfiguration();
Object validatedFact = configuration.getValidatedFact(obj);
DroolsService droolsService = InjectorHolder.INSTANCE.getInstance(DroolsService.class);
Set<IssueDetails> detailsList = null;
try {
detailsList = droolsService.performBusinessRules(configuration, validatedFact);
} catch (DroolsException e) {
LOGGER.warn(e.getMessage(), e);
throw new RuntimeException(String.format(DroolsErrorMessages.CANT_PERFORM_BUSINESS_VALIDATION, configuration.getAgendaGroup()));
}
if (detailsList.isEmpty()) {
return true;
} else {
context.disableDefaultConstraintViolation();
detailsList.forEach((details -> context.buildConstraintViolationWithTemplate(marshallData(details)).addPropertyNode("").addConstraintViolation()));
return false;
}
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aRequiredFieldsValidationTest method requiredFieldsValidationOnSubmitTest.
@Test
public void requiredFieldsValidationOnSubmitTest() throws Exception {
RFA1aFormDTO form = prepareEmptyForm();
List<IssueDetails> cvIssues = getIssueDetails(form);
// First and Last Names are validated on save progress stage
// Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_FIRST_NAME)));// "CV000002";
// Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_LAST_NAME )));// "CV000003";
// "CV000004
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_OTHER_NAMES_FIRST_NAME)));
// "CV000005"
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_OTHER_NAMES_LAST_NAME)));
// "CV000006";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_DATE_OF_BIRTH)));
// "CV000007";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_DRIVER_LICENSE_STATE)));
// Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_DRIVER_LICENSE_NUMBER)));// "CV000008"); //see checkDriverLicenseNumberFormTest()
// "CV000009";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_APPLICANT_PHONE_NUMBER)));
// Residence Card
// "CV000010";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_RESIDENCE_STREET_ADDRESS)));
// "CV000011";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_CITY)));
// "CV000012";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_STATE)));
// "CV000013";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_ZIP)));
List<IssueDetails> streetIssues = cvIssues.stream().filter(issueDetails -> issueDetails.getCode().equals(REQUIRED_RESIDENCE_STREET_ADDRESS)).collect(Collectors.toList());
Assert.assertEquals(1, streetIssues.size());
List<IssueDetails> cityIssues = cvIssues.stream().filter(issueDetails -> issueDetails.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_CITY)).collect(Collectors.toList());
Assert.assertEquals(1, cityIssues.size());
List<IssueDetails> stateIssues = cvIssues.stream().filter(issueDetails -> issueDetails.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_STATE)).collect(Collectors.toList());
Assert.assertEquals(1, stateIssues.size());
List<IssueDetails> zipIssues = cvIssues.stream().filter(issueDetails -> issueDetails.getCode().equals(REQUIRED_RESIDENCE_ADDRESS_ZIP)).collect(Collectors.toList());
Assert.assertEquals(1, zipIssues.size());
// "CV000014";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_PHYSICAL_MAILING_THE_SAME)));
// "CV000015";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_RESIDENCE_OWNERSHIP)));
// "CV000016";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_WEAPON_IN_HOME_FIELD)));
// "CV000017";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_BODY_OF_WATER_EXIST_FIELD)));
// "CV000018";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_OTHER_PEOPLE_IN_RESIDENCE)));
// "CV000019";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_HOME_LANGUAGES)));
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aRequiredFieldsValidationTest method validateRequiredFieldsForMinorChild.
@Test
public void validateRequiredFieldsForMinorChild() throws Exception {
RFA1aFormDTO rfa1aForm = prepareValidForm();
ApplicantDTO firstApplicant = rfa1aForm.getFirstApplicant();
MinorChildDTO minorChild = buildEmptyMinorChild(firstApplicant);
minorChild.getRelationshipToApplicants().get(0).setApplicantId(null);
minorChild = minorChildHelper.postMinorChild(rfa1aForm.getId(), minorChild);
List<IssueDetails> cvIssues = getIssueDetails(rfa1aForm);
// "CV000020";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_MINOR_CHILD_DATE_OF_BIRTH)));
// "CV000021";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_MINOR_CHILD_GENDER)));
// "CV000022";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_MINOR_CHILD_FINANCIALLY_SUPPORTED)));
// "CV000023";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_MINOR_CHILD_ADOPTED)));
// "CV000024";
Assert.assertTrue(cvIssues.stream().anyMatch(id -> id.getCode().equals(REQUIRED_MINOR_CHILD_RELATIONSHIP_APPLICANT_ID)));
}
Aggregations