diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java index 3d64121d6..0149ece9f 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/util/services/IMDGMessageResolver.java @@ -1,6 +1,5 @@ package ru.spcex.clearing.util.services; -import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.clearing.platform.dictionary.ErrorCodeDictionary; @@ -11,6 +10,7 @@ import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IMessageResolver; import java.util.Arrays; +import java.util.function.Supplier; /** * Использует ErrorCodeDictionary для расшифровки текста кодов ошибок. @@ -24,19 +24,20 @@ public class IMDGMessageResolver implements IMessageResolver { } @Override - public String resolve(EnumMessage errorMessage) { - if (errorMessage == null) return "null"; + public String resolve(EnumMessage errMsg) { + if (errMsg == null) return "null"; + Supplier simplFormatter = () -> String.format("(%d) args %s", errMsg.getSubject().getId(), Arrays.toString(errMsg.getArgs())); try { - ErrorCodeDictionary errorDictionary = errorCodeDictionaryIMDG.getSingleObjectByID(errorMessage.getSubject().getId()); + ErrorCodeDictionary errorDictionary = errorCodeDictionaryIMDG.getSingleObjectByID(errMsg.getSubject().getId()); if (errorDictionary == null) { - log.warn("ERROR_CODE_DICTIONARY not found fo id={}", errorMessage.getSubject().getId()); - return String.format("(%d) args %s", errorMessage.getSubject().getId(), Arrays.toString(errorMessage.getArgs())); + log.warn("ERROR_CODE_DICTIONARY not found fo id={}", errMsg.getSubject().getId()); + return simplFormatter.get(); } String textTemplate = errorDictionary.getName(); - return String.format(textTemplate, errorMessage.getArgs()); + return String.format(textTemplate, errMsg.getArgs()); } catch (Exception errFormatting) { // MissingFormatArgumentException - log.warn("Error in message resolver for error {}: {}", errorMessage.getSubject(), ExceptionUtils.getStackTrace(errFormatting)); - return String.format("(%d) args %s", errorMessage.getSubject().getId(), Arrays.toString(errorMessage.getArgs())); + log.warn("Error in message resolver for error {} id {}", errMsg.getSubject(), errMsg.getSubject().getId()); + return simplFormatter.get(); } } }