Example usage for org.springframework.data.domain Page getNumber

List of usage examples for org.springframework.data.domain Page getNumber

Introduction

In this page you can find the example usage for org.springframework.data.domain Page getNumber.

Prototype

int getNumber();

Source Link

Document

Returns the number of the current Slice .

Usage

From source file:org.kmnet.com.fw.web.pagination.PaginationInfo.java

/**
 * Constructor. Initializes the properties with the arguments passed<br>
 * @param page/*from  w  w w .  j a v a 2s . co  m*/
 * @param pathTmpl path template of pagination
 * @param queryTmpl query template of pagination
 * @param criteriaQuery Query of search criteria
 * @param disableHtmlEscapeOfCriteriaQuery Flag to indicate whether html escaping of criteriaQuery is to be disabled or
 *            not.IF set to true, html escaping of criteriaQuery is disabled.
 * @param maxDisplayCount max display count
 * @since 1.0.1
 */
public PaginationInfo(Page<?> page, String pathTmpl, String queryTmpl, String criteriaQuery,
        boolean disableHtmlEscapeOfCriteriaQuery, int maxDisplayCount) {
    this.page = page;
    this.current = page.getNumber();
    this.pathTmpl = pathTmpl;
    this.queryTmpl = queryTmpl;
    if (disableHtmlEscapeOfCriteriaQuery) {
        this.criteriaQuery = removeHeadDelimiterOfQueryString(criteriaQuery);
    } else {
        this.criteriaQuery = HtmlEscapeUtils.htmlEscape(removeHeadDelimiterOfQueryString(criteriaQuery));
    }
    this.maxDisplayCount = maxDisplayCount;
    this.pageUri = UriComponentsBuilder.fromPath(pathTmpl).query(queryTmpl).build();
}

From source file:com.yqboots.web.thymeleaf.processor.element.PaginationElementProcessor.java

/**
 * Adds elements for steps./*w w w.  j av  a 2  s. c  om*/
 *
 * @param page        the pagination object
 * @param contextPath current context path of servlet
 * @param container   the container node of the element
 */
private void addStepElements(final Page<?> page, final String contextPath, final Element container) {
    for (int step = 0; step < DEFAULT_STEPS; step++) {
        // beyond total pages is not allowed
        if (page.getTotalPages() < step + 1) {
            continue;
        }

        String url;
        int stepValue;
        if ((page.getNumber() + DEFAULT_STEPS) <= page.getTotalPages()) {
            // calculate by page number
            url = getPagedParams(contextPath, page.getNumber() + step, page.getSize());
            stepValue = page.getNumber() + step + 1;
        } else if (page.getTotalPages() < DEFAULT_STEPS && page.getTotalPages() >= step + 1) {
            // between step and DEFAULT_STEPS
            url = getPagedParams(contextPath, step, page.getSize());
            stepValue = step + 1;
        } else {
            // calculate by totalPages
            url = getPagedParams(contextPath, page.getTotalPages() - DEFAULT_STEPS + step, page.getSize());
            stepValue = page.getTotalPages() - DEFAULT_STEPS + step + 1;
        }

        final Element a = new Element("a");
        a.setAttribute("href", url);
        a.addChild(new Text(Integer.toString(stepValue)));

        final Element li = new Element("li");
        li.addChild(a);
        // set active
        if (page.getNumber() + 1 == stepValue) {
            li.setAttribute("class", "active");
        }

        container.addChild(li);
    }
}

From source file:com.yqboots.web.thymeleaf.processor.element.PaginationElementProcessor.java

/**
 * Gets the link node of the next page./*from w w  w  .ja va2  s. c om*/
 *
 * @param page        the pagination object
 * @param contextPath current context path of servlet
 * @return the node
 */
private Element getNextElement(final Page<?> page, final String contextPath) {
    final Element result = new Element("li");

    String url;
    if (!page.hasNext()) {
        int pageNumber = page.getTotalPages() - 1;
        url = getPagedParams(contextPath, pageNumber < 0 ? 0 : pageNumber, page.getSize());
    } else {
        url = getPagedParams(contextPath, page.getNumber() + 1, page.getSize());
    }

    final Element a = new Element("a");
    a.setAttribute("href", url);
    result.addChild(a);

    final Element icon = new Element("i");
    icon.setAttribute("class", "glyphicon glyphicon-triangle-right");

    a.addChild(icon);

    if (!page.hasNext()) {
        result.setAttribute("class", "disabled");
    }

    return result;
}

From source file:edu.swau.softball.web.BaseController.java

protected void paginate(Model model, Page page, Map<String, Object> params) {
    Integer pageNumber = (Integer) params.get(Constants.PAGE);
    String sort = (String) params.get(Constants.SORT);
    String direction = (String) params.get(Constants.DIRECTION);
    String oposite = (String) params.get(Constants.OPOSITE_DIRECTION);
    String filter = (String) params.get(Constants.FILTER);
    if (pageNumber == null) {
        pageNumber = 0;//from w  ww.  j a va  2 s .  co  m
    }
    List<Integer> pages = new ArrayList<>();

    int current = page.getNumber() + 1;
    int begin = Math.max(0, current - 6);
    int end = Math.min(begin + 11, page.getTotalPages());

    if (begin > 0) {
        pages.add(0);
        if (begin > 1) {
            pages.add(-1);
        }
    }
    for (int i = begin; i < end; i++) {
        pages.add(i);
    }
    if (end < page.getTotalPages()) {
        pages.add(-1);
        pages.add(page.getTotalPages() - 1);
    }
    model.addAttribute(Constants.SORT, sort);
    log.debug("{} : {}", direction, oposite);
    model.addAttribute(Constants.DIRECTION, direction);
    model.addAttribute(Constants.OPOSITE_DIRECTION, oposite);
    model.addAttribute(Constants.CURRENT_PAGE, pageNumber);
    model.addAttribute(Constants.TOTAL_PAGES, page.getTotalPages() - 1);
    model.addAttribute(Constants.PAGES, pages);
    model.addAttribute(Constants.FILTER, filter);
}

From source file:com.excilys.ebi.bank.web.controller.account.operations.OperationsTableConverter.java

@Override
public OperationsTable convert(Page<Operation> source) {

    /*/*  w  w  w.jav  a 2  s.  c om*/
     * For the brave souls who get this far: You are the chosen ones, the
     * valiant knights of programming who toil away, without rest, fixing
     * our most awful code. To you, true saviors, kings of men, I say this:
     * never gonna give you up, never gonna let you down, never gonna run
     * around and desert you. Never gonna make you cry, never gonna say
     * goodbye. Never gonna tell a lie and hurt you.
     */

    OperationsTable table = new OperationsTable();
    table.setNumber(source.getNumber());
    table.setNumberOfElements(source.getNumberOfElements());
    table.setSize(source.getSize());
    table.setTotalElements(source.getTotalElements());
    table.setTotalPages(source.getTotalPages());
    table.setHasContent(source.hasContent());
    table.setHasNextPage(source.hasNextPage());
    table.setHasPreviousPage(source.hasPreviousPage());
    table.setFirstPage(source.isFirstPage());
    table.setLastPage(source.isLastPage());
    table.setStartIndex(source.getTotalElements() > 0 ? source.getSize() * source.getNumber() + 1 : 0);
    table.setPageIndex(source.getTotalElements() > 0 ? source.getNumber() + 1 : 0);
    table.setEndIndex(source.getSize() * source.getNumber() + source.getNumberOfElements());

    for (Operation operation : source.getContent()) {

        OperationsLine line = new OperationsLine();
        line.setAmount(operation.getAmount());
        line.setDate(operation.getDate().toString("MM/dd/yyyy"));
        line.setName(operation.getName());
        line.setStatus(operation.getStatus().getId());
        table.getLines().add(line);
    }

    for (int i = 0; i < source.getSize() - source.getNumberOfElements(); i++) {
        table.getEmptyLines().add(StringUtils.EMPTY);
    }

    return table;
}

From source file:com.rizki.mufrizal.belajar.spring.data.mongodb.service.impl.CategoryServiceImpl.java

@Override
public TreeMap<String, Object> getCategories(Pageable pageable) {
    Page<Category> categories = categoryRepository.findAll(pageable);

    List<Category> categorys = new ArrayList<>();

    for (Category category : categories) {
        category.setDepartment(departmentRepository.findOne(category.getDepartmentId()));
        categorys.add(category);//from ww  w .  j  av  a2s . c  o m
    }

    TreeMap<String, Object> map = new TreeMap<>();
    map.put("content", categorys);
    map.put("last", categories.isLast());
    map.put("totalPages", categories.getTotalPages());
    map.put("totalElements", categories.getTotalElements());
    map.put("size", categories.getSize());
    map.put("number", categories.getNumber());
    map.put("sort", categories.getSort());
    map.put("first", categories.isFirst());
    map.put("numberOfElements", categories.getNumberOfElements());

    return map;
}

From source file:org.davidmendoza.esu.web.BaseController.java

protected void pagina(Model model, Page page, Map<String, Object> params) {
    Integer pagina = (Integer) params.get(Constants.PAGINA);
    String ordena = (String) params.get(Constants.ORDENA);
    String direccion = (String) params.get(Constants.DIRECCION);
    String direccionContraria = (String) params.get(Constants.DIRECCION_CONTRARIA);
    String filtro = (String) params.get(Constants.FILTRO);
    if (pagina == null) {
        pagina = 0;//w w  w.j  a va  2s . c o  m
    }
    List<Integer> paginas = new ArrayList<>();

    int current = page.getNumber() + 1;
    int begin = Math.max(0, current - 6);
    int end = Math.min(begin + 11, page.getTotalPages());

    if (begin > 0) {
        paginas.add(0);
        if (begin > 1) {
            paginas.add(-1);
        }
    }
    for (int i = begin; i < end; i++) {
        paginas.add(i);
    }
    if (end < page.getTotalPages()) {
        paginas.add(-1);
        paginas.add(page.getTotalPages() - 1);
    }
    model.addAttribute("ordena", ordena);
    model.addAttribute("direccion", direccion);
    model.addAttribute("direccionContraria", direccionContraria);
    model.addAttribute("paginaActual", pagina);
    model.addAttribute("paginasTotales", page.getTotalPages() - 1);
    model.addAttribute("paginas", paginas);
    model.addAttribute("filtro", filtro);
}

From source file:org.kemri.wellcome.controller.ReportController.java

@RequestMapping(value = Views.ALLLOCATIONS, produces = Views.MEDIA_TYPE_JSON)
public @ResponseBody JqgridResponse<LocationDTO> locationRecords(@RequestParam("_search") Boolean search,
        @RequestParam(value = "filters", required = false) String filters,
        @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
        @RequestParam(value = "rows", required = false, defaultValue = "10") Integer rows,
        @RequestParam(value = "sidx", required = false) String sidx,
        @RequestParam(value = "sord", required = false) String sord) {

    Pageable pageRequest = new PageRequest(page - 1, rows);

    if (search == true) {
        return getFilteredLocations(filters, pageRequest);
    }//from www .  j av  a  2 s .co  m
    Page<Location> locations = locationRepository.findAll(pageRequest);
    List<LocationDTO> locationsDTOList = LocationMapper.map(locations);

    JqgridResponse<LocationDTO> response = new JqgridResponse<LocationDTO>();
    response.setRows(locationsDTOList);
    response.setRecords(Long.valueOf(locations.getTotalElements()).toString());
    response.setTotal(Integer.valueOf(locations.getTotalPages()).toString());
    response.setPage(Integer.valueOf(locations.getNumber() + 1).toString());

    return response;
}

From source file:org.kemri.wellcome.controller.ReportController.java

@RequestMapping(value = Views.ALLREPORTS, produces = Views.MEDIA_TYPE_JSON)
public @ResponseBody JqgridResponse<ReportDefinitionDTO> records(@RequestParam("_search") Boolean search,
        @RequestParam(value = "filters", required = false) String filters,
        @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
        @RequestParam(value = "rows", required = false, defaultValue = "10") Integer rows,
        @RequestParam(value = "sidx", required = false) String sidx,
        @RequestParam(value = "sord", required = false) String sord) {

    Pageable pageRequest = new PageRequest(page - 1, rows);

    if (search == true) {
        return getFilteredReports(filters, pageRequest);
    }//from   ww w. j a  va  2  s  .  co m
    Page<ReportDefinition> reports = reportRepository.findAll(pageRequest);
    List<ReportDefinitionDTO> reportsDTOList = ReportDefinitionMapper.map(reports);

    JqgridResponse<ReportDefinitionDTO> response = new JqgridResponse<ReportDefinitionDTO>();
    response.setRows(reportsDTOList);
    response.setRecords(Long.valueOf(reports.getTotalElements()).toString());
    response.setTotal(Integer.valueOf(reports.getTotalPages()).toString());
    response.setPage(Integer.valueOf(reports.getNumber() + 1).toString());

    return response;
}

From source file:org.kemri.wellcome.controller.Dhis2ServerController.java

@RequestMapping(value = Views.ALLUSERS, produces = Views.MEDIA_TYPE_JSON)
public @ResponseBody JqgridResponse<UserDTO> records(@RequestParam("_search") Boolean search,
        @RequestParam(value = "filters", required = false) String filters,
        @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
        @RequestParam(value = "rows", required = false, defaultValue = "10") Integer rows,
        @RequestParam(value = "sidx", required = false) String sidx,
        @RequestParam(value = "sord", required = false) String sord) {

    Sort sort = new Sort(new Order(Direction.DESC, "id"));
    Pageable pageRequest = new PageRequest(page - 1, rows, sort);

    if (search == true) {
        return getFilteredUsers(filters, pageRequest);
    }// w w  w  .  j  a  v  a  2s. co  m

    Page<User> users = userRepository.findAll(pageRequest);
    List<UserDTO> userDTOList = UserMapper.map(users);

    JqgridResponse<UserDTO> response = new JqgridResponse<UserDTO>();
    response.setRows(userDTOList);
    response.setRecords(Long.valueOf(users.getTotalElements()).toString());
    response.setTotal(Integer.valueOf(users.getTotalPages()).toString());
    response.setPage(Integer.valueOf(users.getNumber() + 1).toString());

    return response;
}