From 50e5d8d7bceda134363638a2f843f35f93c585e0 Mon Sep 17 00:00:00 2001 From: akulikov Date: Mon, 3 Apr 2023 15:13:49 +0300 Subject: [PATCH] fix ValidationHelper: method validate (now validateTillFirstError) static -> not static --- .../validation/common/ValidationHelper.java | 25 ++++++++++++++++--- .../config/validation/ValidationConfig.java | 7 ++++++ .../ClearingMemberCategoryService.java | 14 +++++------ 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/clearing-parent/clearing-utils/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java b/clearing-parent/clearing-utils/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java index 910ce7795..5c57061cf 100644 --- a/clearing-parent/clearing-utils/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java +++ b/clearing-parent/clearing-utils/src/main/java/ru/spcex/clearing/validation/common/ValidationHelper.java @@ -15,9 +15,20 @@ import java.util.function.Function; public class ValidationHelper { private final static Logger log = LoggerFactory.getLogger(ValidationHelper.class); - public static RequestInfoUpdate validate(BaseRequest userRequest, - Function validatorBuilder, - IMessageResolver messageResolver) { + private IMessageResolver messageResolver; + + public ValidationHelper(IMessageResolver messageResolver) { + this.messageResolver = messageResolver; + } + + /** + * Валидация запроса до первой ошибки + * + * @param Класс проверяемого запроса + * @return null если ошибок нет + */ + public RequestInfoUpdate validateTillFirstError(BaseRequest userRequest, + Function validatorBuilder) { if (validatorBuilder != null) { R req = userRequest.getRequestPayload(); IValidator validator = validatorBuilder.apply(req); @@ -34,4 +45,12 @@ public class ValidationHelper { return null; } + + public IMessageResolver getMessageResolver() { + return messageResolver; + } + + public void setMessageResolver(IMessageResolver messageResolver) { + this.messageResolver = messageResolver; + } } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java index aeb939d09..9098271e0 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java @@ -5,9 +5,11 @@ import org.springframework.context.annotation.Configuration; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.utils.enumeration.IMessageResolver; import java.util.HashMap; import java.util.Map; @@ -27,4 +29,9 @@ public class ValidationConfig { return imdg; } + @Bean("validationHelper") + public ValidationHelper validationHelper(IMessageResolver messageResolver) { + return new ValidationHelper(messageResolver); + } + } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java index 9692e5aff..e3e928473 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java @@ -20,7 +20,6 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; -import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.validation.IValidator; import java.util.function.Function; @@ -30,26 +29,25 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg clearingMemberCategoryMap; - private final IMessageResolver messageResolver; - private final Function clearingMemberCategoryNewRequestValidator; private final Function clearingMemberCategoryUpdateRequestValidator; private final Function clearingMemberCategoryDeleteRequestValidator; + private final ValidationHelper validationHelper; @Autowired public ClearingMemberCategoryService(Consumer kafkaQueue, Producer kafkaProducer, ImdgProvider imdgProvider, - IMessageResolver messageResolver, + ValidationHelper validationHelper, @Qualifier("clearingMemberCategoryNewRequestValidator") Function clearingMemberCategoryNewRequestValidator, @Qualifier("clearingMemberCategoryUpdateRequestValidator") Function clearingMemberCategoryUpdateRequestValidator, @Qualifier("clearingMemberCategoryDeleteRequestValidator") Function clearingMemberCategoryDeleteRequestValidator) { super(kafkaQueue, kafkaProducer); this.clearingMemberCategoryMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); - this.messageResolver = messageResolver; this.clearingMemberCategoryNewRequestValidator = clearingMemberCategoryNewRequestValidator; this.clearingMemberCategoryUpdateRequestValidator = clearingMemberCategoryUpdateRequestValidator; this.clearingMemberCategoryDeleteRequestValidator = clearingMemberCategoryDeleteRequestValidator; + this.validationHelper = validationHelper; } @Override @@ -69,7 +67,7 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init private RequestInfoUpdate clearingMemberCategoryNew(BaseRequest userRequest) { ClearingMemberCategoryNewRequest req = userRequest.getRequestPayload(); - RequestInfoUpdate requestInfoUpdate = ValidationHelper.validate(userRequest, clearingMemberCategoryNewRequestValidator, messageResolver); + RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, clearingMemberCategoryNewRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; log.debug("ClearingMemberCategoryUpdateRequest received {}", userRequest.getId()); @@ -86,7 +84,7 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init public RequestInfoUpdate clearingMemberCategoryUpdate(BaseRequest userRequest) { ClearingMemberCategoryUpdateRequest req = userRequest.getRequestPayload(); - RequestInfoUpdate requestInfoUpdate = ValidationHelper.validate(userRequest, clearingMemberCategoryUpdateRequestValidator, messageResolver); + RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, clearingMemberCategoryUpdateRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; log.debug("ClearingMemberCategoryUpdateRequest received"); @@ -102,7 +100,7 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init private RequestInfoUpdate clearingMemberCategoryDelete(BaseRequest userRequest) { CommonDeleteRequest req = userRequest.getRequestPayload(); - RequestInfoUpdate requestInfoUpdate = ValidationHelper.validate(userRequest, clearingMemberCategoryDeleteRequestValidator, messageResolver); + RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, clearingMemberCategoryDeleteRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; log.debug("CommonDeleteRequest received id = {}", req.getId());