From e59eb6a458bccccb565fe45ac005d42cfe4557c4 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 16 Mar 2014 10:29:30 +0100 Subject: [PATCH] added method to get I18nMessages from servlet request --- .../java/sonia/scm/i18n/I18nMessages.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/scm-core/src/main/java/sonia/scm/i18n/I18nMessages.java b/scm-core/src/main/java/sonia/scm/i18n/I18nMessages.java index 97ba0cb0c2..a0d8adff3c 100644 --- a/scm-core/src/main/java/sonia/scm/i18n/I18nMessages.java +++ b/scm-core/src/main/java/sonia/scm/i18n/I18nMessages.java @@ -43,6 +43,8 @@ import java.lang.reflect.Field; import java.util.Locale; +import javax.servlet.http.HttpServletRequest; + /** * The I18nMessages class instantiates a class and initializes all {@link String} * fields with values from a resource bundle. The resource bundle must have the @@ -85,6 +87,22 @@ public final class I18nMessages return get(msgClass, Locale.ENGLISH); } + /** + * Same as {@link #get(java.lang.Class, java.util.Locale)}, with locale + * from servlet request ({@link HttpServletRequest#getLocale()}). + * + * + * @param msgClass message class + * @param request servlet request + * @param type of message class + * + * @return + */ + public static T get(Class msgClass, HttpServletRequest request) + { + return get(msgClass, request.getLocale()); + } + /** * Returns a instance of the given message class with all message fields * initialized. @@ -156,7 +174,7 @@ public final class I18nMessages Class msgClass, Object instance) throws IllegalArgumentException, IllegalAccessException { - for (Field field : msgClass.getFields()) + for (Field field : msgClass.getDeclaredFields()) { if (field.getType().isAssignableFrom(String.class)) {