package be.mentoringsystems.merke.presentation.locale; import be.mentoringsystems.merke.model.db.Login; import be.mentoringsystems.merke.service.LoginService; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.servlet.i18n.CookieLocaleResolver; import static org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME; import static org.springframework.web.servlet.i18n.CookieLocaleResolver.TIME_ZONE_REQUEST_ATTRIBUTE_NAME; /** * * @author anthonyarents */ public class CustomLocaleResolver extends CookieLocaleResolver { @Autowired private LoginService loginService; @Override public Locale resolveLocale(final HttpServletRequest request) { final Login login = loginService.getCurrentLogin(); if (login != null) { final Locale locale = new Locale(login.getLanguage()); request.setAttribute(LOCALE_REQUEST_ATTRIBUTE_NAME, locale); request.setAttribute(TIME_ZONE_REQUEST_ATTRIBUTE_NAME, determineDefaultTimeZone(request)); return locale; } else { return super.resolveLocale(request); } } }