1 package com.atlassian.plugin.refimpl.saldeps;
2
3 import com.atlassian.sal.api.message.LocaleResolver;
4 import com.atlassian.sal.api.user.UserKey;
5
6 import javax.servlet.http.HttpServletRequest;
7 import java.util.HashSet;
8 import java.util.Locale;
9 import java.util.Set;
10
11
12
13
14
15 public class CoreRefimplLocaleResolver implements LocaleResolver {
16 @Override
17 public Locale getLocale(HttpServletRequest request) {
18 String country = request.getParameter("locale.country");
19 String lang = request.getParameter("locale.lang");
20 String variant = request.getParameter("locale.variant");
21
22 if (lang != null && country != null && variant != null) {
23 return new Locale(lang, country, variant);
24 } else if (lang != null && country != null) {
25 return new Locale(lang, country);
26 } else if (lang != null) {
27 return new Locale(lang);
28 } else if (request.getLocale() != null) {
29 return request.getLocale();
30 }
31
32 return getLocale();
33 }
34
35 @Override
36 public Locale getLocale() {
37 return Locale.getDefault();
38 }
39
40 @Override
41 public Locale getLocale(UserKey userKey) {
42 return Locale.getDefault();
43 }
44
45 @Override
46 public Set<Locale> getSupportedLocales() {
47 final Set<Locale> ret = new HashSet<Locale>();
48 ret.add(new Locale("en", "AU"));
49 ret.add(Locale.US);
50 ret.add(Locale.ENGLISH);
51 ret.add(Locale.FRENCH);
52 ret.add(Locale.GERMAN);
53 return ret;
54 }
55 }