Fix for arango report

This commit is contained in:
Maksim Tereshin 2025-03-05 18:06:57 +01:00
parent 702926ad25
commit 7a2b36abc9
No known key found for this signature in database
2 changed files with 18 additions and 10 deletions

View file

@ -14,11 +14,11 @@ import lombok.Setter;
public class RequestValidationRules { public class RequestValidationRules {
@XmlAttribute(name = "isEmptyIdsAllowed") @XmlAttribute(name = "isEmptyIdsAllowed")
private Boolean isEmptyIdsAllowed; private Boolean isEmptyIdsAllowed = false;
@XmlAttribute(name = "isEmptyDatesAllowed") @XmlAttribute(name = "isEmptyDatesAllowed")
private Boolean isEmptyDatesAllowed; private Boolean isEmptyDatesAllowed = false;
@XmlAttribute(name = "isIdsFormatted") @XmlAttribute(name = "isIdsFormatted")
private Boolean isIdsFormatted; private Boolean isIdsFormatted = true;
} }

View file

@ -6,6 +6,7 @@ import org.micord.exceptions.IllegalRequestParametersException;
import org.micord.exceptions.ValidationException; import org.micord.exceptions.ValidationException;
import org.micord.models.requests.BaseRequest; import org.micord.models.requests.BaseRequest;
import org.micord.models.requests.RequestParameters; import org.micord.models.requests.RequestParameters;
import org.micord.models.requests.RequestValidationRules;
import org.micord.models.requests.downloads.BaseDownloadRequest; import org.micord.models.requests.downloads.BaseDownloadRequest;
import org.micord.models.validations.ValidationRule; import org.micord.models.validations.ValidationRule;
import org.micord.models.validations.ValidationRules; import org.micord.models.validations.ValidationRules;
@ -76,24 +77,31 @@ public class ValidationService {
} }
public Map<String, Boolean> validateRequest(BaseRequest request, List<String> ids) throws ValidationException, SQLException, FileNotFoundException { public Map<String, Boolean> validateRequest(BaseRequest request, List<String> ids) throws ValidationException, SQLException, FileNotFoundException {
Map<String, Boolean> validationResults = validateIds(request, ids); RequestValidationRules requestValidationRules = new RequestValidationRules();
Map<String, Boolean> validationResults = validateIds(request, ids, requestValidationRules);
if (isRequestValidatedByValidationConfig) validateByValidationConfig(ids, BaseRequest.class); if (isRequestValidatedByValidationConfig) validateByValidationConfig(ids, BaseRequest.class);
return validationResults; return validationResults;
} }
public Map<String, Boolean> validateMilitaryNoticeRequest(BaseRequest request, RequestParameters parameters) throws ValidationException, SQLException, FileNotFoundException { public Map<String, Boolean> validateMilitaryNoticeRequest(BaseRequest request, RequestParameters parameters) throws ValidationException, SQLException, FileNotFoundException {
RequestValidationRules requestValidationRules = new RequestValidationRules();
List<String> ids = parameters.getIds(); List<String> ids = parameters.getIds();
validateIds(request, ids); Map<String, Boolean> validateIds = validateIds(request, ids, requestValidationRules);
Map<String, Boolean> validation = validateDates(request, parameters); Map<String, Boolean> validateDates = validateDates(request, parameters);
if (isMilitaryNoticeRequestValidatedByValidationConfig) validateByValidationConfig(ids, RequestParameters.class); if (isMilitaryNoticeRequestValidatedByValidationConfig) validateByValidationConfig(ids, RequestParameters.class);
return validation; Map<String, Boolean> merged = new HashMap<>();
merged.putAll(validateIds);
merged.putAll(validateDates);
return merged;
} }
public Map<String, Boolean> validateDownloadRequest(BaseDownloadRequest request, RequestParameters downloadRequest, List<String> ids) throws ValidationException { public Map<String, Boolean> validateDownloadRequest(BaseDownloadRequest request, RequestParameters downloadRequest, List<String> ids) throws ValidationException {
Map<String, Boolean> validateIds = validateIds(request, ids); RequestValidationRules requestValidationRules = new RequestValidationRules();
Map<String, Boolean> validateIds = validateIds(request, ids, requestValidationRules);
Map<String, Boolean> validateDates = validateDates(request, downloadRequest); Map<String, Boolean> validateDates = validateDates(request, downloadRequest);
Map<String, Boolean> merged = new HashMap<>(); Map<String, Boolean> merged = new HashMap<>();
@ -103,10 +111,10 @@ public class ValidationService {
return merged; return merged;
} }
private static Map<String, Boolean> validateIds(BaseRequest request, List<String> ids) { private static Map<String, Boolean> validateIds(BaseRequest request, List<String> ids, RequestValidationRules requestValidationRules) {
if (request.getRequestValidationRules() == null) { if (request.getRequestValidationRules() == null) {
return Map.of(); return Map.of(ValidationService.IS_EMPTY_IDS_ALLOWED, requestValidationRules.getIsEmptyIdsAllowed());
} }
Boolean emptyIdsAllowed = request.getRequestValidationRules().getIsEmptyIdsAllowed(); Boolean emptyIdsAllowed = request.getRequestValidationRules().getIsEmptyIdsAllowed();
if (emptyIdsAllowed) { if (emptyIdsAllowed) {