Example usage for org.springframework.web.servlet.support RequestContextUtils getLocaleResolver

List of usage examples for org.springframework.web.servlet.support RequestContextUtils getLocaleResolver

Introduction

In this page you can find the example usage for org.springframework.web.servlet.support RequestContextUtils getLocaleResolver.

Prototype

@Nullable
public static LocaleResolver getLocaleResolver(HttpServletRequest request) 

Source Link

Document

Return the LocaleResolver that has been bound to the request by the DispatcherServlet.

Usage

From source file:org.hoteia.qalingo.core.web.util.RequestUtil.java

protected void setLocaleSpringContext(final HttpServletRequest request, String newLocale) {
    if (newLocale != null) {
        try {/*from   w  ww.  ja  v  a 2s  .co  m*/
            LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
            if (localeResolver == null) {
                throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
            }
            localeResolver.setLocale(request, null,
                    org.springframework.util.StringUtils.parseLocaleString(newLocale));

        } catch (Exception e) {
            logger.error("No LocaleResolver found: not in a DispatcherServlet request?");
        }
    }
}

From source file:org.jtalks.jcommune.web.controller.UserController.java

@RequestMapping(value = "/login_ajax", method = RequestMethod.POST)
@ResponseBody//from ww w.ja  v  a2  s  .  co  m
public JsonResponse loginAjax(@RequestParam("userName") String username,
        @RequestParam("password") String password,
        @RequestParam(value = "_spring_security_remember_me", defaultValue = "off") String rememberMe,
        HttpServletRequest request, HttpServletResponse response) throws Exception {
    LoginUserDto loginUserDto = new LoginUserDto(username, password, rememberMe.equals(REMEMBER_ME_ON),
            getClientIpAddress(request));
    AuthenticationStatus authenticationStatus;
    try {
        authenticationStatus = retryTemplate
                .execute(new LoginRetryCallback(loginUserDto, request, response, userService));
    } catch (NoConnectionException e) {
        return getCustomErrorJsonResponse("connectionError");
    } catch (UnexpectedErrorException e) {
        return getCustomErrorJsonResponse("unexpectedError");
    }
    if (authenticationStatus.equals(AuthenticationStatus.AUTHENTICATED)) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        localeResolver.setLocale(request, response, userService.getCurrentUser().getLanguage().getLocale());
        return new JsonResponse(JsonResponseStatus.SUCCESS);
    } else if (authenticationStatus.equals(AuthenticationStatus.NOT_ENABLED)) {
        JCUser user;
        try {
            user = userService.getByUsername(username);
        } catch (NotFoundException e) {
            return getCustomErrorJsonResponse("unexpectedError");
        }
        return new JsonResponse(JsonResponseStatus.FAIL, user.getId());
    } else {
        return new JsonResponse(JsonResponseStatus.FAIL);
    }
}

From source file:org.jtalks.jcommune.web.controller.UserController.java

/**
 * Handles login action.//  w  ww . j  a v  a 2 s .com
 * @param loginUserDto {@link RegisterUserDto} populated in form
 * @param referer    referer url
 * @param request    servlet request
 * @param response   servlet response
 * @return "success" or "fail" response status
 */
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ModelAndView login(@ModelAttribute(LOGIN_DTO) LoginUserDto loginUserDto,
        @RequestParam(REFERER_ATTR) String referer,
        @RequestParam(value = "_spring_security_remember_me", defaultValue = "off") String rememberMe,
        HttpServletRequest request, HttpServletResponse response) throws Exception {
    boolean isAuthenticated;
    loginUserDto.setRememberMe(rememberMe.equals(REMEMBER_ME_ON));
    loginUserDto.setClientIp(getClientIpAddress(request));
    if (referer == null || referer.contains(LOGIN)) {
        referer = MAIN_PAGE_REFERER;
    }
    try {
        isAuthenticated = retryTemplate
                .execute(new LoginRetryCallback(loginUserDto, request, response, userService))
                .equals(AuthenticationStatus.AUTHENTICATED);
    } catch (NoConnectionException e) {
        return new ModelAndView(AUTH_SERVICE_FAIL_URL);
    } catch (UnexpectedErrorException e) {
        return new ModelAndView(AUTH_SERVICE_FAIL_URL);
    }
    if (isAuthenticated) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        localeResolver.setLocale(request, response, userService.getCurrentUser().getLanguage().getLocale());
        return new ModelAndView("redirect:" + referer);
    } else {
        ModelAndView modelAndView = new ModelAndView(AUTH_FAIL_URL);
        modelAndView.addObject(ATTR_USERNAME, loginUserDto.getUserName());
        modelAndView.addObject(REFERER_ATTR, referer);
        return modelAndView;
    }
}

From source file:org.springframework.web.servlet.i18n.LocaleChangeInterceptor.java

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws ServletException {

    String newLocale = request.getParameter(getParamName());
    if (newLocale != null) {
        if (checkHttpMethod(request.getMethod())) {
            LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
            if (localeResolver == null) {
                throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
            }/*from   www.  j a v a  2 s .c  o  m*/
            try {
                localeResolver.setLocale(request, response, parseLocaleValue(newLocale));
            } catch (IllegalArgumentException ex) {
                if (isIgnoreInvalidLocale()) {
                    logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage());
                } else {
                    throw ex;
                }
            }
        }
    }
    // Proceed in any case.
    return true;
}

From source file:ro.cs.om.web.controller.root.ControllerUtils.java

/** Adds to model a list with all the accepted application's languages.
 * //from  www  .  j  a  v  a  2 s  .c om
 * Also adds previous selected language, found in the client's cookie, 
 * created in the past by CookieLocaleResolver.
 * 
 * @author dd 
 * @param request
 */
public void publishLocales(HttpServletRequest request) {
    logger.debug("Publish Locales");
    // A list with all accepted languages
    List<StringString> languages = new ArrayList<StringString>();
    StringString language = null;
    try {
        // Language index
        int i = 1;
        // Language code prefix
        String code = "accepted.language.code.";
        // Language name prefix
        String name = "accepted.language.name.";
        // Flag indicating the end of this operation
        boolean end = false;
        logger.debug("begin");
        while (!end) {
            logger.debug("-> " + Integer.toString(i));
            language = new StringString();
            language.setValue(
                    ConfigParametersProvider.getConfigStringProtected(code.concat(Integer.toString(i))));
            language.setLabel(
                    ConfigParametersProvider.getConfigStringProtected(name.concat(Integer.toString(i))));
            if (language.getValue() != null && language.getLabel() != null) {
                // If both key and value are valid (!null), add the language to list
                languages.add(language);
                // Increment index (scanning next entry)
                i++;
            } else {
                // End of this operation reached
                end = true;
            }
        }
        logger.debug("end");
    } catch (Exception ex) {
        logger.error("Exception aroused ! Adding default language...", null);
        // If any exception appeared, I'll add the default language
        languages.add(new StringString("en", "English"));
    }
    // Adding to request the Attribute with all accepted languages
    request.setAttribute(IConstant.ACCEPTED_LANGUAGES, languages);
    // Retrieve CookieLocaleResolver
    SessionLocaleResolver localeResolver = (SessionLocaleResolver) RequestContextUtils
            .getLocaleResolver(request);
    logger.debug("localeResolver: " + localeResolver);
    // Adding to request the Attribute with the selected siteLanguage
    // SiteLanguage is retrieved from a client's cookie (if any present).
    request.setAttribute(IConstant.LANGUAGE_ATTRIBUTE, localeResolver.resolveLocale(request).getLanguage());
}