Refactoring: IErrorEnumId

This commit is contained in:
AKurakin 2023-04-04 19:04:09 +03:00
parent 77c4fe1bfd
commit a2cc3945f6
21 changed files with 87 additions and 81 deletions

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.account.errors;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum AccountError implements IEnumId {
public enum AccountError implements IErrorEnumId {
WrongFieldValue(5004L),
AccountAlreadyExist(5010L),
CompanyNotFound(5013L),

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.backendapi.errors;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum BackEndError implements IEnumId {
public enum BackEndError implements IErrorEnumId {
ValidationError(9000L),
UnknownJsonProperty(9001L),
FailedToReadHttpMessage(9002L),

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.balance.errors;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum BalanceError implements IEnumId {
public enum BalanceError implements IErrorEnumId {
CompanyNotFound(5211L),
CurrencyNotFound(5213L),
CurrentDateOnly(5214L),

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.error;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum ClearingErrorInternal implements IEnumId {
public enum ClearingErrorInternal implements IErrorEnumId {
ClearingNotAllowed(1L),
AccountNotActive(2L),
CompanyNotActive(3L),

View file

@ -2,7 +2,7 @@ package ru.spcex.clearing.validation.common.rules;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.time.LocalDate;
@ -16,8 +16,8 @@ import java.util.function.Function;
public record DateNotBeforeRule<R>(
String fieldName,
Function<R, LocalDate> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastDate,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastDate,
boolean required
) implements IValidationRule<ImdgValidationContext<R>> {
@ -31,8 +31,8 @@ public record DateNotBeforeRule<R>(
*/
public static <R> DateNotBeforeRule<R> instance(String fieldName,
Function<R, LocalDate> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastDate,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastDate,
boolean required) {
return new DateNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastDate, required);
}
@ -46,8 +46,8 @@ public record DateNotBeforeRule<R>(
*/
public static <R> DateNotBeforeRule<R> instance(String fieldName,
Function<R, LocalDate> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastDate) {
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastDate) {
return new DateNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastDate, true);
}

View file

@ -6,7 +6,7 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Collection;
@ -22,8 +22,8 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
Function<R, String> getter,
String dictionaryName,
Class<D> dictionaryClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorWrongDictionaryValue,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorWrongDictionaryValue,
boolean required) implements IValidationRule<ImdgValidationContext<R>> {
/**
@ -41,8 +41,8 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
Function<R, String> getter,
String dictionaryName,
Class<D> dictionaryClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorWrongDictionaryValue,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorWrongDictionaryValue,
boolean required) {
return new DictionaryPresentRule<>(fieldName,
getter,
@ -67,8 +67,8 @@ public record DictionaryPresentRule<R, D extends AbstractDictionary>(String fiel
Function<R, String> getter,
String dictionaryName,
Class<D> dictionaryClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorWrongDictionaryValue) {
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorWrongDictionaryValue) {
return new DictionaryPresentRule<>(fieldName,
getter,
dictionaryName,

View file

@ -2,7 +2,7 @@ package ru.spcex.clearing.validation.common.rules;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.time.LocalDate;
@ -18,8 +18,8 @@ public record EndDtAfterStartDtRule<R>(
String startDtFieldName,
Function<R, LocalDate> getterEndDt,
Function<R, LocalDate> getterStartDt,
IEnumId errorEmptyRequiredValue,
IEnumId errorEndDtAfterStartDt,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorEndDtAfterStartDt,
boolean required
) implements IValidationRule<ImdgValidationContext<R>> {
@ -37,8 +37,8 @@ public record EndDtAfterStartDtRule<R>(
String startDtFieldName,
Function<R, LocalDate> getterEndDt,
Function<R, LocalDate> getterStartDt,
IEnumId errorEmptyRequiredValue,
IEnumId errorEndDtAfterStartDt,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorEndDtAfterStartDt,
boolean required) {
return new EndDtAfterStartDtRule<>(endDtFieldName,
startDtFieldName,
@ -62,8 +62,8 @@ public record EndDtAfterStartDtRule<R>(
String startDtFieldName,
Function<R, LocalDate> getterEndDt,
Function<R, LocalDate> getterStartDt,
IEnumId errorEmptyRequiredValue,
IEnumId errorEndDtAfterStartDt) {
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorEndDtAfterStartDt) {
return new EndDtAfterStartDtRule<>(endDtFieldName,
startDtFieldName,
getterEndDt,

View file

@ -2,8 +2,8 @@ package ru.spcex.clearing.validation.common.rules;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
@ -18,8 +18,8 @@ public record EnumPresentRule<R, E extends IEnumKey>(String fieldName,
Function<R, String> getter,
E[] enumValues,
boolean required,
IEnumId errorWrongEnumValue,
IEnumId errorEmptyRequiredValue) implements IValidationRule<ImdgValidationContext<R>> {
IErrorEnumId errorWrongEnumValue,
IErrorEnumId errorEmptyRequiredValue) implements IValidationRule<ImdgValidationContext<R>> {
/**
* @param fieldName Название поля
@ -35,8 +35,8 @@ public record EnumPresentRule<R, E extends IEnumKey>(String fieldName,
Function<R, String> getter,
E[] enumValues,
boolean required,
IEnumId errorWrongEnumValue,
IEnumId errorEmptyRequiredValue) {
IErrorEnumId errorWrongEnumValue,
IErrorEnumId errorEmptyRequiredValue) {
if (errorWrongEnumValue == null) throw new IllegalArgumentException("Empty errorWrongEnumValue");
if (required && errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
return new EnumPresentRule<>(fieldName, getter, enumValues, required, errorWrongEnumValue, errorEmptyRequiredValue);
@ -54,8 +54,8 @@ public record EnumPresentRule<R, E extends IEnumKey>(String fieldName,
public static <R, E extends IEnumKey> EnumPresentRule<R, E> instance(String fieldName,
Function<R, String> getter,
E[] enumValues,
IEnumId errorWrongEnumValue,
IEnumId errorEmptyRequiredValue) {
IErrorEnumId errorWrongEnumValue,
IErrorEnumId errorEmptyRequiredValue) {
return new EnumPresentRule<>(fieldName, getter, enumValues, true, errorWrongEnumValue, errorEmptyRequiredValue);
}

View file

@ -3,7 +3,7 @@ package ru.spcex.clearing.validation.common.rules;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
@ -18,7 +18,7 @@ import java.util.function.Function;
public record FieldRequiredRule<R, V>(
String fieldName,
Function<R, V> getter,
IEnumId errorEmptyRequiredValue
IErrorEnumId errorEmptyRequiredValue
) implements IValidationRule<ImdgValidationContext<R>> {
/**
@ -28,7 +28,7 @@ public record FieldRequiredRule<R, V>(
* @param <R> Класс проверяемого объекта
* @param <V> Класс проверяемого значения
*/
public static <R, V> FieldRequiredRule<R, V> instance(String fieldName, Function<R, V> getter, IEnumId errorEmptyRequiredValue) {
public static <R, V> FieldRequiredRule<R, V> instance(String fieldName, Function<R, V> getter, IErrorEnumId errorEmptyRequiredValue) {
if (errorEmptyRequiredValue == null) throw new IllegalArgumentException("Empty errorEmptyRequiredValue");
return new FieldRequiredRule<>(fieldName, getter, errorEmptyRequiredValue);
}

View file

@ -4,7 +4,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
@ -20,10 +20,10 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
Function<R, Long> idGetter,
String mapName,
Class<V> mapClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorIdNotPresent,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorIdNotPresent,
boolean required,
Function<V, IEnumId>[] additionalChecks
Function<V, IErrorEnumId>[] additionalChecks
) implements IValidationRule<ImdgValidationContext<R>> {
/**
@ -43,10 +43,10 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
Function<R, Long> idGetter,
String mapName,
Class<V> mapClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorIdNotPresent,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorIdNotPresent,
boolean required,
Function<V, IEnumId> ... additionalChecks) {
Function<V, IErrorEnumId> ... additionalChecks) {
return new IdPresentRule<>(fieldName,
idGetter,
mapName,
@ -73,9 +73,9 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
Function<R, Long> idGetter,
String mapName,
Class<V> mapClass,
IEnumId errorEmptyRequiredValue,
IEnumId errorIdNotPresent,
Function<V, IEnumId> ... additionalChecks) {
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorIdNotPresent,
Function<V, IErrorEnumId> ... additionalChecks) {
return new IdPresentRule<>(fieldName,
idGetter,
mapName,
@ -96,8 +96,8 @@ public record IdPresentRule<R, V extends SpcexObjectBase>(
if (fromMap == null) {
return of(errorIdNotPresent, fieldName);
}
for (Function<V, IEnumId> additionalCheck : additionalChecks) {
IEnumId validationError = additionalCheck.apply(fromMap);
for (Function<V, IErrorEnumId> additionalCheck : additionalChecks) {
IErrorEnumId validationError = additionalCheck.apply(fromMap);
if (validationError != null)
return of(validationError, fieldName);
}

View file

@ -2,7 +2,7 @@ package ru.spcex.clearing.validation.common.rules;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.time.LocalTime;
@ -16,8 +16,8 @@ import java.util.function.Function;
public record TimeNotBeforeRule<R>(
String fieldName,
Function<R, LocalTime> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastTime,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastTime,
boolean required
) implements IValidationRule<ImdgValidationContext<R>> {
@ -31,8 +31,8 @@ public record TimeNotBeforeRule<R>(
*/
public static <R> TimeNotBeforeRule<R> instance(String fieldName,
Function<R, LocalTime> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastTime,
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastTime,
boolean required) {
return new TimeNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastTime, required);
}
@ -46,8 +46,8 @@ public record TimeNotBeforeRule<R>(
*/
public static <R> TimeNotBeforeRule<R> instance(String fieldName,
Function<R, LocalTime> getter,
IEnumId errorEmptyRequiredValue,
IEnumId errorTaskForPastTime) {
IErrorEnumId errorEmptyRequiredValue,
IErrorEnumId errorTaskForPastTime) {
return new TimeNotBeforeRule<>(fieldName, getter, errorEmptyRequiredValue, errorTaskForPastTime, true);
}

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.company.error;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum CompanyErrors implements IEnumId {
public enum CompanyErrors implements IErrorEnumId {
GeneralError(3000L), // Общая ошибка модуля company-service
UserVerifyDenial(3001L), // 'Нет прав на проведение данной операции

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.scheduler.error;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum ValidationError implements IEnumId {
public enum ValidationError implements IErrorEnumId {
WrongDictionaryValue(10003L),
EmptyRequiredValue(10002L),
WrongEnumValue(777L), //todo set code

View file

@ -1,8 +1,8 @@
package ru.spcex.clearing.securities.errors;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum SecuritiesError implements IEnumId {
public enum SecuritiesError implements IErrorEnumId {
RequiredFieldIsEmpty(1002L),
WrongFieldValue(1004L),
InstrumentAlreadyExists(1010L),

View file

@ -5,16 +5,16 @@ import ru.spcex.platform.classes.base.interfaces.WithInstrumentType;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.imdg.validation.Stored;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
public class IsValidInstrumentTypeById implements IValidationRule<ImdgValidationContext<WithInstrumentType>> {
private final IEnumId errorEnum;
private final IErrorEnumId errorEnum;
private final String predictableInstrumentType;
public IsValidInstrumentTypeById(IEnumId errorEnum, String predictableInstrumentType) {
public IsValidInstrumentTypeById(IErrorEnumId errorEnum, String predictableInstrumentType) {
this.errorEnum = errorEnum;
this.predictableInstrumentType = predictableInstrumentType;
}

View file

@ -4,16 +4,16 @@ import ru.spcex.clearing.securities.errors.SecuritiesError;
import ru.spcex.platform.classes.base.interfaces.WithInstrumentType;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
public class IsValidInstrumentTypeFromRequest implements IValidationRule<ImdgValidationContext<WithInstrumentType>> {
private final IEnumId errorEnum;
private final IErrorEnumId errorEnum;
private final String predictableInstrumentType;
public IsValidInstrumentTypeFromRequest(IEnumId errorEnum, String predictableInstrumentType) {
public IsValidInstrumentTypeFromRequest(IErrorEnumId errorEnum, String predictableInstrumentType) {
this.errorEnum = errorEnum;
this.predictableInstrumentType = predictableInstrumentType;
}

View file

@ -8,7 +8,7 @@ import ru.spcex.platform.enumeration.Status;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Map;
@ -16,10 +16,10 @@ import java.util.Optional;
public class NotPresentBySecuritySymbolAndWorkflowStatusActv<T extends SpcexObjectBase & WithSecuritySymbol> implements IValidationRule<ImdgValidationContext<WithSecuritySymbol>> {
private final String mapName;
private final IEnumId errorEnum;
private final IErrorEnumId errorEnum;
private final Class<T> clazz;
public NotPresentBySecuritySymbolAndWorkflowStatusActv(String mapName, IEnumId errorEnum, Class<T> clazz) {
public NotPresentBySecuritySymbolAndWorkflowStatusActv(String mapName, IErrorEnumId errorEnum, Class<T> clazz) {
this.mapName = mapName;
this.errorEnum = errorEnum;
this.clazz = clazz;

View file

@ -5,21 +5,21 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
import ru.spcex.platform.imdg.validation.Stored;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.util.Optional;
public class PresentById implements IValidationRule<ImdgValidationContext<WithId>> {
private final String mapName;
private final IEnumId errorEnum;
private final IErrorEnumId errorEnum;
private boolean storeEnabled = false;
public PresentById(String mapName, IEnumId errorEnum) {
public PresentById(String mapName, IErrorEnumId errorEnum) {
this.mapName = mapName;
this.errorEnum = errorEnum;
}
public PresentById(String mapName, IEnumId errorEnum, Boolean storeEnabled) {
public PresentById(String mapName, IErrorEnumId errorEnum, Boolean storeEnabled) {
this.mapName = mapName;
this.errorEnum = errorEnum;
this.storeEnabled = storeEnabled;

View file

@ -0,0 +1,5 @@
package ru.spcex.platform.utils.enumeration;
public interface IErrorEnumId extends IEnumId {
}

View file

@ -1,7 +1,7 @@
package ru.spcex.platform.utils.validation;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
import java.util.Optional;
@ -29,11 +29,11 @@ public interface IValidationRule<C extends IValidatorContext> {
}
//*************** методы для сокращения кода ***************
default Optional<EnumMessage> of(IEnumId error) {
default Optional<EnumMessage> of(IErrorEnumId error) {
return Optional.of(new EnumMessage(error));
}
default Optional<EnumMessage> of(IEnumId error, Object... args) {
default Optional<EnumMessage> of(IErrorEnumId error, Object... args) {
return Optional.of(new EnumMessage(error, args));
}

View file

@ -1,8 +1,9 @@
package ru.spcex.platform.utils.validation;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum TestEnumWithId implements IEnumId {
public enum TestEnumWithId implements IEnumId, IErrorEnumId {
Message1(1L),
Message2(2L),
Message3(3L),