diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MessagesConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MessagesConfig.java
index 6e2ab3e55..d3bfcb871 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MessagesConfig.java
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MessagesConfig.java
@@ -1,8 +1,11 @@
package ru.spcex.clearing.backendapi.config;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
+import ru.spcex.platform.utils.enumeration.IMessageResolver;
+import ru.spcex.platform.utils.enumeration.SpringPropertiesMessageResolver;
import java.util.Locale;
@@ -17,4 +20,9 @@ public class MessagesConfig {
source.setDefaultLocale(Locale.ROOT);
return source;
}
+
+ @Bean("errorResolver")
+ public IMessageResolver errorResolver(@Qualifier("validation-error-messages") ResourceBundleMessageSource messageBundle) {
+ return new SpringPropertiesMessageResolver(messageBundle);
+ }
}
diff --git a/platform-parent/platform-utils/pom.xml b/platform-parent/platform-utils/pom.xml
index b9e306f5e..0578697fa 100644
--- a/platform-parent/platform-utils/pom.xml
+++ b/platform-parent/platform-utils/pom.xml
@@ -19,4 +19,12 @@
17
+
+
+ org.springframework
+ spring-context
+ provided
+
+
+
\ No newline at end of file
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/errors/ErrorResolver.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java
similarity index 50%
rename from clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/errors/ErrorResolver.java
rename to platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java
index 4eda4e153..f086c0970 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/errors/ErrorResolver.java
+++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/enumeration/SpringPropertiesMessageResolver.java
@@ -1,24 +1,33 @@
-package ru.spcex.clearing.backendapi.errors;
+package ru.spcex.platform.utils.enumeration;
import org.springframework.context.support.ResourceBundleMessageSource;
-import org.springframework.stereotype.Service;
-import ru.spcex.platform.utils.enumeration.EnumMessage;
-import ru.spcex.platform.utils.enumeration.IMessageResolver;
import java.util.Locale;
-@Service("errorResolver")
-public class ErrorResolver implements IMessageResolver {
+/**
+ * Если в зависимостях не будет spring-context, кинет NoClassDefFound
+ */
+public class SpringPropertiesMessageResolver implements IMessageResolver {
private final ResourceBundleMessageSource errorMessages;
+ private Locale locale;
- public ErrorResolver(ResourceBundleMessageSource errorMessages) {
+ public SpringPropertiesMessageResolver(ResourceBundleMessageSource errorMessages) {
this.errorMessages = errorMessages;
+ this.locale = Locale.ENGLISH;
+ }
+
+ public void setLocale(String locale) {
+ this.locale = new Locale(locale);
+ }
+
+ public void setLocale(Locale locale) {
+ this.locale = locale;
}
@Override
public String resolve(EnumMessage errorMessage) {
Long id = errorMessage.getSubject().getId();
- String messageTemplate = errorMessages.getMessage(id.toString(), null, Locale.ENGLISH);
+ String messageTemplate = errorMessages.getMessage(id.toString(), null, locale);
if (errorMessage.getArgs().length > 0)
return String.format(messageTemplate, errorMessage.getArgs());
else {