diff options
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; } |