@ResponseBody @RequestMapping(value = "/results", method = RequestMethod.GET) public SearchResultsData<ProductData> jsonSearchResults( @RequestParam("q") final String searchQuery, @RequestParam(value = "page", defaultValue = "0") final int page, @RequestParam(value = "show", defaultValue = "Page") final ShowMode showMode, @RequestParam(value = "sort", required = false) final String sortCode) throws CMSItemNotFoundException { final ProductSearchPageData<SearchStateData, ProductData> searchPageData = performSearch(searchQuery, page, showMode, sortCode, getSearchPageSize()); final SearchResultsData<ProductData> searchResultsData = new SearchResultsData<>(); searchResultsData.setResults(searchPageData.getResults()); searchResultsData.setPagination(searchPageData.getPagination()); return searchResultsData; }
@RequestMapping(value = "/results", method = RequestMethod.GET) public String productListerSearchResults( @RequestParam("q") final String searchQuery, @RequestParam(value = "page", defaultValue = "0") final int page, @RequestParam(value = "show", defaultValue = "Page") final ShowMode showMode, @RequestParam(value = "sort", required = false) final String sortCode, @RequestParam(value = "searchResultType", required = false) final String searchResultType, @RequestParam(value = "skuIndex", required = false, defaultValue = "0") final int skuIndex, @RequestParam(value = "isOrderForm", required = false, defaultValue = "false") final boolean isOrderForm, @RequestParam(value = "isOnlyProductIds", required = false, defaultValue = "false") final boolean isOnlyProductIds, @RequestParam(value = "isCreateOrderForm", required = false, defaultValue = "false") final boolean isCreateOrderForm, final Model model) throws CMSItemNotFoundException { // check if it is order form (either order form was selected or "Create Order Form" final PageableData pageableData = createPageableData(page, getSearchPageSize(), sortCode, showMode); final SearchStateData searchState = createSearchStateData(searchQuery, isPopulateVariants(searchResultType, isCreateOrderForm)); final SearchPageData<ProductData> searchPageData = performSearch( searchState, pageableData, isUseFlexibleSearch(isOnlyProductIds, isCreateOrderForm)); populateModel(model, searchPageData, showMode); final SearchResultsData<ProductData> searchResultsData = new SearchResultsData<ProductData>(); searchResultsData.setResults(searchPageData.getResults()); searchResultsData.setPagination(searchPageData.getPagination()); model.addAttribute("searchResultsData", searchResultsData); model.addAttribute("skuIndex", Integer.valueOf(skuIndex)); model.addAttribute("isOrderForm", Boolean.valueOf(isOrderForm)); model.addAttribute("isCreateOrderForm", Boolean.valueOf(isCreateOrderForm)); if (isCreateOrderForm) { model.addAttribute("searchResultType", ADVANCED_SEARCH_RESULT_TYPE_ORDER_FORM); model.addAttribute("filterSkus", splitSkusAsList(searchQuery)); } else { model.addAttribute("searchResultType", searchResultType); } return ControllerConstants.Views.Fragments.Product.ProductLister; }