package pl.matisoft.soy.locale;
import com.google.common.base.Optional;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.LocaleResolver;
import javax.servlet.http.HttpServletRequest;
import java.util.Locale;
/**
* Created with IntelliJ IDEA.
* User: mati
* Date: 01/11/2013
* Time: 21:47
*/
public class SpringLocaleProvider implements LocaleProvider {
@Override
public Optional<Locale> resolveLocale(final HttpServletRequest request) {
final LocaleResolver localeResolver = (LocaleResolver) request.getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE);
if (localeResolver != null) {
final Locale locale = localeResolver.resolveLocale(request);
if (locale != null) {
return Optional.of(locale);
}
}
return Optional.fromNullable(request.getLocale());
}
}