1 package com.atlassian.refapp.sal.message; 2 3 import com.atlassian.plugin.spring.scanner.annotation.export.ExportAsService; 4 import com.atlassian.sal.api.message.LocaleResolver; 5 import com.atlassian.sal.api.user.UserKey; 6 7 import javax.inject.Named; 8 import javax.servlet.http.HttpServletRequest; 9 import java.util.HashSet; 10 import java.util.Locale; 11 import java.util.Set; 12 13 @ExportAsService 14 @Named("localeResolver") 15 public class RefimplLocaleResolver 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 }