Example usage for org.springframework.beans.support PagedListHolder getPageSize

List of usage examples for org.springframework.beans.support PagedListHolder getPageSize

Introduction

In this page you can find the example usage for org.springframework.beans.support PagedListHolder getPageSize.

Prototype

public int getPageSize() 

Source Link

Document

Return the current page size.

Usage

From source file:sample.tomcat.jsp.MessageController.java

@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView showList(@RequestParam(required = false) Integer page,
        @RequestParam(required = false) Integer maxItems, @ModelAttribute("research") Research research) {
    ModelAndView modelAndView = new ModelAndView("list");
    List<Message> messageList = messageService.findAll();
    PagedListHolder<Message> pagedListHolder = new PagedListHolder<>(messageList);
    modelAndView.addObject("maxItems", pagedListHolder.getPageSize());
    modelAndView.addObject("maxPages", pagedListHolder.getPageCount());
    if (maxItems == null || maxItems < 1 || maxItems > pagedListHolder.getPageSize()) {
        pagedListHolder.setPageSize(DEFAULT_PAGE_SIZE);
    } else {/*from ww  w. j  a  va2  s .c  o  m*/
        pagedListHolder.setPageSize(maxItems);
    }
    if (page == null || page < 1 || page > pagedListHolder.getPageCount())
        page = 1;
    modelAndView.addObject("page", page);
    if (page == null || page < 1 || page > pagedListHolder.getPageCount()) {
        pagedListHolder.setPage(0);
        modelAndView.addObject("messageList", pagedListHolder.getPageList());
    } else if (page <= pagedListHolder.getPageCount()) {
        pagedListHolder.setPage(page - 1);
        modelAndView.addObject("messageList", pagedListHolder.getPageList());
    }

    return modelAndView;
}

From source file:sample.tomcat.jsp.MessageController.java

@RequestMapping(value = "/search", method = RequestMethod.GET)
public ModelAndView showSearch(HttpServletRequest request,
        @RequestParam(value = "name", required = true) String name,
        @RequestParam(required = false) Integer page, @RequestParam(required = false) Integer maxItems,
        @ModelAttribute("research") Research research) {
    ModelAndView modelAndView = new ModelAndView("search");
    name = request.getParameter("name");
    List<Message> messageSearch = messageService.findByFirstNameContainsOrLastNameContainsAllIgnoreCase(name,
            name);//from  ww  w.j a  v  a2 s  .  c o  m
    PagedListHolder<Message> pagedListHolder = new PagedListHolder<>(messageSearch);
    // pagedListHolder.setPageSize(maxItems);
    modelAndView.addObject("maxItems", pagedListHolder.getPageSize());
    modelAndView.addObject("maxPages", pagedListHolder.getPageCount());
    if (maxItems == null || maxItems < 1 || maxItems > pagedListHolder.getPageSize()) {
        pagedListHolder.setPageSize(DEFAULT_PAGE_SIZE);
    } else {
        pagedListHolder.setPageSize(maxItems);
    }

    if (page == null || page < 1 || page > pagedListHolder.getPageCount())
        page = 1;
    modelAndView.addObject("page", page);
    if (page == null || page < 1 || page > pagedListHolder.getPageCount()) {
        pagedListHolder.setPage(0);
        modelAndView.addObject("messageSearch", pagedListHolder.getPageList());
    } else if (page <= pagedListHolder.getPageCount()) {
        pagedListHolder.setPage(page - 1);
        modelAndView.addObject("messageSearch", pagedListHolder.getPageList());
    }

    return modelAndView;
}

From source file:org.hoteia.qalingo.web.mvc.controller.search.CatalogSearchController.java

@RequestMapping(value = FoUrls.CATALOG_SEARCH_URL, method = RequestMethod.GET)
public ModelAndView search(final HttpServletRequest request, final Model model, @Valid SearchForm searchForm)
        throws Exception {
    ModelAndViewThemeDevice modelAndView = new ModelAndViewThemeDevice(getCurrentVelocityPath(request),
            FoUrls.CATALOG_SEARCH.getVelocityPage());
    final RequestData requestData = requestUtil.getRequestData(request);
    final MarketArea marketArea = requestData.getMarketArea();

    // SANITY CHECK
    List<String> evictValues = new ArrayList<String>();
    evictValues.add("*");
    if (StringUtils.isNotEmpty(searchForm.getText()) && evictValues.contains(searchForm.getText())) {
        return displaySearch(request, model);
    }//from  w  ww  . ja va 2s.c o  m

    if (StringUtils.isEmpty(searchForm.getText()) && searchForm.getPage() == 0) {
        return displaySearch(request, model);
    }

    String sessionKeyPagedListHolder = "Search_ProductMarketing_PagedListHolder_"
            + request.getSession().getId();
    String sessionKeyFacet = "Search_ProductMarketing_Facet_" + request.getSession().getId();

    int page = 0;
    try {
        page = Integer.parseInt(request.getParameter("page"));
    } catch (Exception e) {
        // NO NEED
    }

    String mode = request.getParameter(Constants.PAGE_VIEW_MODE);
    String sortBy = searchForm.getSortBy();
    String order = searchForm.getOrder();
    int pageSize = searchForm.getPageSize();

    final List<String> facetFields = new ArrayList<String>();
    facetFields.add(ProductMarketingResponseBean.PRODUCT_MARKETING_SEARCH_FIELD_CATEGORIE_CODES);
    facetFields.add(ProductMarketingResponseBean.PRODUCT_MARKETING_SEARCH_FIELD_PRODUCT_BRAND_CODE);
    facetFields.add(ProductMarketingResponseBean.PRODUCT_MARKETING_SEARCH_FIELD_OPTION_DEFINITION_CODES);
    facetFields.add(ProductMarketingResponseBean.PRODUCT_MARKETING_SEARCH_FIELD_TAG_CODES);

    try {
        PagedListHolder<ProductMarketingViewBean> pagedListHolder;
        if (page == 0 || request.getSession().getAttribute(sessionKeyPagedListHolder) == null) {
            ProductMarketingResponseBean productMarketingResponseBean = null;

            String querySearch = getSearchQuery(marketArea, searchForm.getText());

            if (searchForm.getPrice() != null) {
                //                   if(searchForm.getCatalogCategoryList() != null){
                //                       productMarketingResponseBean = productMarketingSolrService.searchProductMarketing(querySearch, facetFields, searchForm.getPrice().getStartValue(), searchForm.getPrice().getEndValue(), 
                //                               searchForm.getCatalogCategoryList());
                //                   } else {
                //                       productMarketingResponseBean = productMarketingSolrService.searchProductMarketing(querySearch, facetFields, searchForm.getPrice().getStartValue(), searchForm.getPrice().getEndValue());
                //                   }
                productMarketingResponseBean = productMarketingSolrService.searchProductMarketing(querySearch,
                        facetFields, null);

            } else {
                productMarketingResponseBean = productMarketingSolrService.searchProductMarketing(querySearch,
                        facetFields, null);
            }

            pagedListHolder = initList(requestData, sessionKeyPagedListHolder, productMarketingResponseBean,
                    pageSize, sortBy, order);

            // FACETS
            List<SearchFacetViewBean> facets = frontofficeViewBeanFactory
                    .buildListViewBeanCatalogSearchFacet(requestData, productMarketingResponseBean);
            modelAndView.addObject(AbstractSolrService.SEARCH_FACET_FIELD_LIST, facets);
            request.getSession().setAttribute(sessionKeyFacet, facets);

        } else {
            pagedListHolder = (PagedListHolder<ProductMarketingViewBean>) request.getSession()
                    .getAttribute(sessionKeyPagedListHolder);

            // FACETS
            List<SearchFacetViewBean> facets = (List<SearchFacetViewBean>) request.getSession()
                    .getAttribute(sessionKeyFacet);
            modelAndView.addObject(AbstractSolrService.SEARCH_FACET_FIELD_LIST, facets);
        }

        int pageListPosition = page - 1;
        int pageCurrent = pagedListHolder.getPage();
        if (pageCurrent < pageListPosition) {
            for (int i = pageCurrent; i < pageListPosition; i++) {
                pagedListHolder.nextPage();
            }
        } else if (pageCurrent > pageListPosition) {
            for (int i = pageListPosition; i < pageCurrent; i++) {
                pagedListHolder.previousPage();
            }
        }

        modelAndView.addObject(Constants.PAGINATION_PAGE_URL, requestUtil.getCurrentRequestUrl(request));
        modelAndView.addObject(Constants.PAGINATION_PAGE_PAGED_LIST_HOLDER, pagedListHolder);
        modelAndView.addObject(Constants.SEARCH_TEXT, searchForm.getText());
        modelAndView.addObject(Constants.PAGINATION_PAGE_SIZE, pagedListHolder.getPageSize());
        modelAndView.addObject(Constants.PAGINATION_SORT_BY, sortBy);
        modelAndView.addObject(Constants.PAGINATION_ORDER, order);
        modelAndView.addObject(Constants.PRICE_RANGE_PARAMETER, searchForm.getPrice());
        //         modelAndView.addObject(Constants.CATALOG_CATEGORIES_PARAMETER, searchForm.getCategoriesFilter());

    } catch (Exception e) {
        logger.error("SOLR Error", e);
        return displaySearch(request, model);
    }

    loadRecentProducts(requestData, model);

    final Cart currentCart = requestData.getCart();
    final CartViewBean cartViewBean = frontofficeViewBeanFactory
            .buildViewBeanCart(requestUtil.getRequestData(request), currentCart);
    modelAndView.addObject(ModelConstants.CART_VIEW_BEAN, cartViewBean);

    overrideDefaultPageTitle(request, modelAndView, FoUrls.CATALOG_SEARCH.getKey());

    model.addAttribute(ModelConstants.BREADCRUMB_VIEW_BEAN, buildBreadcrumbViewBean(requestData));

    return modelAndView;
}

From source file:org.hoteia.qalingo.web.mvc.controller.search.StoreSearchController.java

@RequestMapping(value = FoUrls.STORE_SEARCH_URL, method = RequestMethod.GET)
public ModelAndView search(final HttpServletRequest request, final Model model, @Valid SearchForm searchForm)
        throws Exception {
    ModelAndViewThemeDevice modelAndView = (ModelAndViewThemeDevice) displaySearch(request, model);
    final RequestData requestData = requestUtil.getRequestData(request);

    // SANITY CHECK : evict values
    List<String> evictValues = new ArrayList<String>();
    evictValues.add("*");
    if (StringUtils.isNotEmpty(searchForm.getText()) && evictValues.contains(searchForm.getText())) {
        return modelAndView;
    }//  ww  w. j  a  v a 2 s.  c  om

    // SANITY CHECK : if empty search : use geolocated city as default value
    if (StringUtils.isEmpty(searchForm.getText()) && searchForm.getPage() == 0
            && requestData.getGeolocData() != null && requestData.getGeolocData().getCity() != null) {
        searchForm.setText(requestData.getGeolocData().getCity().getName());
    }

    // SANITY CHECK : empty search
    if (StringUtils.isEmpty(searchForm.getText()) && searchForm.getPage() == 0) {
        return modelAndView;
    }

    String url = requestUtil.getCurrentRequestUrl(request);

    String sessionKeyPagedListHolder = "Search_Store_PagedListHolder_" + request.getSession().getId();
    String sessionKeyFacet = "Search_Store_Facet_" + request.getSession().getId();

    int page = 0;
    try {
        page = Integer.parseInt(request.getParameter("page"));
    } catch (Exception e) {
        // NO NEED
    }

    String mode = request.getParameter(Constants.PAGE_VIEW_MODE);
    String cities = request.getParameter("cities");
    String countries = request.getParameter("countries");

    List<String> cityList = new ArrayList<String>();
    if (StringUtils.isEmpty(cities)) {
        cityList = null;
    } else {
        String[] arr = cities.split(",");
        cityList = Arrays.asList(arr);
    }
    List<String> countryList = new ArrayList<String>();
    if (StringUtils.isEmpty(countries)) {
        countryList = null;
    } else {
        String[] arr = countries.split(",");
        countryList = Arrays.asList(arr);
    }

    int pageSize = searchForm.getPageSize();
    if (pageSize == 0) {
        pageSize = 16;
    }
    String sortBy = searchForm.getSortBy();
    String order = searchForm.getOrder();

    try {
        PagedListHolder<StoreViewBean> pagedListHolder;
        if (page == 0 || request.getSession().getAttribute(sessionKeyPagedListHolder) == null) {
            StoreResponseBean storeResponseBean = null;

            List<String> facetFields = new ArrayList<String>();
            facetFields.add(StoreResponseBean.STORE_CITY_FACET_FIELD);
            facetFields.add(StoreResponseBean.STORE_COUNTRY_FACET_FIELD);

            String query = getSearchQuery(searchForm.getText());

            SolrParam solrParam = new SolrParam();
            solrParam.put("rows", "150");

            storeResponseBean = storeSolrService.searchStore(query, facetFields, cityList, countryList,
                    solrParam);
            //               StoreResponseBean storeResponBeanNonFilter = storeSolrService.searchStore(, , facetFields);
            pagedListHolder = initList(requestData, sessionKeyPagedListHolder, storeResponseBean, pageSize,
                    sortBy, order);

            // FACETS
            //                List<SearchFacetViewBean> facets = frontofficeViewBeanFactory.buildListViewBeanStoreSearchFacet(requestData, storeResponBeanNonFilter);
            List<SearchFacetViewBean> facets = frontofficeViewBeanFactory
                    .buildListViewBeanStoreSearchFacet(requestData, storeResponseBean);
            modelAndView.addObject(AbstractSolrService.SEARCH_FACET_FIELD_LIST, facets);
            request.getSession().setAttribute(sessionKeyFacet, facets);

        } else {
            pagedListHolder = (PagedListHolder<StoreViewBean>) request.getSession()
                    .getAttribute(sessionKeyPagedListHolder);

            // FACETS
            List<SearchFacetViewBean> facets = (List<SearchFacetViewBean>) request.getSession()
                    .getAttribute(sessionKeyFacet);
            modelAndView.addObject(AbstractSolrService.SEARCH_FACET_FIELD_LIST, facets);
        }

        int pageListPosition = page - 1;
        int pageCurrent = pagedListHolder.getPage();
        if (pageCurrent < pageListPosition) {
            for (int i = pageCurrent; i < pageListPosition; i++) {
                pagedListHolder.nextPage();
            }
        } else if (pageCurrent > pageListPosition) {
            for (int i = pageListPosition; i < pageCurrent; i++) {
                pagedListHolder.previousPage();
            }
        }

        modelAndView.addObject(Constants.PAGINATION_PAGE_URL, url);
        modelAndView.addObject(Constants.PAGINATION_PAGE_PAGED_LIST_HOLDER, pagedListHolder);
        modelAndView.addObject(Constants.SEARCH_TEXT, searchForm.getText());
        modelAndView.addObject(Constants.PAGINATION_PAGE_SIZE, pagedListHolder.getPageSize());
        modelAndView.addObject(Constants.PAGINATION_SORT_BY, sortBy);
        modelAndView.addObject(Constants.PAGINATION_ORDER, order);
        modelAndView.addObject(Constants.STORE_CITY_PARAMETER, cities);
        modelAndView.addObject(Constants.STORE_COUNTRY_PARAMETER, countries);

    } catch (Exception e) {
        logger.error("SOLR Error", e);
        return modelAndView;
    }

    modelAndView.addObject("storeSearchUrl", urlService.generateUrl(FoUrls.STORE_SEARCH, requestData));

    return modelAndView;
}