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:com.yaodu.framework.controller.product.ProductSearchController.java

/**
 * /*from  w w  w .ja v  a 2s .c o m*/
 * @description ??
 * @author Ali Cao
 * @date 201537
 * @param request
 * @param searchTxt
 * @param model
 * @return
 */
@RequestMapping(value = "/searchProductBaseInfo")
public ModelAndView searchProductBaseInfo(@RequestParam(required = false, defaultValue = "1") int pageNo,
        @RequestParam(required = false) Integer pageSize,
        @RequestParam(required = false, defaultValue = "2") int showModel, HttpServletRequest request,
        String searchTxt, ModelAndView model) {

    long l1 = new Date().getTime();

    if (log.isDebugEnabled()) {
        log.debug("entering searchProductBaseInfo(String,Model) method");
    }

    CustomerInfo temCustomerInfo = (CustomerInfo) request.getSession().getAttribute("customerInfo");
    Integer memberId = null;
    if (temCustomerInfo != null) {
        memberId = temCustomerInfo.getId();
    }

    Map<String, Set<String>> drugTypeMap = null;
    List<Map.Entry<String, String>> therapyDomainMap = null; // ? 
    List<ProductBascInfo> newProList = null;
    HttpSession session = request.getSession();
    Pager pager = (Pager) session.getAttribute("page");
    //add 2015-05-04 yannis ? bug 898 ????2040????????20
    if (pageSize == null) {
        if (pager == null) {
            pageSize = 20;
        } else {
            pageSize = pager.getPageSize();
        }
    }

    @SuppressWarnings("unchecked")
    List<ProductBascInfo> productsList = (List<ProductBascInfo>) session.getAttribute("productsList");
    Locale locale = RequestContextUtils.getLocaleResolver(request).resolveLocale(request);

    // ?json??????
    if (null != searchTxt && !"".equals(searchTxt)) {
        SearchCondition searchCondition = SearchUtil.getSearchCondition(searchTxt);

        if (searchCondition != null) {

            session.setAttribute("sortByTime", searchCondition.getSortByTime());
            session.setAttribute("sortByCharactor", searchCondition.getSortByCharactor());

            if ((searchCondition.getSortByTime() == null || "".equals(searchCondition.getSortByTime()))
                    && (null == searchCondition.getSortByCharactor()
                            || "".equals(searchCondition.getSortByCharactor()))) {
                searchCondition.setSortByTime("d");
                session.setAttribute("sortByTime", searchCondition.getSortByTime());
            }

            List<NIds> list = null;
            // ?? ?
            if (searchCondition.getSearchTxt() != null && !"".equals(searchCondition.getSearchTxt())) {
                list = getIdsByKeyWord(searchCondition.getSearchTxt());
                // ?? ?HotTpic
            } else if (searchCondition.getHotTopicId() != null && !"".equals(searchCondition.getHotTopicId())) {
                String name = SearchUtil.getHotTopicNameById(productSearchService,
                        Integer.valueOf(searchCondition.getHotTopicId()).intValue());
                Map<String, String> hotTopic = new HashMap<String, String>();
                hotTopic.put(searchCondition.getHotTopicId(), name);
                model.addObject("hotTopic", hotTopic);
                model.addObject("hotTopicName", name);
                list = getIdsByHotpic(searchCondition.getHotTopicId());
                // ?? 
            } else if ((searchCondition.getDrugClassificationOne() != null
                    && !"".equals(searchCondition.getDrugClassificationOne()))
                    || (((searchCondition.getDrugClassificationOne() != null
                            && !"".equals(searchCondition.getDrugClassificationOne()))
                            && (searchCondition.getDrugClassificationTwo() != null
                                    && !"".equals(searchCondition.getDrugClassificationTwo()))))) {
                String classificationOneId = searchCondition.getDrugClassificationOne();
                if (!classificationOneId.isEmpty()) {
                    Map<String, String> drugClassificationOne = new HashMap<String, String>();
                    String name = "";
                    Menu menu = SearchUtil.getClassificationNameById(productSearchService, classificationOneId);
                    if (null != menu) {
                        if (!locale.getCountry().equals("CN")) {
                            name = menu.getLabelEn();
                        } else {
                            name = menu.getName();
                        }
                    }

                    drugClassificationOne.put(classificationOneId, name);
                    model.addObject("drugClassificationOne", drugClassificationOne);
                    model.addObject("drugClassificationOneName", name);
                }
                String classificationTwoId = searchCondition.getDrugClassificationTwo();
                if (!classificationTwoId.isEmpty()) {
                    Map<String, String> drugClassificationTwo = new HashMap<String, String>();
                    String name = "";
                    Menu menu = SearchUtil.getClassificationNameById(productSearchService, classificationTwoId);
                    if (null != menu) {
                        if (!locale.getCountry().equals("CN")) {
                            name = menu.getLabelEn();
                        } else {
                            name = menu.getName();
                        }
                    }
                    drugClassificationTwo.put(classificationTwoId, name);
                    model.addObject("drugClassificationTwo", drugClassificationTwo);
                    model.addObject("drugClassificationTwoName", name);
                }
                list = getIdsByClassification(searchCondition.getDrugClassificationOne(),
                        searchCondition.getDrugClassificationTwo());
                // ?? ???
            } else if (searchCondition.getTargets() != null && searchCondition.getTargets().size() > 0) {
                list = productSolrjSearchService.getIdsByTarget(searchTxt);
            }
            List<String> nIds = changeList(list);
            searchCondition.setnIds(nIds);

            // customer first research
            if (null == productsList || pageNo == 1) {
                productsList = null;
                pager = null;
                pager = new Pager();
                pager.setPageSize(pageSize);
                if (searchCondition.getSearchTxt() != null && !"".equals(searchCondition.getSearchTxt())) {
                    if (nIds != null && nIds.size() > 0) {
                        productsList = productSolrjSearchService.searchProductBaseInfo(searchCondition);
                    }
                } else if (searchCondition.getHotTopicId() != null
                        && !"".equals(searchCondition.getHotTopicId())) {
                    if (nIds != null && nIds.size() > 0) {
                        productsList = productSolrjSearchService.searchProductBaseInfo(searchCondition);
                    }
                } else {
                    productsList = productSolrjSearchService.searchProductBaseInfo(searchCondition);
                }
                session.setAttribute("productsList", productsList);
                session.setAttribute("page", pager);
                pager.setRecordCount(productsList == null ? 0 : productsList.size());
                pager.setPageCount(pager.getPageCount());
            }

            PageListUtils.fillPageInfo(pageNo, pager);

            newProList = PageListUtils.getNewProList(productsList, pager);

            newProList = PageListUtils.fillNewList(newProList, myFavoriteControllerService, memberId);

            drugTypeMap = getDrugType(productsList);
            therapyDomainMap = getTherapyDomain(targetStr, locale);
        }

        // ?????
        if (null != searchCondition.getTherapyDomain() && searchCondition.getTherapyDomain().size() > 0) {
            List<String> lst = searchCondition.getTherapyDomain();
            List<Map<String, String>> lstTherapyDomain = null;
            if (lst != null && lst.size() > 0) {
                lstTherapyDomain = new ArrayList<Map<String, String>>();
                for (int i = 0; i < lst.size(); i++) {
                    Map<String, String> therapyDomain = new HashMap<String, String>();
                    String cat_id = lst.get(i);
                    String name = "";
                    Menu menu = SearchUtil.getClassificationNameById(productSearchService, cat_id);
                    if (null != menu) {
                        if (!locale.getCountry().equals("CN")) {
                            name = menu.getLabelEn();
                        } else {
                            name = menu.getName();
                        }
                    }
                    therapyDomain.put(cat_id, name);
                    lstTherapyDomain.add(therapyDomain);
                }
            }
            model.addObject("lstTherapyDomain", lstTherapyDomain);
        }
        model.addObject("searchTxt", searchCondition.getSearchTxt());
        model.addObject("searchCondition", searchCondition);
    } else {
        // find all
        Object sortByTime = session.getAttribute("sortByTime");
        Object sortByChar = session.getAttribute("sortByCharactor");
        SearchCondition searchCondition = new SearchCondition();
        if (null != sortByTime && !"".equals(sortByTime)) {
            searchCondition.setSortByTime(sortByTime.toString());
        } else if (null != sortByChar && !"".equals(sortByChar)) {
            searchCondition.setSortByCharactor(sortByChar.toString());
        } else {
            searchCondition.setSortByTime("d");
            session.setAttribute("sortByTime", "d");
        }

        if (null == productsList || pageNo == 1) {
            productsList = null;
            pager = null;
            pager = new Pager();
            pager.setPageSize(pageSize);
            productsList = productSolrjSearchService.findAllProducts(searchCondition);
            session.setAttribute("productsList", productsList);
            session.setAttribute("page", pager);
            pager.setRecordCount(productsList.size());
            pager.setPageCount(pager.getPageCount());
        }

        PageListUtils.fillPageInfo(pageNo, pager);
        newProList = PageListUtils.getNewProList(productsList, pager);

        newProList = PageListUtils.fillNewList(newProList, myFavoriteControllerService, null);

        drugTypeMap = getDrugType(productsList);
        therapyDomainMap = getTherapyDomain(targetStr, locale);

    }

    List<ProductBascInfo> recentlyViewedList = new ProductUtils().getRecentlyViewedList(request,
            productSolrjSearchService);
    model.addObject("drugTypeMap", drugTypeMap);
    model.addObject("therapyDomain", therapyDomainMap);
    model.addObject("newProList", newProList);
    model.addObject("recentlyViewedList", recentlyViewedList);
    model.addObject("pager", pager);
    // hotTopic? add GaoFei 2015-03-09
    List<HotTopic> hotTopicList = productBasicInfoService.getHotTopicList();
    model.addObject("hotTopicList", hotTopicList);

    //??
    model.addObject("showModel", showModel);

    long l2 = new Date().getTime();
    log.info("search pros used times ----------->" + (l2 - l1) + " ms");

    model.setViewName("product/searchResults");
    return model;
}

From source file:com.mtt.myapp.home.controller.HomeController.java

@ResponseStatus(HttpStatus.OK)
@RequestMapping("/set_language")
public void setLanguage(String lan, HttpServletResponse response, HttpServletRequest request) {
    LocaleResolver localeResolver = checkNotNull(RequestContextUtils.getLocaleResolver(request),
            "No LocaleResolver found!");
    LocaleEditor localeEditor = new LocaleEditor();
    String language = StringUtils.defaultIfBlank(lan, config.getDefaultLanguage());
    localeEditor.setAsText(language);//from   ww  w. java  2s  . c o  m
    localeResolver.setLocale(request, response, (Locale) localeEditor.getValue());
}

From source file:alfio.config.MvcConfiguration.java

@Bean
public HandlerInterceptor getEventLocaleSetterInterceptor() {
    return new HandlerInterceptorAdapter() {
        @Override//w ww . jav a 2 s . com
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {

            if (handler instanceof HandlerMethod) {
                HandlerMethod handlerMethod = ((HandlerMethod) handler);
                RequestMapping reqMapping = handlerMethod.getMethodAnnotation(RequestMapping.class);

                //check if the request mapping value has the form "/event/{something}"
                Pattern eventPattern = Pattern.compile("^/event/\\{(\\w+)}/{0,1}.*");
                if (reqMapping != null && reqMapping.value().length == 1
                        && eventPattern.matcher(reqMapping.value()[0]).matches()) {

                    Matcher m = eventPattern.matcher(reqMapping.value()[0]);
                    m.matches();

                    String pathVariableName = m.group(1);

                    //extract the parameter name
                    Arrays.stream(handlerMethod.getMethodParameters())
                            .map(methodParameter -> methodParameter.getParameterAnnotation(PathVariable.class))
                            .filter(Objects::nonNull).map(PathVariable::value).filter(pathVariableName::equals)
                            .findFirst().ifPresent((val) -> {

                                //fetch the parameter value
                                @SuppressWarnings("unchecked")
                                String eventName = Optional.ofNullable(((Map<String, Object>) request
                                        .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE))
                                                .get(val))
                                        .orElse("").toString();

                                LocaleResolver resolver = RequestContextUtils.getLocaleResolver(request);
                                Locale locale = resolver.resolveLocale(request);
                                List<ContentLanguage> cl = i18nManager.getEventLanguages(eventName);

                                request.setAttribute("ALFIO_EVENT_NAME", eventName);

                                if (cl.stream().noneMatch(
                                        contentLanguage -> contentLanguage.getLanguage().equals(Optional
                                                .ofNullable(locale).orElse(Locale.ENGLISH).getLanguage()))) {
                                    //override the user locale if it's not in the one permitted by the event
                                    resolver.setLocale(request, response, cl.stream().findFirst()
                                            .map(ContentLanguage::getLocale).orElse(Locale.ENGLISH));
                                } else {
                                    resolver.setLocale(request, response, locale);
                                }
                            });
                }
            }
            return true;
        }
    };
}

From source file:org.ngrinder.home.controller.HomeController.java

private void setLanguage(String lan, HttpServletResponse response, HttpServletRequest request) {
    LocaleResolver localeResolver = checkNotNull(RequestContextUtils.getLocaleResolver(request),
            "No LocaleResolver found!");
    LocaleEditor localeEditor = new LocaleEditor();
    String language = StringUtils.defaultIfBlank(lan,
            getConfig().getControllerProperties().getProperty(PROP_CONTROLLER_DEFAULT_LANG));
    localeEditor.setAsText(language);/*from  w ww  . ja  v a  2s.  co m*/
    localeResolver.setLocale(request, response, (Locale) localeEditor.getValue());
}

From source file:org.kuali.mobility.push.controllers.PushController.java

/**
 * A controller method to setup a UI form for sending a single push to a single device via a JSP. Will send to all devices or single selected device.
 *
 * @param uiModel/*www .  j  a v a2 s.c  o m*/
 * @return
 */
@RequestMapping(value = "", method = RequestMethod.GET)
public String index(Model uiModel, HttpServletRequest request) {
    LOG.info("index() in Push Tool was called.");

    String viewName;
    // TODO convert to spring security
    //        if (!isAllowedAccess("KME-ADMINISTRATOR", request)) {
    //           viewName = "redirect:/errors/401.jsp";
    //            LOG.info("Redirecting to: " + viewName );
    //        } else {
    // Get Stock Push Messages.
    String source = getKmeProperties().getProperty("push.stock.messages.source");
    if ("database".equalsIgnoreCase(source)) {
        LOG.info("GET Stock Messages from DB.");
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        Locale locale = localeResolver.resolveLocale(request);
        this.setStockPushMessages(this.getPushMessages(locale));
    } else if ("properties".equalsIgnoreCase(source)) {
        LOG.info("GET Stock Messages from Properties.");
        this.setStockPushMessages(this.getPushMessages());
    }

    uiModel.addAttribute(RECIPIENTS, RECIPIENTS_MAP);
    uiModel.addAttribute("stockPushMessages", stockPushMessages);
    Push push = new Push();

    LOG.info("keyListFile: " + keyListFile);

    uiModel.addAttribute("push", push);

    viewName = "ui3/push/index.html";
    //        }
    return viewName;
}

From source file:org.kuali.mobility.push.controllers.PushController.java

@RequestMapping(value = "/js/push.js")
public String getJavaScript(Model uiModel, HttpServletRequest request) {
    String source = getKmeProperties().getProperty("push.stock.messages.source");
    if ("database".equalsIgnoreCase(source)) {
        LOG.info("GET Stock Messages from DB.");
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        Locale locale = localeResolver.resolveLocale(request);
        this.setStockPushMessages(this.getPushMessages(locale));
    } else if ("properties".equalsIgnoreCase(source)) {
        LOG.info("GET Stock Messages from Properties.");
        this.setStockPushMessages(this.getPushMessages());
    }//from www.  java2 s  .  c  o  m

    Sender defaultSender = senderService.findSenderByShortName("KME_PUSH");
    uiModel.addAttribute("senderKey", defaultSender.getSenderKey());

    uiModel.addAttribute(RECIPIENTS, RECIPIENTS_MAP);
    uiModel.addAttribute("stockPushMessages", stockPushMessages);

    return "ui3/push/js/push.js.jsp";
}

From source file:com.yaodu.framework.controller.product.ProductSearchController.java

@RequestMapping(value = "/findAllProducts")
public ModelAndView findAllProducts(@RequestParam(required = false, defaultValue = "1") int pageNo,
        @RequestParam(required = false) Integer pageSize,
        @RequestParam(required = false, defaultValue = "2") int showModel, HttpServletRequest request,
        ModelAndView model) {//from  w  w  w .  j  ava2 s  . c  om

    log.debug("find all products");
    long l1 = new Date().getTime();
    List<ProductBascInfo> newProList = null;
    HttpSession session = request.getSession();

    Object sortByTime = session.getAttribute("sortByTime");
    Object sortByChar = session.getAttribute("sortByCharactor");
    SearchCondition searchCondition = new SearchCondition();
    if (null != sortByTime && !"".equals(sortByTime)) {
        searchCondition.setSortByTime(sortByTime.toString());
    } else if (null != sortByChar && !"".equals(sortByChar)) {
        searchCondition.setSortByCharactor(sortByChar.toString());
    } else {
        searchCondition.setSortByTime("d");
        session.setAttribute("sortByTime", "d");
    }

    Pager pager = (Pager) session.getAttribute("page");
    //add 2015-05-04 yannis ? bug 898 ????2040????????20
    if (pageSize == null) {
        if (pager == null) {
            pageSize = 20;
        } else {
            pageSize = pager.getPageSize();
        }
    }

    @SuppressWarnings("unchecked")
    List<ProductBascInfo> productsList = (List<ProductBascInfo>) session.getAttribute("productsList");

    CustomerInfo temCustomerInfo = (CustomerInfo) request.getSession().getAttribute("customerInfo");
    Integer memberId = null;
    if (temCustomerInfo != null) {
        memberId = temCustomerInfo.getId();
    }

    // customer first research
    if (null == productsList || pageNo == 1) {
        productsList = null;
        pager = null;
        pager = new Pager();
        pager.setPageSize(pageSize);
        productsList = productSolrjSearchService.findAllProducts(searchCondition);
        session.setAttribute("productsList", productsList);
        session.setAttribute("page", pager);
        pager.setRecordCount(productsList.size());
        pager.setPageCount(pager.getPageCount());
    }

    PageListUtils.fillPageInfo(pageNo, pager);

    newProList = PageListUtils.getNewProList(productsList, pager);
    newProList = PageListUtils.fillNewList(newProList, myFavoriteControllerService, memberId);

    Locale locale = RequestContextUtils.getLocaleResolver(request).resolveLocale(request);
    Map<String, Set<String>> drugTypeMap = getDrugType(productsList);
    List<Map.Entry<String, String>> therapyDomainMap = getTherapyDomain(targetStr, locale);
    model.addObject("therapyDomain", therapyDomainMap);
    model.addObject("drugTypeMap", drugTypeMap);
    model.addObject("pager", pager);
    model.addObject("newProList", newProList);
    List<ProductBascInfo> recentlyViewedList = getRecentlyViewedList(request);
    model.addObject("recentlyViewedList", recentlyViewedList);
    // hotTopic? add GaoFei 2015-03-09
    List<HotTopic> hotTopicList = productBasicInfoService.getHotTopicList();
    model.addObject("hotTopicList", hotTopicList);

    //?? 2015-04-13
    model.addObject("showModel", showModel);

    model.setViewName("product/searchResults");

    long l2 = new Date().getTime();
    log.info("find all pros used times ----------->" + (l2 - l1) + " ms");

    return model;
}

From source file:com.krawler.spring.authHandler.authHandlerController.java

protected void setLocale(HttpServletRequest request, HttpServletResponse response, String newLocale) {
    if (newLocale != null) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
        if (localeResolver == null) {
            LOG.debug("No LocaleResolver found: not in a DispatcherServlet request?");
            return;
        }/* ww  w. ja va  2s  .  co m*/
        LocaleEditor localeEditor = new LocaleEditor();
        localeEditor.setAsText(newLocale);
        localeResolver.setLocale(request, response, (Locale) localeEditor.getValue());
    }
}

From source file:org.asqatasun.webapp.report.pagination.PageListWrapper.java

/**
 * This method resolves the language through the request.
 *
 * @param request//w  w  w.  j a v  a  2 s.  c o  m
 * @return
 */
private ResourceBundle getResourceBundle(ServletRequest request) {
    ResourceBundle resourceBundle = ResourceBundle.getBundle(I18N_FILE_KEY);
    ;
    if (request instanceof HttpServletRequest) {
        LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver((HttpServletRequest) request);

        if (localeResolver != null) {
            // get current locale
            Locale locale = localeResolver.resolveLocale((HttpServletRequest) request);
            resourceBundle = ResourceBundle.getBundle(I18N_FILE_KEY, locale);
        }
    }
    return resourceBundle;
}

From source file:org.egov.infra.web.utils.WebUtils.java

public static void setUserLocale(User user, HttpServletRequest request, HttpServletResponse response) {
    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
    localeResolver.setLocale(request, response, user.locale());
}