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 2aca843c6..4c3807bff 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 @@ -28,12 +28,13 @@ public class IMDGMessageResolver implements IMessageResolver { if (errMsg == null) return "null"; Supplier simplFormatter = () -> String.format("(%d) args %s", errMsg.getSubject().getId(), Arrays.toString(errMsg.getArgs())); try { - ErrorCodeDictionary errorDictionary = errorCodeDictionaryIMDG.getSingleObjectByID(errMsg.getSubject().getId()); + Long errId = errMsg.getSubject().getId(); + ErrorCodeDictionary errorDictionary = errorCodeDictionaryIMDG.getSingleObjectByID(errId); if (errorDictionary == null) { log.warn("ERROR_CODE_DICTIONARY not found for id={}", errMsg.getSubject().getId()); return simplFormatter.get(); } - String textTemplate = errorDictionary.getName(); + String textTemplate = errId + " " + errorDictionary.getName(); return String.format(textTemplate, errMsg.getArgs()); } catch (Exception errFormatting) { // MissingFormatArgumentException log.warn("Error in message resolver for error {} id {}. Format error: {}", errMsg.getSubject(), errMsg.getSubject().getId(), errFormatting); diff --git a/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java index 9b03cd75f..37dd1196b 100644 --- a/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java +++ b/clearing-parent/clearing-validation/src/test/java/ru/spcex/clearing/util/services/IMDGMessageResolverTest.java @@ -31,11 +31,11 @@ class IMDGMessageResolverTest { IErrorEnumId err1 = ClearingErrorInternalTest.TestError; { String text = resolver.resolve(new EnumMessage(err1, "a", "and", "b")); - assertEquals("Error 1 test. Two arg a, and.", text); + assertEquals("1 Error 1 test. Two arg a, and.", text); } { String text = resolver.resolve(new EnumMessage(err1, "a", "and")); - assertEquals("Error 1 test. Two arg a, and.", text); + assertEquals("1 Error 1 test. Two arg a, and.", text); } { String text = resolver.resolve(new EnumMessage(err1, "one only this"));