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

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

Introduction

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

Prototype

int getTotalPages();

Source Link

Document

Returns the number of total pages.

Usage

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

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

    /*/* www.j  ava2 s . c  o m*/
     * 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: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;//from   w  ww .  j  a  va  2  s.  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.lareferencia.backend.rest.PageResource.java

public PageResource(Page<T> page, String pageParam, String sizeParam) {
    super();//w w w. j  a  va  2s .c o  m
    this.page = page;
    if (page.hasPrevious()) {
        String path = createBuilder().queryParam(pageParam, page.getNumber() - 1)
                .queryParam(sizeParam, page.getSize()).build().toUriString();
        Link link = new Link(path, Link.REL_PREVIOUS);
        add(link);
    }
    if (page.hasNext()) {
        String path = createBuilder().queryParam(pageParam, page.getNumber() + 1)
                .queryParam(sizeParam, page.getSize()).build().toUriString();
        Link link = new Link(path, Link.REL_NEXT);
        add(link);
    }

    Link link = buildPageLink(pageParam, 0, sizeParam, page.getSize(), Link.REL_FIRST);
    add(link);

    int indexOfLastPage = page.getTotalPages() - 1;
    link = buildPageLink(pageParam, indexOfLastPage, sizeParam, page.getSize(), Link.REL_LAST);
    add(link);

    link = buildPageLink(pageParam, page.getNumber(), sizeParam, page.getSize(), Link.REL_SELF);
    add(link);
}

From source file:com.afmobi.mongodb.repository.PersonRepositoryIntegrationTests.java

@Test
public void findByCustomQueryFirstnamesInListAndLastname() {
    repository.save(new Person("foo", "bar"));
    repository.save(new Person("bar", "bar"));
    repository.save(new Person("fuu", "bar"));
    repository.save(new Person("notfound", "bar"));

    Page<Person> result = repository.findByCustomQueryFirstnamesAndLastname(Arrays.asList("bar", "foo", "fuu"),
            "bar", new PageRequest(0, 2));

    assertThat(result.getContent(), hasSize(2));
    assertThat(result.getTotalPages(), is(2));
    assertThat(result.getTotalElements(), is(3L));
}

From source file:com.afmobi.mongodb.repository.PersonRepositoryIntegrationTests.java

@Test
public void findByCustomQueryLastnameAndStreetInList() {
    repository.save(new Person("foo", "bar").withAddress(new Address("street1", "1", "SB")));
    repository.save(new Person("bar", "bar").withAddress(new Address("street2", "1", "SB")));
    repository.save(new Person("fuu", "bar").withAddress(new Address("street1", "2", "RGB")));
    repository.save(new Person("notfound", "notfound"));

    Page<Person> result = repository.findByCustomQueryLastnameAndAddressStreetInList("bar",
            Arrays.asList("street1", "street2"), new PageRequest(0, 2));

    assertThat(result.getContent(), hasSize(2));
    assertThat(result.getTotalPages(), is(2));
    assertThat(result.getTotalElements(), is(3L));

}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

@Test
public void testDoStartTagInternal_disabledHref_is_empty() throws Exception {
    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(0);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);//from   w  w w  .  j a v a 2  s  .c  o m
    tag.setDisabledHref("");

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li class=\"disabled\">&lt;&lt;</li><li class=\"disabled\">&lt;</li><li class=\"active\">1</li><li><a href=\"?page=1&size=10\">2</a></li><li><a href=\"?page=2&size=10\">3</a></li><li><a href=\"?page=3&size=10\">4</a></li><li><a href=\"?page=4&size=10\">5</a></li><li><a href=\"?page=5&size=10\">6</a></li><li><a href=\"?page=6&size=10\">7</a></li><li><a href=\"?page=7&size=10\">8</a></li><li><a href=\"?page=8&size=10\">9</a></li><li><a href=\"?page=9&size=10\">10</a></li><li><a href=\"?page=1&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * default case 1.//from ww  w.  j  a v  a2s  .  com
 * 
 * <pre>
 *  - current page 0 = first page
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal01() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(0);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li class=\"disabled\"><a href=\"javascript:void(0)\">&lt;&lt;</a></li><li class=\"disabled\"><a href=\"javascript:void(0)\">&lt;</a></li><li class=\"active\"><a href=\"javascript:void(0)\">1</a></li><li><a href=\"?page=1&size=10\">2</a></li><li><a href=\"?page=2&size=10\">3</a></li><li><a href=\"?page=3&size=10\">4</a></li><li><a href=\"?page=4&size=10\">5</a></li><li><a href=\"?page=5&size=10\">6</a></li><li><a href=\"?page=6&size=10\">7</a></li><li><a href=\"?page=7&size=10\">8</a></li><li><a href=\"?page=8&size=10\">9</a></li><li><a href=\"?page=9&size=10\">10</a></li><li><a href=\"?page=1&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 2./*ww  w. j a v a  2  s  . c  o m*/
 * 
 * <pre>
 *  - current page 1 > first page
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal02() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(1);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=0&size=10\">&lt;</a></li><li><a href=\"?page=0&size=10\">1</a></li><li class=\"active\"><a href=\"javascript:void(0)\">2</a></li><li><a href=\"?page=2&size=10\">3</a></li><li><a href=\"?page=3&size=10\">4</a></li><li><a href=\"?page=4&size=10\">5</a></li><li><a href=\"?page=5&size=10\">6</a></li><li><a href=\"?page=6&size=10\">7</a></li><li><a href=\"?page=7&size=10\">8</a></li><li><a href=\"?page=8&size=10\">9</a></li><li><a href=\"?page=9&size=10\">10</a></li><li><a href=\"?page=2&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 3./*  w  ww .j  a va  2 s  .c om*/
 * 
 * <pre>
 *  - current page 5 = maxDisplayCount/2
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal03() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(5);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=4&size=10\">&lt;</a></li><li><a href=\"?page=0&size=10\">1</a></li><li><a href=\"?page=1&size=10\">2</a></li><li><a href=\"?page=2&size=10\">3</a></li><li><a href=\"?page=3&size=10\">4</a></li><li><a href=\"?page=4&size=10\">5</a></li><li class=\"active\"><a href=\"javascript:void(0)\">6</a></li><li><a href=\"?page=6&size=10\">7</a></li><li><a href=\"?page=7&size=10\">8</a></li><li><a href=\"?page=8&size=10\">9</a></li><li><a href=\"?page=9&size=10\">10</a></li><li><a href=\"?page=6&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}

From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java

/**
 * normal case 4.//from  w ww .  ja  v  a 2s.c  o  m
 * 
 * <pre>
 *  - current page 20 > maxDisplayCount
 *  - page size 10
 *  - total pages 100
 *  - total elements 1000
 * </pre>
 */
@Test
public void testDoStartTagInternal04() throws Exception {

    Page<String> page = mock(Page.class);
    // set mock behavior
    when(page.getNumber()).thenReturn(20);
    when(page.getSize()).thenReturn(10);
    when(page.getTotalPages()).thenReturn(100);
    when(page.getTotalElements()).thenReturn(1000L);

    tag.setPage(page);

    int ret = tag.doStartTagInternal();

    assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE));
    String expected = "<ul><li><a href=\"?page=0&size=10\">&lt;&lt;</a></li><li><a href=\"?page=19&size=10\">&lt;</a></li><li><a href=\"?page=15&size=10\">16</a></li><li><a href=\"?page=16&size=10\">17</a></li><li><a href=\"?page=17&size=10\">18</a></li><li><a href=\"?page=18&size=10\">19</a></li><li><a href=\"?page=19&size=10\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?page=21&size=10\">22</a></li><li><a href=\"?page=22&size=10\">23</a></li><li><a href=\"?page=23&size=10\">24</a></li><li><a href=\"?page=24&size=10\">25</a></li><li><a href=\"?page=21&size=10\">&gt;</a></li><li><a href=\"?page=99&size=10\">&gt;&gt;</a></li></ul>";
    assertThat(getOutput(), is(expected));
}