Example usage for org.springframework.data.domain PageImpl PageImpl

List of usage examples for org.springframework.data.domain PageImpl PageImpl

Introduction

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

Prototype

public PageImpl(List<T> content) 

Source Link

Document

Creates a new PageImpl with the given content.

Usage

From source file:com.alliander.osgp.acceptancetests.basicfunctions.VerifyAuthorizeDeviceFunctionSteps.java

@SuppressWarnings("unchecked")
private void getEventNotifications() throws OsgpException {
    when(this.eventRepositoryMock.findAll(any(Specification.class), any(Pageable.class)))
            .thenReturn(new PageImpl<Event>(new ArrayList<Event>()));
    final FindEventsRequest request = new FindEventsRequest();
    request.setDeviceIdentification(this.device.getDeviceIdentification());
    this.response = this.coreDeviceManagementEndpoint
            .findEventsRequest(this.organisation.getOrganisationIdentification(), request);
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnSpecifiedFields() {
    // given//from  www  .  ja  v  a2 s  .c  o  m
    String documentId = randomNumeric(5);
    String message = "some test message";
    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message(message)
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_NAME)
            .withTypes(TYPE_NAME).withFields("message").build();
    // when
    Page<String> page = elasticsearchTemplate.queryForPage(searchQuery, String.class,
            new JestSearchResultMapper() {
                @Override
                public <T> Page<T> mapResults(SearchResult response, Class<T> clazz, Pageable pageable) {
                    List<String> values = new ArrayList<String>();
                    for (JsonElement hit : response.getJsonObject().get("hits").getAsJsonObject().get("hits")
                            .getAsJsonArray()) {
                        values.add(hit.getAsJsonObject().get("fields").getAsJsonObject().get("message")
                                .getAsString());
                    }
                    return new PageImpl<T>((List<T>) values);
                }
            });
    // then
    assertThat(page, is(notNullValue()));
    assertThat(page.getTotalElements(), is(equalTo(1L)));
    assertThat(page.getContent().get(0), is(message));
}

From source file:nu.yona.server.analysis.service.ActivityService.java

private Page<MessageDto> getActivityDetailMessages(UUID userId, Supplier<IntervalActivity> activitySupplier,
        Pageable pageable) {/*  ww  w .java 2s  .c  o m*/
    IntervalActivity dayActivityEntity = activitySupplier.get();
    if (dayActivityEntity == null) {
        return new PageImpl<>(Collections.emptyList());
    }
    return messageService.getActivityRelatedMessages(userId, dayActivityEntity, pageable);
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnResultsWithScanAndScrollForSpecifiedFieldsForCriteriaCriteria() {
    //given/*from  w  w w. ja v a 2s .  c om*/
    List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30);
    // when
    elasticsearchTemplate.bulkIndex(entities);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // then

    CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
    criteriaQuery.addIndices(INDEX_NAME);
    criteriaQuery.addTypes(TYPE_NAME);
    criteriaQuery.addFields("message");
    criteriaQuery.setPageable(new PageRequest(0, 10));

    String scrollId = elasticsearchTemplate.scan(criteriaQuery, 5000, false);
    List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
    boolean hasRecords = true;
    while (hasRecords) {
        Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, new JestScrollResultMapper() {
            @Override
            public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) {

                List<SampleEntity> result = new ArrayList<SampleEntity>();
                for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                    String message = searchHit.fields.get("message").get(0);
                    SampleEntity sampleEntity = new SampleEntity();
                    sampleEntity.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                    sampleEntity.setMessage(message);
                    result.add(sampleEntity);
                }

                if (result.size() > 0) {
                    return new PageImpl<T>((List<T>) result);
                }

                return null;
            }
        });
        if (page != null) {
            sampleEntities.addAll(page.getContent());
        } else {
            hasRecords = false;
        }
    }
    elasticsearchTemplate.clearScroll(scrollId);
    assertThat(sampleEntities.size(), is(equalTo(30)));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnResultsWithScanAndScrollForSpecifiedFieldsForSearchCriteria() {
    //given/*w  ww . ja v  a 2 s  .  c  om*/
    List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30);
    // when
    elasticsearchTemplate.bulkIndex(entities);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // then

    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_NAME)
            .withTypes(TYPE_NAME).withFields("message").withQuery(matchAllQuery())
            .withPageable(new PageRequest(0, 10)).build();

    String scrollId = elasticsearchTemplate.scan(searchQuery, 10000, false);
    List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
    boolean hasRecords = true;
    while (hasRecords) {
        Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 10000L, new JestScrollResultMapper() {
            @Override
            public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) {

                List<SampleEntity> result = new ArrayList<SampleEntity>();
                for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                    String message = searchHit.fields.get("message").get(0);
                    SampleEntity sampleEntity = new SampleEntity();
                    sampleEntity.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                    sampleEntity.setMessage(message);
                    result.add(sampleEntity);
                }

                if (result.size() > 0) {
                    return new PageImpl<T>((List<T>) result);
                }

                return null;
            }
        });
        if (page != null) {
            sampleEntities.addAll(page.getContent());
        } else {
            hasRecords = false;
        }
    }
    elasticsearchTemplate.clearScroll(scrollId);
    assertThat(sampleEntities.size(), is(equalTo(30)));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnResultsForScanAndScrollWithCustomResultMapperForGivenCriteriaQuery() {
    //given//from  w  ww . j ava  2 s . c o  m
    List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30);
    // when
    elasticsearchTemplate.bulkIndex(entities);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // then

    CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
    criteriaQuery.addIndices(INDEX_NAME);
    criteriaQuery.addTypes(TYPE_NAME);
    criteriaQuery.setPageable(new PageRequest(0, 10));

    String scrollId = elasticsearchTemplate.scan(criteriaQuery, 5000, false);
    List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
    boolean hasRecords = true;
    while (hasRecords) {
        Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, new JestScrollResultMapper() {
            @Override
            public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) {

                List<SampleEntity> chunk = new ArrayList<SampleEntity>();
                for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                    if (response.getHits(JsonObject.class).size() <= 0) {
                        return null;
                    }
                    SampleEntity user = new SampleEntity();
                    user.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                    user.setMessage((String) searchHit.source.get("message").getAsString());
                    chunk.add(user);
                }
                if (chunk.size() > 0) {
                    return new PageImpl<T>((List<T>) chunk);
                }

                return null;
            }
        });
        if (page != null) {
            sampleEntities.addAll(page.getContent());
        } else {
            hasRecords = false;
        }
    }
    elasticsearchTemplate.clearScroll(scrollId);
    assertThat(sampleEntities.size(), is(equalTo(30)));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnResultsForScanAndScrollWithCustomResultMapperForGivenSearchQuery() {
    //given// w  ww .j a  va2s . com
    List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30);
    // when
    elasticsearchTemplate.bulkIndex(entities);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // then

    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_NAME)
            .withTypes(TYPE_NAME).withPageable(new PageRequest(0, 10)).build();

    String scrollId = elasticsearchTemplate.scan(searchQuery, 1000, false);
    List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
    boolean hasRecords = true;
    while (hasRecords) {
        Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, new JestScrollResultMapper() {
            @Override
            public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) {

                List<SampleEntity> chunk = new ArrayList<SampleEntity>();
                for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                    if (response.getHits(JsonObject.class).size() <= 0) {
                        return null;
                    }
                    SampleEntity user = new SampleEntity();
                    user.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                    user.setMessage((String) searchHit.source.get("message").getAsString());
                    chunk.add(user);
                }
                if (chunk.size() > 0) {
                    return new PageImpl<T>((List<T>) chunk);
                }

                return null;
            }
        });
        if (page != null) {
            sampleEntities.addAll(page.getContent());
        } else {
            hasRecords = false;
        }
    }
    elasticsearchTemplate.clearScroll(scrollId);
    assertThat(sampleEntities.size(), is(equalTo(30)));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnHighlightedFieldsForGivenQueryAndFields() {

    //given//from   ww w  .  j  a v  a  2  s.c om
    String documentId = randomNumeric(5);
    String actualMessage = "some test message";
    String highlightedMessage = "some <em>test</em> message";

    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message(actualMessage)
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);

    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "test"))
            .withHighlightFields(new HighlightBuilder.Field("message")).build();

    Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class,
            new JestSearchResultMapper() {
                @Override
                public <T> Page<T> mapResults(SearchResult response, Class<T> clazz, Pageable pageable) {
                    List<SampleEntity> chunk = new ArrayList<SampleEntity>();
                    for (SearchResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                        if (response.getHits(JsonObject.class).size() <= 0) {
                            return null;
                        }
                        SampleEntity user = new SampleEntity();
                        user.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                        user.setMessage(searchHit.source.get("message").getAsString());
                        user.setHighlightedMessage(searchHit.highlight.get("message").get(0));
                        chunk.add(user);
                    }
                    if (chunk.size() > 0) {
                        return new PageImpl<T>((List<T>) chunk);
                    }
                    return null;
                }
            });

    assertThat(sampleEntities.getContent().get(0).getHighlightedMessage(), is(highlightedMessage));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldIndexDocumentForSpecifiedSource() {

    // given/*from w w  w. jav a 2  s.  c o m*/
    String documentSource = "{\"id\":\"2333343434\",\"type\":null,\"message\":\"some message\",\"rate\":0,\"available\":false,\"highlightedMessage\":null,\"version\":1385208779482}";
    IndexQuery indexQuery = new IndexQuery();
    indexQuery.setId("2333343434");
    indexQuery.setSource(documentSource);
    indexQuery.setIndexName(INDEX_NAME);
    indexQuery.setType(TYPE_NAME);
    // when
    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", indexQuery.getId()))
            .withIndices(INDEX_NAME).withTypes(TYPE_NAME).build();
    // then
    Page<SampleEntity> page = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class,
            new JestSearchResultMapper() {
                @Override
                public <T> Page<T> mapResults(SearchResult response, Class<T> clazz, Pageable pageable) {
                    List<SampleEntity> values = new ArrayList<SampleEntity>();
                    for (SearchResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) {
                        SampleEntity sampleEntity = new SampleEntity();
                        sampleEntity.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString());
                        sampleEntity.setMessage(searchHit.source.get("message").getAsString());
                        values.add(sampleEntity);
                    }
                    return new PageImpl<T>((List<T>) values);
                }
            });
    assertThat(page, is(notNullValue()));
    assertThat(page.getContent().size(), is(1));
    assertThat(page.getContent().get(0).getId(), is(indexQuery.getId()));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldIndexMapWithIndexNameAndTypeAtRuntime() {
    //given//from   ww  w.  j  a v a 2s  . 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")));
}