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:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldIndexMapWithIndexNameAndTypeAtRuntime() {
    //given/*from  w  w  w .  jav a 2  s.  c o  m*/
    Map<String, Object> person1 = new HashMap<>();
    person1.put("userId", "1");
    person1.put("email", "smhdiu@gmail.com");
    person1.put("title", "Mr");
    person1.put("firstName", "Mohsin");
    person1.put("lastName", "Husen");

    Map<String, Object> person2 = new HashMap<>();
    person2.put("userId", "2");
    person2.put("email", "akonczak@gmail.com");
    person2.put("title", "Mr");
    person2.put("firstName", "Artur");
    person2.put("lastName", "Konczak");

    IndexQuery indexQuery1 = new IndexQuery();
    indexQuery1.setId("1");
    indexQuery1.setObject(person1);
    indexQuery1.setIndexName(INDEX_NAME);
    indexQuery1.setType(TYPE_NAME);

    IndexQuery indexQuery2 = new IndexQuery();
    indexQuery2.setId("2");
    indexQuery2.setObject(person2);
    indexQuery2.setIndexName(INDEX_NAME);
    indexQuery2.setType(TYPE_NAME);

    List<IndexQuery> indexQueries = new ArrayList<>();
    indexQueries.add(indexQuery1);
    indexQueries.add(indexQuery2);

    //when
    elasticsearchTemplate.bulkIndex(indexQueries);
    elasticsearchTemplate.refresh(INDEX_NAME);

    // then
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME).withTypes(TYPE_NAME)
            .withQuery(matchAllQuery()).build();
    Page<Map> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, Map.class,
            new JestSearchResultMapper() {
                @Override
                public <T> Page<T> mapResults(SearchResult response, Class<T> clazz, Pageable pageable) {
                    List<Map> chunk = new ArrayList<>();
                    for (SearchResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                        if (response.getHits(JsonObject.class).size() <= 0) {
                            return null;
                        }
                        Map<String, Object> person = new HashMap<String, Object>();
                        person.put("userId", searchHit.source.get("userId").getAsString());
                        person.put("email", searchHit.source.get("email").getAsString());
                        person.put("title", searchHit.source.get("title").getAsString());
                        person.put("firstName", searchHit.source.get("firstName").getAsString());
                        person.put("lastName", searchHit.source.get("lastName").getAsString());
                        chunk.add(person);
                    }
                    if (chunk.size() > 0) {
                        return new PageImpl<T>((List<T>) chunk);
                    }
                    return null;
                }
            });
    assertThat(sampleEntities.getTotalElements(), is(equalTo(2L)));
    assertThat(sampleEntities.getContent().get(0).get("userId"), is(person1.get("userId")));
    assertThat(sampleEntities.getContent().get(1).get("userId"), is(person2.get("userId")));
}

From source file:org.eclipse.hawkbit.repository.jpa.DistributionSetManagementTest.java

@Test
@Description("Queries and loads the metadata related to a given software module.")
public void findAllDistributionSetMetadataByDsId() {
    // create a DS
    final DistributionSet ds1 = testdataFactory.createDistributionSet("testDs1");
    final DistributionSet ds2 = testdataFactory.createDistributionSet("testDs2");

    for (int index = 0; index < 10; index++) {
        createDistributionSetMetadata(ds1.getId(),
                new JpaDistributionSetMetadata("key" + index, ds1, "value" + index));
    }/*from w w w.  j a v  a 2 s  .co  m*/

    for (int index = 0; index < 8; index++) {
        createDistributionSetMetadata(ds2.getId(),
                new JpaDistributionSetMetadata("key" + index, ds2, "value" + index));
    }

    final Page<DistributionSetMetadata> metadataOfDs1 = distributionSetManagement
            .findMetaDataByDistributionSetId(PageRequest.of(0, 100), ds1.getId());

    final Page<DistributionSetMetadata> metadataOfDs2 = distributionSetManagement
            .findMetaDataByDistributionSetId(PageRequest.of(0, 100), ds2.getId());

    assertThat(metadataOfDs1.getNumberOfElements()).isEqualTo(10);
    assertThat(metadataOfDs1.getTotalElements()).isEqualTo(10);

    assertThat(metadataOfDs2.getNumberOfElements()).isEqualTo(8);
    assertThat(metadataOfDs2.getTotalElements()).isEqualTo(8);
}

From source file:org.eclipse.hawkbit.repository.jpa.JpaRolloutManagement.java

private Long createActionsForTargetsInNewTransaction(final long rolloutId, final long groupId,
        final int limit) {
    return runInNewTransaction("createActionsForTargets", status -> {
        final PageRequest pageRequest = new PageRequest(0, limit);
        final Rollout rollout = rolloutRepository.findOne(rolloutId);
        final RolloutGroup group = rolloutGroupRepository.findOne(groupId);

        final DistributionSet distributionSet = rollout.getDistributionSet();
        final ActionType actionType = rollout.getActionType();
        final long forceTime = rollout.getForcedTime();

        final Page<Target> targets = targetManagement.findAllTargetsInRolloutGroupWithoutAction(pageRequest,
                groupId);/*w  w  w .  j a v a  2s. c  o  m*/
        if (targets.getTotalElements() > 0) {
            createScheduledAction(targets.getContent(), distributionSet, actionType, forceTime, rollout, group);
        }

        return Long.valueOf(targets.getNumberOfElements());
    });
}

From source file:org.eclipse.hawkbit.repository.jpa.JpaTargetManagement.java

private static Page<Target> convertPage(final Page<JpaTarget> findAll, final Pageable pageable) {
    return new PageImpl<>(Collections.unmodifiableList(findAll.getContent()), pageable,
            findAll.getTotalElements());
}

From source file:org.eclipse.hawkbit.repository.jpa.SoftwareManagementTest.java

@Test
@Description("Queries and loads the metadata related to a given software module.")
public void findAllSoftwareModuleMetadataBySwId() {

    SoftwareModule sw1 = testdataFactory.createSoftwareModuleApp();

    SoftwareModule sw2 = testdataFactory.createSoftwareModuleOs();

    for (int index = 0; index < 10; index++) {
        sw1 = softwareManagement.createSoftwareModuleMetadata(sw1.getId(),
                entityFactory.generateMetadata("key" + index, "value" + index)).getSoftwareModule();
    }/* w  w  w . j av a 2 s . co m*/

    for (int index = 0; index < 20; index++) {
        sw2 = softwareManagement.createSoftwareModuleMetadata(sw2.getId(),
                new JpaSoftwareModuleMetadata("key" + index, sw2, "value" + index)).getSoftwareModule();
    }

    final Page<SoftwareModuleMetadata> metadataOfSw1 = softwareManagement
            .findSoftwareModuleMetadataBySoftwareModuleId(sw1.getId(), new PageRequest(0, 100));

    final Page<SoftwareModuleMetadata> metadataOfSw2 = softwareManagement
            .findSoftwareModuleMetadataBySoftwareModuleId(sw2.getId(), new PageRequest(0, 100));

    assertThat(metadataOfSw1.getNumberOfElements()).isEqualTo(10);
    assertThat(metadataOfSw1.getTotalElements()).isEqualTo(10);

    assertThat(metadataOfSw2.getNumberOfElements()).isEqualTo(20);
    assertThat(metadataOfSw2.getTotalElements()).isEqualTo(20);
}

From source file:org.eclipse.hawkbit.repository.jpa.SoftwareModuleManagementTest.java

@Test
@Description("Queries and loads the metadata related to a given software module.")
public void findAllSoftwareModuleMetadataBySwId() {

    final SoftwareModule sw1 = testdataFactory.createSoftwareModuleApp();
    final int metadataCountSw1 = 8;

    final SoftwareModule sw2 = testdataFactory.createSoftwareModuleOs();
    final int metadataCountSw2 = 10;

    for (int index = 0; index < metadataCountSw1; index++) {
        softwareModuleManagement.createMetaData(entityFactory.softwareModuleMetadata().create(sw1.getId())
                .key("key" + index).value("value" + index).targetVisible(true));
    }//from w  w  w .j ava  2 s .co m

    for (int index = 0; index < metadataCountSw2; index++) {
        softwareModuleManagement.createMetaData(entityFactory.softwareModuleMetadata().create(sw2.getId())
                .key("key" + index).value("value" + index).targetVisible(false));
    }

    Page<SoftwareModuleMetadata> metadataSw1 = softwareModuleManagement
            .findMetaDataBySoftwareModuleId(PageRequest.of(0, 100), sw1.getId());

    Page<SoftwareModuleMetadata> metadataSw2 = softwareModuleManagement
            .findMetaDataBySoftwareModuleId(PageRequest.of(0, 100), sw2.getId());

    assertThat(metadataSw1.getNumberOfElements()).isEqualTo(metadataCountSw1);
    assertThat(metadataSw1.getTotalElements()).isEqualTo(metadataCountSw1);

    assertThat(metadataSw2.getNumberOfElements()).isEqualTo(metadataCountSw2);
    assertThat(metadataSw2.getTotalElements()).isEqualTo(metadataCountSw2);

    metadataSw1 = softwareModuleManagement
            .findMetaDataBySoftwareModuleIdAndTargetVisible(PageRequest.of(0, 100), sw1.getId());

    metadataSw2 = softwareModuleManagement
            .findMetaDataBySoftwareModuleIdAndTargetVisible(PageRequest.of(0, 100), sw2.getId());

    assertThat(metadataSw1.getNumberOfElements()).isEqualTo(metadataCountSw1);
    assertThat(metadataSw1.getTotalElements()).isEqualTo(metadataCountSw1);

    assertThat(metadataSw2.getNumberOfElements()).isEqualTo(0);
    assertThat(metadataSw2.getTotalElements()).isEqualTo(0);
}

From source file:org.eclipse.hawkbit.repository.jpa.TargetManagementTest.java

@Test
@Description("Test that RSQL filter finds targets with tags or specific ids.")
public void findTargetsWithTagOrId() {
    final String rsqlFilter = "tag==Targ-A-Tag,id==target-id-B-00001,id==target-id-B-00008";
    final TargetTag targTagA = targetTagManagement.create(entityFactory.tag().create().name("Targ-A-Tag"));
    final List<String> targAs = testdataFactory.createTargets(25, "target-id-A", "first description").stream()
            .map(Target::getControllerId).collect(Collectors.toList());
    targetManagement.toggleTagAssignment(targAs, targTagA.getName());

    testdataFactory.createTargets(25, "target-id-B", "first description");

    final Page<Target> foundTargets = targetManagement.findByRsql(PAGE, rsqlFilter);

    assertThat(targetManagement.count()).as("Total targets").isEqualTo(50L);
    assertThat(foundTargets.getTotalElements()).as("Targets in RSQL filter").isEqualTo(27L);
}

From source file:org.eclipse.hawkbit.repository.jpa.TargetManagementTest.java

@Test
@Description("Queries and loads the metadata related to a given target.")
public void findAllTargetMetadataByControllerId() {
    // create targets
    final Target target1 = createTargetWithMetadata("target1", 10);
    final Target target2 = createTargetWithMetadata("target2", 8);

    final Page<TargetMetadata> metadataOfTarget1 = targetManagement
            .findMetaDataByControllerId(PageRequest.of(0, 100), target1.getControllerId());

    final Page<TargetMetadata> metadataOfTarget2 = targetManagement
            .findMetaDataByControllerId(PageRequest.of(0, 100), target2.getControllerId());

    assertThat(metadataOfTarget1.getNumberOfElements()).isEqualTo(10);
    assertThat(metadataOfTarget1.getTotalElements()).isEqualTo(10);

    assertThat(metadataOfTarget2.getNumberOfElements()).isEqualTo(8);
    assertThat(metadataOfTarget2.getTotalElements()).isEqualTo(8);
}

From source file:org.eclipse.hawkbit.repository.jpa.TargetManagementTest.java

private void validateFoundTargetsByRsql(final String rsqlFilter, final String... controllerIds) {
    final Page<Target> foundTargetsByMetadataAndControllerId = targetManagement.findByRsql(PAGE, rsqlFilter);

    assertThat(foundTargetsByMetadataAndControllerId.getTotalElements())
            .as("Targets count in RSQL filter is wrong").isEqualTo(controllerIds.length);
    assertThat(foundTargetsByMetadataAndControllerId.getContent().stream().map(Target::getControllerId))
            .as("Targets found by RSQL filter have wrong controller ids")
            .containsExactlyInAnyOrder(controllerIds);
}