summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <>2024-09-05 19:06:05 +0200
committerThomas <>2024-09-05 19:06:05 +0200
commitb4db7548803a09ead1a0edef30ba5d8fbde6546a (patch)
treeeb8b1f4caf5b84cdcce94b8d088bffe38eecd183
parent61c0fbc5eb9d24267d4ca24cdebe4566e959bd02 (diff)
downloadEAAF-Components-b4db7548803a09ead1a0edef30ba5d8fbde6546a.tar.gz
EAAF-Components-b4db7548803a09ead1a0edef30ba5d8fbde6546a.tar.bz2
EAAF-Components-b4db7548803a09ead1a0edef30ba5d8fbde6546a.zip
feat(i18): add method to set a specific Locale for i18n message
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java13
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java6
-rw-r--r--eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SimpleStatusMessager.java9
-rw-r--r--eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SpringBasedBasicStatusMessager.java11
-rw-r--r--eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/logging/JUnitTestStatusMessenger.java7
5 files changed, 43 insertions, 3 deletions
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
index daf2f6ff..105e183a 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/IStatusMessenger.java
@@ -19,6 +19,8 @@
package at.gv.egiz.eaaf.core.api;
+import java.util.Locale;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -59,6 +61,17 @@ public interface IStatusMessenger {
String getMessageWithoutDefault(String messageId, Object[] parameters);
/**
+ * Get the message corresponding to a given message ID.
+ *
+ * @param messageId The ID of the message.
+ * @param parameters The parameters to fill in into the message arguments.
+ * @param lang Language that should be used
+ * @return The formatted message, or <code>null</code> if no message was fround
+ */
+ @Nullable
+ String getMessageWithoutDefault(String messageId, Object[] parameters, Locale lang);
+
+ /**
* Get internal errorCode from from Exception.
*
* @param throwable Reason of error
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
index dd3701b3..15216d6f 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/impl/logging/DummyStatusMessager.java
@@ -20,6 +20,7 @@
package at.gv.egiz.eaaf.core.impl.logging;
import java.util.Arrays;
+import java.util.Locale;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
@@ -39,6 +40,11 @@ public class DummyStatusMessager implements IStatusMessenger {
}
@Override
+ public String getMessageWithoutDefault(String messageId, Object[] parameters, Locale lang) {
+ return getMessage(messageId, parameters);
+ }
+
+ @Override
public String getResponseErrorCode(final Throwable throwable) {
return "No StatusMessager-Backend available!";
diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SimpleStatusMessager.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SimpleStatusMessager.java
index 0d394d19..145994f3 100644
--- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SimpleStatusMessager.java
+++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SimpleStatusMessager.java
@@ -1,6 +1,7 @@
package at.gv.egiz.eaaf.core.impl.logging;
import java.text.MessageFormat;
+import java.util.Locale;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
@@ -32,6 +33,14 @@ public class SimpleStatusMessager implements IStatusMessenger {
return NULLMESSAGE;
}
+ /**
+ * @param lang not supported by this implementation
+ */
+ @Override
+ public String getMessageWithoutDefault(String messageId, Object[] parameters, Locale lang) {
+ return getMessageWithoutDefault(messageId, parameters);
+ }
+
@Override
public String getResponseErrorCode(final Throwable throwable) {
return NOTSUPPORTED;
diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SpringBasedBasicStatusMessager.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SpringBasedBasicStatusMessager.java
index 27fc04d2..6315a3d7 100644
--- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SpringBasedBasicStatusMessager.java
+++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/logging/SpringBasedBasicStatusMessager.java
@@ -61,16 +61,22 @@ public class SpringBasedBasicStatusMessager implements IStatusMessenger, Message
@Override
public String getMessageWithoutDefault(String messageId, Object[] parameters) {
+ final Locale locale = LocaleContextHolder.getLocale();
+ return getMessageWithoutDefault(messageId, parameters, locale);
+
+ }
+
+ @Override
+ public String getMessageWithoutDefault(String messageId, Object[] parameters, Locale locale) {
if (messageSource == null) {
return null;
} else {
try {
- final Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage(messageId, parameters, locale);
} catch (final NoSuchMessageException e) {
- log.debug(MSG_WARN_NO_SOURCE, messageId, LocaleContextHolder.getLocale());
+ log.debug(MSG_WARN_NO_SOURCE, messageId, locale);
log.trace(MSG_INFO, Locale.ENGLISH);
try {
@@ -88,7 +94,6 @@ public class SpringBasedBasicStatusMessager implements IStatusMessenger, Message
}
return null;
-
}
@Override
diff --git a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/logging/JUnitTestStatusMessenger.java b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/logging/JUnitTestStatusMessenger.java
index 9c1d0c82..edc6fe30 100644
--- a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/logging/JUnitTestStatusMessenger.java
+++ b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/logging/JUnitTestStatusMessenger.java
@@ -2,6 +2,7 @@ package at.gv.egiz.eaaf.core.impl.logging;
import java.text.MessageFormat;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import at.gv.egiz.eaaf.core.api.IStatusMessenger;
@@ -36,6 +37,12 @@ public class JUnitTestStatusMessenger implements IStatusMessenger {
}
@Override
+ public String getMessageWithoutDefault(String messageId, Object[] parameters, Locale lang) {
+ return getMessageWithoutDefault(messageId, parameters);
+
+ }
+
+ @Override
public String getResponseErrorCode(final Throwable throwable) {
return null;
}