@@ -119,33 +119,32 @@ public class LawCaseHandler implements RequestHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateLawCaseRequestFilters(LawCaseRequest lawCaseRequest) {
|
private void validateLawCaseRequestFilters(LawCaseRequest lawCaseRequest) {
|
||||||
if (lawCaseRequest.getFilterPriority() != null && !lawCaseRequest.getFilterPriority().equals(LawCasePriority.HIGH.name()) &&
|
if (lawCaseRequest.getFilterPriority() != null) {
|
||||||
!lawCaseRequest.getFilterPriority().equals(LawCasePriority.MIDDLE.name()) &&
|
validateEnumValue(lawCaseRequest.getFilterPriority(),
|
||||||
!lawCaseRequest.getFilterPriority().equals(LawCasePriority.LOW.name()) &&
|
LawCasePriority.class,
|
||||||
!lawCaseRequest.getFilterPriority().equals(LawCasePriority.CRITICAL.name())) {
|
"filterPriority");
|
||||||
|
|
||||||
throw new NotValidFieldException("Not valid filter priority",
|
|
||||||
new BaseResponse(30017, MessageCode.NOT_VALID_FIELD.getCode(),
|
|
||||||
MessageCode.NOT_VALID_FIELD.getDescription(),
|
|
||||||
Map.of("field", "filterPriority",
|
|
||||||
"valid_values", Arrays.stream(LawCasePriority.values())
|
|
||||||
.map(LawCasePriority::name)
|
|
||||||
.collect(Collectors.toList()),
|
|
||||||
"received_value", lawCaseRequest.getFilterPriority())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lawCaseRequest.getFilterType() != null &&
|
if (lawCaseRequest.getFilterType() != null) {
|
||||||
!lawCaseRequest.getFilterType().equals(LawCaseType.CLOSED.getName()) ||
|
validateEnumValue(lawCaseRequest.getFilterType(),
|
||||||
!Objects.equals(lawCaseRequest.getFilterType(), LawCaseType.ACTIVE.getName()) ||
|
LawCaseType.class,
|
||||||
!lawCaseRequest.getFilterType().equals(LawCaseType.COMPLETED.getName())) {
|
"filterType");
|
||||||
throw new NotValidFieldException("Not valid filter type",
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T extends Enum<T>> void validateEnumValue(String value, Class<T> enumClass, String fieldName) {
|
||||||
|
boolean valid = Arrays.stream(enumClass.getEnumConstants())
|
||||||
|
.anyMatch(e -> e.name().equals(value));
|
||||||
|
|
||||||
|
if (!valid) {
|
||||||
|
throw new NotValidFieldException("Not valid " + fieldName,
|
||||||
new BaseResponse(30017, MessageCode.NOT_VALID_FIELD.getCode(),
|
new BaseResponse(30017, MessageCode.NOT_VALID_FIELD.getCode(),
|
||||||
MessageCode.NOT_VALID_FIELD.getDescription(),
|
MessageCode.NOT_VALID_FIELD.getDescription(),
|
||||||
Map.of("field", "filterType",
|
Map.of("field", fieldName,
|
||||||
"valid_values", Arrays.stream(LawCaseType.values())
|
"valid_values", Arrays.stream(enumClass.getEnumConstants())
|
||||||
.map(LawCaseType::name)
|
.map(Enum::name)
|
||||||
.collect(Collectors.toList()),
|
.collect(Collectors.toList()),
|
||||||
"received_value", lawCaseRequest.getFilterType())));
|
"received_value", value)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user