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

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

Introduction

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

Prototype

long getTotalElements();

Source Link

Document

Returns the total amount of elements.

Usage

From source file:org.jblogcms.core.post.repository.PostRepositoryItTest.java

@Test
@Transactional//w ww  . ja  va 2 s  .com
public void testFindPostsByAccountId_returnTwoPosts() throws Exception {
    Page<Post> posts = postRepository.findPostsByAccountId(ACCOUNT_1_ID, pageable);

    Assert.assertEquals(2, posts.getTotalElements());

    Assert.assertEquals(POST_1_ID, posts.getContent().get(0).getId());
    Assert.assertEquals(POST_1_TITLE, posts.getContent().get(0).getTitle());
    Assert.assertEquals(POST_1_ACCOUNT_1_ID, posts.getContent().get(0).getAccount().getId());
    Assert.assertEquals(POST_1_ACCOUNT_1_NAME, posts.getContent().get(0).getAccount().getName());
    Assert.assertEquals(POST_1_BLOGS_SIZE, posts.getContent().get(0).getBlogs().size());
    Assert.assertTrue(posts.getContent().get(0).getBlogs().containsAll(post1Blogs));

    Assert.assertEquals(POST_3_ID, posts.getContent().get(1).getId());
    Assert.assertEquals(POST_3_TITLE, posts.getContent().get(1).getTitle());
    Assert.assertEquals(POST_3_ACCOUNT_1_ID, posts.getContent().get(1).getAccount().getId());
    Assert.assertEquals(POST_3_ACCOUNT_1_NAME, posts.getContent().get(1).getAccount().getName());
    Assert.assertEquals(POST_3_BLOGS_SIZE, posts.getContent().get(1).getBlogs().size());
    Assert.assertTrue(posts.getContent().get(0).getBlogs().containsAll(post3Blogs));
}

From source file:org.jblogcms.core.post.repository.PostRepositoryItTest.java

@Test
@Transactional//from  ww  w  .ja  v  a  2 s . com
public void testFindFavoritePosts_returnNoPost() throws Exception {
    Page<Post> posts = postRepository.findFavoritePosts(ACCOUNT_WITH_NO_FAVORITE_POSTS, pageable);

    Assert.assertEquals(0, posts.getTotalElements());
}

From source file:nu.yona.server.messaging.service.MessageService.java

private Page<MessageDto> wrapMessagesAsDtos(UserDto user, Page<? extends Message> messageEntities,
        Pageable pageable) {//www .j  a v a2s  .c om
    List<MessageDto> allMessagePayloads = wrapMessagesAsDtos(user, messageEntities.getContent());
    return new PageImpl<>(allMessagePayloads, pageable, messageEntities.getTotalElements());
}

From source file:com.restfiddle.controller.rest.NodeController.java

@RequestMapping(value = "/api/nodes/starred", method = RequestMethod.GET)
public @ResponseBody List<NodeDTO> findStarredNodes(
        @RequestParam(value = "page", required = false) Integer page,
        @RequestParam(value = "limit", required = false) Integer limit) {
    logger.debug("Finding starred nodes.");

    int pageNo = 0;
    if (page != null && page > 0) {
        pageNo = page;/*  w w w  .  j a v a2 s. c  o m*/
    }

    int numberOfRecords = 10;
    if (limit != null && limit > 0) {
        numberOfRecords = limit;
    }
    Sort sort = new Sort(Direction.DESC, "lastModifiedDate");
    Pageable pageable = new PageRequest(pageNo, numberOfRecords, sort);

    Page<BaseNode> paginatedStarredNodes = nodeRepository.findStarredNodes(pageable);

    List<BaseNode> starredNodes = paginatedStarredNodes.getContent();
    long totalElements = paginatedStarredNodes.getTotalElements();

    List<NodeDTO> response = new ArrayList<NodeDTO>();
    for (BaseNode item : starredNodes) {
        response.add(EntityToDTO.toDTO(item));
    }

    System.out.println("totalElements : " + totalElements);
    return response;
}

From source file:it.f2informatica.core.gateway.mysql.ConsultantRepositoryGatewayMySQL.java

@Override
public Page<ConsultantModel> findAllConsultants(Pageable pageable) {
    Page<Consultant> consultantPage = consultantRepository.findAll(pageable);
    return new PageImpl<>(mysqlConsultantToModelConverter.convertList(consultantPage.getContent()), pageable,
            consultantPage.getTotalElements());
}

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

/**
 * Renders a pagination link./*from   w ww . j  ava 2 s  .com*/
 * @return {@link javax.servlet.jsp.tagext.Tag#EVAL_BODY_INCLUDE}
 * @throws Exception
 */
@Override
protected int doStartTagInternal() throws Exception {
    if (page instanceof Page) {
        Page<?> p = (Page<?>) page;
        if (p.getTotalElements() <= 0) {
            return EVAL_BODY_INCLUDE;
        }

        TagWriter tagWriter = createTagWriter();

        PaginationInfo info = new PaginationInfo(p, pathTmpl, queryTmpl, criteriaQuery,
                disableHtmlEscapeOfCriteriaQuery, maxDisplayCount);

        BeginAndEnd be = info.getBeginAndEnd();

        startOuterElement(tagWriter);

        writeFirstAndPreviousLink(tagWriter, info);
        for (int i = be.getBegin(); i <= be.getEnd(); i++) {
            writePageLink(tagWriter, info, i);
        }
        writeNextAndLastLink(tagWriter, info);
        endOuterElement(tagWriter);
    }
    return EVAL_BODY_INCLUDE;
}

From source file:it.f2informatica.core.gateway.mysql.ConsultantRepositoryGatewayMySQL.java

@Override
public Page<ConsultantModel> paginateConsultants(ConsultantSearchCriteria searchCriteria, Pageable pageable) {
    Page<Consultant> consultantPage = consultantRepository.findAll(whereCondition(searchCriteria), pageable);
    return new PageImpl<>(mysqlConsultantToModelConverter.convertList(consultantPage.getContent()), pageable,
            consultantPage.getTotalElements());
}

From source file:org.jblogcms.core.account.service.AccountServiceImplTest.java

@Test
public void findAllAccounts() throws Exception {
    when(accountRepositoryMock.findAccounts(pageable)).thenReturn(accounts);
    when(accountToolServiceMock.addItemRelationsToItemPage(accounts, CURRENT_ACCOUNT_ID)).thenReturn(accounts);

    Page<Account> testAccounts = accountService.findAccounts(pageable, CURRENT_ACCOUNT_ID);

    verify(accountRepositoryMock, times(1)).findAccounts(pageable);
    verify(accountToolServiceMock, times(1)).addItemRelationsToItemPage(accounts, CURRENT_ACCOUNT_ID);

    Assert.assertEquals(ACCOUNTS_SIZE, testAccounts.getTotalElements());

    Assert.assertEquals(ACCOUNT_1_ID, testAccounts.getContent().get(0).getId());
    Assert.assertEquals(ACCOUNT_1_EMAIL, testAccounts.getContent().get(0).getEmail());
    Assert.assertEquals(ACCOUNT_2_ID, testAccounts.getContent().get(1).getId());
    Assert.assertEquals(ACCOUNT_2_EMAIL, testAccounts.getContent().get(1).getEmail());
    Assert.assertEquals(ACCOUNT_3_ID, testAccounts.getContent().get(2).getId());
    Assert.assertEquals(ACCOUNT_3_EMAIL, testAccounts.getContent().get(2).getEmail());
}

From source file:org.openlmis.fulfillment.web.OrderController.java

/**
 * Search through orders with given parameters.
 *
 * @param params   order search params//from  ww w  .j a v  a 2 s  .  co m
 * @param pageable pagination parameters
 * @return OrderDtos.
 */
@GetMapping("/orders")
@ResponseBody
public Page<BasicOrderDto> searchOrders(OrderSearchParams params, Pageable pageable) {
    Profiler profiler = new Profiler("SEARCH_ORDERS");
    profiler.setLogger(LOGGER);

    profiler.start("SEARCH_ORDERS_IN_SERVICE");
    Page<Order> orders = orderService.searchOrders(params, pageable);

    profiler.start("TO_DTO");
    List<BasicOrderDto> dtos = basicOrderDtoBuilder.build(orders.getContent());
    Page<BasicOrderDto> dtoPage = new PageImpl<>(dtos, pageable, orders.getTotalElements());

    profiler.stop().log();
    return dtoPage;
}

From source file:com.contact.ContactController.java

@ResponseBody
@RequestMapping(value = "/listgrid", method = RequestMethod.GET, produces = "application/json")
public ContactGrid listGrid(@RequestParam(value = "page", required = false) Integer page,
        @RequestParam(value = "rows", required = false) Integer rows,
        @RequestParam(value = "sidx", required = false) String sortBy,
        @RequestParam(value = "sord", required = false) String order) {

    logger.info("Listing contacts for grid with page: {}, rows: {}", page, rows);
    logger.info("Listing contacts for grid with sort: {}, order: {}", sortBy, order);

    // Process order by
    Sort sort = null;//from   ww w . jav a2  s  .  c  om
    String orderBy = sortBy;
    if (orderBy != null && orderBy.equals("birthDateString"))
        orderBy = "birthDate";

    if (orderBy != null && order != null) {
        if (order.equals("desc")) {
            sort = new Sort(Sort.Direction.DESC, orderBy);
        } else
            sort = new Sort(Sort.Direction.ASC, orderBy);
    }

    // Constructs page request for current page
    // Note: page number for Spring Data JPA starts with 0, while jqGrid starts with 1
    PageRequest pageRequest = null;

    if (sort != null) {
        pageRequest = new PageRequest(page - 1, rows, sort);
    } else {
        pageRequest = new PageRequest(page - 1, rows);
    }

    Page<Contact> contactPage = contactService.findAllByPage(pageRequest);

    // Construct the grid data that will return as JSON data
    ContactGrid contactGrid = new ContactGrid();

    contactGrid.setCurrentPage(contactPage.getNumber() + 1);
    contactGrid.setTotalPages(contactPage.getTotalPages());
    contactGrid.setTotalRecords(contactPage.getTotalElements());

    contactGrid.setContactData(Lists.newArrayList(contactPage.iterator()));

    return contactGrid;
}