@RequestMapping(method = RequestMethod.GET)
  public String list(
      @RequestParam(required = false) String p,
      @RequestParam(required = false) String s,
      @RequestParam(required = false) String f,
      HttpServletRequest request,
      ModelMap model,
      @ModelAttribute("success") String success,
      @ModelAttribute("error") String error) {
    PageState pageState = new PageState();
    pageState.setPage(PageHelper.parsePage(p));
    pageState.setSortColumn(PageHelper.parseSortColumn(s));
    pageState.setFilter(PageHelper.parseFilter(f));

    ComputersAndCount computersAndCount = computerService.findAllAndCount(pageState);

    pageState.setTotal(computersAndCount.getTotal());
    model.addAttribute("computers", computersAndCount.getComputers());

    // Now that we computed everything
    model.addAttribute("state", pageState);

    // Flash notices
    model.addAttribute("success", success);
    model.addAttribute("error", error);

    return "/index";
  }