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.kemri.wellcome.controller.Dhis2ServerController.java

public JqgridResponse<UserDTO> getFilteredUsers(String filters, Pageable pageRequest) {
    String qUsername = null;//from   w w  w .  j  a v  a2  s  .c  om
    String qEmail = null;
    Integer qStatus = null;

    JqGridFilter jqgridFilter = JqGridObjectMapper.map(filters);
    for (JqGridFilter.Rule rule : jqgridFilter.getRules()) {
        if (rule.getField().equals("email"))
            qEmail = rule.getData();
        else if (rule.getField().equals("status"))
            qStatus = Integer.parseInt(rule.getData());
        else if (rule.getField().equals("username"))
            qUsername = rule.getData();
    }

    Page<User> users = null;
    if (qStatus != null) {
        users = userRepository.findByEnabled(qStatus, pageRequest);
    }
    if (qUsername != null) {
        users = userRepository.findByUsername(qUsername, pageRequest);
    }
    if (qEmail != null) {
        users = userRepository.findByEmail(qEmail, 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;
}

From source file:ca.uhn.fhir.jpa.term.BaseHapiTerminologySvc.java

private void processReindexing() {
    if (System.currentTimeMillis() < myNextReindexPass) {
        return;// w w  w.  j  a va  2s .c o m
    }

    TransactionTemplate tt = new TransactionTemplate(myTransactionMgr);
    tt.setPropagationBehavior(TransactionTemplate.PROPAGATION_REQUIRES_NEW);
    tt.execute(new TransactionCallbackWithoutResult() {
        @Override
        protected void doInTransactionWithoutResult(TransactionStatus theArg0) {
            int maxResult = 1000;
            Page<TermConcept> resources = myConceptDao
                    .findResourcesRequiringReindexing(new PageRequest(0, maxResult));
            if (resources.hasContent() == false) {
                myNextReindexPass = System.currentTimeMillis() + DateUtils.MILLIS_PER_MINUTE;
                return;
            }

            ourLog.info("Indexing {} / {} concepts", resources.getContent().size(),
                    resources.getTotalElements());

            int count = 0;
            StopWatch stopwatch = new StopWatch();

            for (TermConcept resourceTable : resources) {
                saveConcept(resourceTable);
                count++;
            }

            ourLog.info("Indexed {} / {} concepts in {}ms - Avg {}ms / resource",
                    new Object[] { count, resources.getContent().size(), stopwatch.getMillis(),
                            stopwatch.getMillisPerOperation(count) });
        }
    });

}

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

public JqgridResponse<ReportDefinitionDTO> getFilteredReports(String filters, Pageable pageRequest) {
    String qCode = null;/*from w  w  w. j a  va 2s  .  c om*/
    String qName = null;

    JqGridFilter jqgridFilter = JqGridObjectMapper.map(filters);
    for (JqGridFilter.Rule rule : jqgridFilter.getRules()) {
        if (rule.getField().equals("name"))
            qName = rule.getData();
        else if (rule.getField().equals("code"))
            qCode = rule.getData();
    }

    Page<ReportDefinition> reports = null;
    if (qName != null)
        reports = reportRepository.findByNameLike("%" + qName + "%", pageRequest);
    if (qCode != null)
        reports = reportRepository.findByCodeLike("%" + qCode + "%", pageRequest);
    if (qCode != null && qName != null)
        reports = reportRepository.findByNameLikeAndCodeLike("%" + qName + "%", "%" + qCode + "%", pageRequest);

    List<ReportDefinitionDTO> reportDTOList = ReportDefinitionMapper.map(reports);
    JqgridResponse<ReportDefinitionDTO> response = new JqgridResponse<ReportDefinitionDTO>();
    response.setRows(reportDTOList);
    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.ReportController.java

public JqgridResponse<LocationDTO> getFilteredLocations(String filters, Pageable pageRequest) {
    String qCode = null;//from  ww  w  .  j  a v a 2s .c o  m
    String qName = null;

    JqGridFilter jqgridFilter = JqGridObjectMapper.map(filters);
    for (JqGridFilter.Rule rule : jqgridFilter.getRules()) {
        if (rule.getField().equals("name"))
            qName = rule.getData();
        else if (rule.getField().equals("code"))
            qCode = rule.getData();
    }

    Page<Location> locations = null;
    if (qName != null)
        locations = locationRepository.findByNameLike("%" + qName + "%", pageRequest);
    if (qCode != null)
        locations = locationRepository.findByCodeLike("%" + qCode + "%", pageRequest);
    if (qCode != null && qName != null)
        locations = locationRepository.findByNameLikeAndCodeLike("%" + qName + "%", "%" + qCode + "%",
                pageRequest);

    List<LocationDTO> locationDTOList = LocationMapper.map(locations);
    JqgridResponse<LocationDTO> response = new JqgridResponse<LocationDTO>();
    response.setRows(locationDTOList);
    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: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:com.company.project.data.elasticsearch.service.UserESServiceTest.java

/**
 * Test of crud method, of class UserESService.
 *///from   w ww.  jav a2 s  .c o m
//@Test
public void testCrud() {
    System.out.println("crud");
    //userESService.crud();

    // TODO review the generated test code and remove the default call to fail.

    elasticsearchTemplate.deleteIndex("xuseridx");
    elasticsearchTemplate.deleteIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class, user);
    elasticsearchTemplate.createIndex("xuseridx");

    elasticsearchTemplate.putMapping(User.class);
    elasticsearchTemplate.refresh(User.class, true);

    boolean typeExists = elasticsearchTemplate.typeExists("xuseridx", "xusertype");
    /**
      * Single index example
      */
    String id = UUID.randomUUID().toString();
    User user = new User();
    user.setId(id);
    user.setName("user-" + id);
    IndexQuery userIndex = new IndexQuery();
    userIndex.setId(id);
    userIndex.setObject(user);
    userIndex.setIndexName("xuseridx");
    userIndex.setType("xusertype");
    elasticsearchTemplate.index(userIndex);

    /**
     * Bulk index example
     */
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    IndexQuery indexQuery2 = new IndexQueryBuilder().withId(user.getId()).withIndexName("xuseridx")
            .withObject(user).build();

    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + RandomStringUtils.random(5));
    IndexQuery indexQuery3 = new IndexQueryBuilder().withId(user.getId()).withIndexName("xuseridx")
            .withObject(user).build();
    elasticsearchTemplate.bulkIndex(Arrays.asList(indexQuery2, indexQuery3));
    // alternative to index
    //userRepository.save(Arrays.asList(user));

    elasticsearchTemplate.refresh(User.class, true);

    QueryBuilder builder = nestedQuery("xuseridx",
            boolQuery().must(termQuery("xusertype.name", "user2")).must(termQuery("xusertype.name", "user3")));

    //https://github.com/BioMedCentralLtd/spring-data-elasticsearch-sample-application/blob/master/src/main/java/org/springframework/data/elasticsearch/entities/Article.java
    Page<User> pageUser = userRepository.findByName("user-" + id, new PageRequest(0, 10));
    System.out.println("Page user total elements" + pageUser.getTotalElements());
    System.out.println("Page user total elements" + pageUser.getTotalPages());
    System.out.println("Page user first element" + pageUser.getContent().get(0).getName());

    Iterable<User> pageUserSorted = userRepository
            .findAll(new Sort(new Sort.Order(Sort.Direction.ASC, "xusertype.name")));
    System.out.println("Page user sorted total elements" + pageUserSorted.iterator().hasNext());
    System.out.println("Page user sorted first element" + pageUserSorted.iterator().next().getName());

    //SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices("xuseridx")
            .build();
    List persons = elasticsearchTemplate.queryForList(searchQuery, User.class);
    System.out.println("People size:" + (persons != null ? persons.size() : null));

    searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
            .withFilter(boolFilter().must(existsFilter("name"))).withPageable(new PageRequest(0, 2)).build();
    Page<User> users = userRepository.search(searchQuery);
    System.out.println("Page user query total elements" + users.getTotalElements());
    System.out.println("Page user query total pages" + users.getTotalPages());
    System.out.println("Page user query first element" + users.getContent().get(0).getName());
}

From source file:jobmanager.database.DatabaseAccessor.java

/**
 * Gets a list of Jobs from the database.
 * /*from   ww w.  j  av  a2s  .co  m*/
 * @param page
 *            the page number
 * @param perPage
 *            the number of results per page
 * @param order
 *            "ascending" or "descending"
 * @param status
 *            The status of the Job
 * @param userName
 *            The username who submitted the Job
 * @return The list of jobs
 */
public JobListResponse getJobs(int page, int perPage, String order, String sortBy, String status,
        String userName) {
    // Execute the appropriate query based on the nullable, optional parameters
    Pagination pagination = new Pagination(null, page, perPage, sortBy, order);
    Page<JobEntity> results;

    if (StringUtils.isNotEmpty(userName) && StringUtils.isNotEmpty(status)) {
        // Both parameters specified
        results = jobDao.getJobListForUserAndStatus(status, userName, pagination);
    } else if (StringUtils.isNotEmpty(userName)) {
        // Query by User
        results = jobDao.getJobListByUser(userName, pagination);
    } else if (StringUtils.isNotEmpty(status)) {
        // Query by Status
        results = jobDao.getJobListByStatus(status, pagination);
    } else {
        // Query all Jobs
        results = jobDao.getJobList(pagination);
    }

    // Collect the Jobs
    List<Job> jobs = new ArrayList<>();
    for (JobEntity jobEntity : results) {
        jobs.add(jobEntity.getJob());
    }
    // Set Pagination count
    pagination.setCount(results.getTotalElements());

    // Return the complete List
    return new JobListResponse(jobs, pagination);
}

From source file:com.company.project.data.elasticsearch.service.UserESServiceTest.java

public void testRepositoryMethodKeywords() {
    System.out.println("testRepository");

    //elasticsearchTemplate.deleteIndex("xuseridx");
    elasticsearchTemplate.deleteIndex(User.class);
    elasticsearchTemplate.createIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class, user);
    //elasticsearchTemplate.createIndex("xuseridx");

    elasticsearchTemplate.putMapping(User.class);
    elasticsearchTemplate.refresh(User.class, true);

    String id = UUID.randomUUID().toString();
    User user = new User();
    user.setId(id);//from   w ww . j  a v  a2s .c  o m
    user.setName("user-" + id);
    user.setRole(1l);
    Map<Integer, Collection<String>> userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter2"));
    userFilter.put(2, Arrays.asList("filter11", "filter12"));
    user.setFilter(userFilter);
    userRepository.save(user);

    List<User> users = new ArrayList<>();
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    user.setRole(2l);
    userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter3"));
    userFilter.put(2, Arrays.asList("filter11", "filter13"));
    user.setFilter(userFilter);
    users.add(user);
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    user.setRole(3l);
    userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter4"));
    userFilter.put(2, Arrays.asList("filter11", "filter14"));
    user.setFilter(userFilter);
    users.add(user);
    userRepository.save(users);

    elasticsearchTemplate.refresh(User.class, true);

    User pagedUser = userRepository.findOne(id);
    assertEquals("user-" + id, pagedUser.getName());

    Page<User> pagedUsers = userRepository.findByNameAndRole("user-" + id, 3l, new PageRequest(0, 10));
    assertEquals(1, pagedUsers.getTotalElements());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());

    pagedUsers = userRepository.findByNameStartingWith("u", new PageRequest(0, 10));
    assertEquals(3, pagedUsers.getTotalElements());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());
    System.out.println("Paged user 3 name : " + pagedUsers.getContent().get(2).getName());
    System.out.println("Paged user 3 role : " + pagedUsers.getContent().get(2).getRole());

    pagedUsers = userRepository.findByNameStartingWith("x", new PageRequest(0, 10));
    assertEquals(0, pagedUsers.getTotalElements());

    pagedUsers = userRepository.findByRoleBetween(1, 2, new PageRequest(0, 10));
    assertEquals(2, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 1 || u.getRole() == 2);
    }
    //assertEquals("2", "" + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());

    pagedUsers = userRepository.findByRoleLessThan(2, new PageRequest(0, 10));
    assertEquals(2, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 1 || u.getRole() == 2);
    }
    //assertEquals("2", "" + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());

    pagedUsers = userRepository.findByRoleGreaterThan(2, new PageRequest(0, 10));
    assertEquals(2, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 3 || u.getRole() == 2);
    }
    //assertEquals("2", "" + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());

    pagedUsers = userRepository.findByRoleBefore(2, new PageRequest(0, 10));
    assertEquals(2, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 1 || u.getRole() == 2);
    }
    //assertEquals("2", "" + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());

    pagedUsers = userRepository.findByRoleAfter(2, new PageRequest(0, 10));
    assertEquals(2, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 3 || u.getRole() == 2);
    }
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
    System.out.println("Paged user 2 name : " + pagedUsers.getContent().get(1).getName());
    System.out.println("Paged user 2 role : " + pagedUsers.getContent().get(1).getRole());

    pagedUsers = userRepository.findByNameEndingWith(id, new PageRequest(0, 10));
    assertEquals(1, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 3);
    }
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());

    pagedUsers = userRepository.findByNameContaining(id, new PageRequest(0, 10));
    assertEquals(1, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 3);
    }
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());

    pagedUsers = userRepository.findByNameLike(id, new PageRequest(0, 10));
    assertEquals(1, pagedUsers.getTotalElements());
    for (User u : pagedUsers.getContent()) {
        assertTrue(u.getRole() == 3);
    }
    System.out.println("Paged user 1 name : " + pagedUsers.getContent().get(0).getName());
    System.out.println("Paged user 1 role : " + pagedUsers.getContent().get(0).getRole());
}

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);// w ww  .  j  av a2  s  .co  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));
}