2a61d9f00ea227542daeea4f3365cd5ba1e98548
[svjatoslav_commons.git] / LocaleHelper.java
1 package eu.svjatoslav.commons.network;
2
3 import javax.servlet.http.HttpServletRequest;
4
5 public class LocaleHelper {
6
7     public static Locale detectLocale(final HttpServletRequest request) {
8
9         final String sessionLocaleString = (String) request.getSession().getAttribute("locale");
10
11         Locale sessionLocale = localeFromString(sessionLocaleString);
12         if (sessionLocale == null)
13                         sessionLocale = Locale.ENG;
14
15         final Locale requestLocale = localeFromString(request.getParameter("locale"));
16         if (requestLocale != null)
17                         sessionLocale = requestLocale;
18
19         request.getSession().setAttribute("locale", sessionLocale.asString());
20
21         return sessionLocale;
22     }
23
24     public static Locale localeFromString(final String localeString) {
25         for (final Locale locale : Locale.values())
26                         if (locale.asString().equals(localeString))
27                                 return locale;
28
29         return null;
30     }
31
32 }