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, Pageable pageable, long total) 

Source Link

Document

Constructor of PageImpl .

Usage

From source file:org.openlmis.fulfillment.service.OrderServiceTest.java

@Test
public void shouldSearchByStartDateAndEndDate() {
    Order order = generateOrder();//  w ww  .  ja  va2  s  .  c  o m
    Pageable pageable = new PageRequest(0, 10);

    OrderSearchParams params = new OrderSearchParams(order.getSupplyingFacilityId(),
            order.getRequestingFacilityId(), order.getProgramId(), null,
            Sets.newHashSet(order.getStatus().toString()), startDate, endDate);
    when(orderRepository.searchOrders(params, asSet(period1.getId(), period2.getId()), pageable))
            .thenReturn(new PageImpl<>(Collections.singletonList(order), pageable, 1));

    when(authenticationHelper.getCurrentUser()).thenReturn(null);

    Page<Order> receivedOrders = orderService.searchOrders(params, pageable);

    assertEquals(1, receivedOrders.getContent().size());
    assertEquals(order, receivedOrders.getContent().get(0));

    verify(orderRepository, atLeastOnce()).searchOrders(anyObject(), anyObject(), anyObject());
}

From source file:com.luna.common.repository.support.SimpleBaseRepository.java

@Override
public Page<M> findAll(final Searchable searchable) {
    List<M> list = repositoryHelper.findAll(findAllQL, searchable, searchCallback);
    long total = searchable.hasPageable() ? count(searchable) : list.size();
    return new PageImpl<M>(list, searchable.getPage(), total);
}

From source file:ei.ne.ke.cassandra.cql3.AstyanaxCql3Repository.java

protected Page<T> doFindAll(ID restrict, Pageable pageable) {
    /*//from  ww  w .  j a v a  2s  .  c om
     * Example #1
     *   pageNumber = 0
     *   pageSize = 25
     *   offset = 0
     *   => start row = 0
     *   => end row = 24 (including)
     *
     * Example #2
     *   pageNumber = 1
     *   pageSize = 25
     *   offset = 0
     *   => start row = 25
     *   => end row = 49 (including)
     *
     * Example #3
     *   pageNumber = 1
     *   pageSize = 25
     *   offset = 10
     *   => start row = 35
     *   => end row = 59 (including)
     */
    try {
        int pageNumber = pageable.getPageNumber();
        int pageSize = pageable.getPageSize();
        int offset = pageable.getOffset();
        int firstRow = pageNumber * pageSize + offset;
        int lastRow = (pageNumber + 1) * pageSize + offset;
        Map<String, ByteBuffer> serializedKeyValues = spec.getSerializedKeyValues(restrict);
        List<String> keysSet = EntitySpecificationUtils.getKeysSet(serializedKeyValues);
        String keysCql = cqlGen.buildLimitedFindAllKeysStatement(keysSet, pageable.getSort(), lastRow);
        PreparedCqlQuery<String, String> preparedStatement = doPreparedCqlRead(keysCql);
        for (String column : keysSet) {
            preparedStatement = preparedStatement.withValue(serializedKeyValues.get(column));
        }
        OperationResult<CqlResult<String, String>> keysResult = preparedStatement.execute();
        LOGGER.debug("attempts: {}, latency: {}ms", keysResult.getAttemptsCount(),
                keysResult.getLatency(TimeUnit.MILLISECONDS));
        CqlResult<String, String> cqlKeysResult = keysResult.getResult();
        Rows<String, String> keysSetRows = cqlKeysResult.getRows();
        List<T> keysAsEnts = Lists.newArrayListWithExpectedSize(lastRow - firstRow + 1);
        for (int i = firstRow; i < keysSetRows.size() && i < lastRow; i++) {
            keysAsEnts.add(spec.map(keysSetRows.getRowByIndex(i).getColumns()));
        }
        List<ID> keys = spec.getKey(keysAsEnts);
        return new PageImpl<T>((List<T>) findAll(keys), pageable, count(restrict));
    } catch (ConnectionException e) {
        throw new DataRetrievalFailureException("Error while executing CQL3 query", e);
    }
}

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

@Test
public void shouldFindOrdersByAllParameters() {
    OrderSearchParams params = new OrderSearchParams(firstOrder.getSupplyingFacilityId(),
            firstOrder.getRequestingFacilityId(), firstOrder.getProgramId(), firstOrder.getProcessingPeriodId(),
            Sets.newHashSet(READY_TO_PACK.toString()), LocalDate.of(2018, 4, 5), LocalDate.of(2018, 5, 5));

    given(orderService.searchOrders(params, pageable))
            .willReturn(new PageImpl<>(Lists.newArrayList(firstOrder), pageable, 2));

    PageDto response = restAssured.given().queryParam(SUPPLYING_FACILITY, firstOrder.getSupplyingFacilityId())
            .queryParam(REQUESTING_FACILITY, firstOrder.getRequestingFacilityId())
            .queryParam(PROGRAM, firstOrder.getProgramId())
            .queryParam(PROCESSING_PERIOD, firstOrder.getProcessingPeriodId())
            .queryParam(ORDER_STATUS, READY_TO_PACK.toString()).queryParam(PERIOD_START_DATE, "2018-04-05")
            .queryParam(PERIOD_END_DATE, "2018-05-05").queryParam(PAGE, 0).queryParam(SIZE, 10)
            .header(HttpHeaders.AUTHORIZATION, getTokenHeader()).when().get(RESOURCE_URL).then().statusCode(200)
            .extract().as(PageDto.class);

    List<BasicOrderDto> content = getPageContent(response, BasicOrderDto.class);

    assertThat(RAML_ASSERT_MESSAGE, restAssured.getLastReport(), RamlMatchers.hasNoViolations());
    assertThat(content, hasSize(1));//from   w ww .  j a v  a  2  s.c  o m

    for (BasicOrderDto order : content) {
        assertEquals(order.getSupplyingFacility().getId(), firstOrder.getSupplyingFacilityId());
        assertEquals(order.getRequestingFacility().getId(), firstOrder.getRequestingFacilityId());
        assertEquals(order.getProgram().getId(), firstOrder.getProgramId());
        assertEquals(order.getStatus(), firstOrder.getStatus());
        assertEquals(order.getId(), firstOrder.getId());
    }
}

From source file:ei.ne.ke.cassandra.cql3.AstyanaxCql3Repository.java

protected Page<T> doFindAll(Predicate predicate, Pageable pageable) {
    try {/*from   www .  j a v  a2 s . c  o  m*/
        int pageNumber = pageable.getPageNumber();
        int pageSize = pageable.getPageSize();
        int offset = pageable.getOffset();
        int firstRow = pageNumber * pageSize + offset;
        int lastRow = (pageNumber + 1) * pageSize + offset;
        Map<String, ByteBuffer> serializedValues = Maps.newLinkedHashMap();
        predicate.accept(new PredicateSerializerVisitor(), serializedValues);
        String cql = cqlGen.buildFindAllStatement(Lists.newArrayList(serializedValues.keySet()));
        PreparedCqlQuery<String, String> preparedStatement = doPreparedCqlRead(cql);
        for (Map.Entry<String, ByteBuffer> entry : serializedValues.entrySet()) {
            preparedStatement = preparedStatement.withValue(entry.getValue());
        }
        OperationResult<CqlResult<String, String>> opResult = preparedStatement.execute();
        LOGGER.debug("attempts: {}, latency: {}ms", opResult.getAttemptsCount(),
                opResult.getLatency(TimeUnit.MILLISECONDS));
        CqlResult<String, String> cqlResult = opResult.getResult();
        List<T> elements = Lists.newArrayList(spec.map(cqlResult.getRows()));
        List<T> result = Lists.newArrayListWithExpectedSize(lastRow - firstRow + 1);
        for (int i = firstRow; i < elements.size() && i < lastRow; i++) {
            result.add(elements.get(i));
        }
        return new PageImpl<T>(result, pageable, doCount(predicate));
    } catch (ConnectionException e) {
        throw new DataRetrievalFailureException("Error while executing CQL3 query", e);
    }
}

From source file:org.openlmis.fulfillment.service.OrderServiceTest.java

@Test
public void shouldSearchByStartDateAndEndDateAndPeriodId() {
    Order order = generateOrder();/*  w  w w.  j a  v a2 s  .c  o m*/
    Pageable pageable = new PageRequest(0, 10);

    OrderSearchParams params = new OrderSearchParams(order.getSupplyingFacilityId(),
            order.getRequestingFacilityId(), order.getProgramId(), period1.getId(),
            Sets.newHashSet(order.getStatus().toString()), startDate, endDate);
    when(orderRepository.searchOrders(params, asSet(period1.getId()), pageable))
            .thenReturn(new PageImpl<>(Collections.singletonList(order), pageable, 1));

    when(authenticationHelper.getCurrentUser()).thenReturn(null);

    Page<Order> receivedOrders = orderService.searchOrders(params, pageable);

    assertEquals(1, receivedOrders.getContent().size());
    assertEquals(order, receivedOrders.getContent().get(0));

    verify(orderRepository, atLeastOnce()).searchOrders(anyObject(), anyObject(), anyObject());
}

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

private Page<DayActivityOverviewDto<DayActivityDto>> getDayActivityOverviews(UUID userAnonymizedId,
        Pageable pageable, Set<IntervalInactivityDto> missingInactivities) {
    UserAnonymizedDto userAnonymized = userAnonymizedService.getUserAnonymized(userAnonymizedId);
    Interval interval = getInterval(getCurrentDayDate(userAnonymized), pageable, ChronoUnit.DAYS);

    List<DayActivityOverviewDto<DayActivityDto>> dayActivityOverviews = getDayActivityOverviews(
            missingInactivities, userAnonymized, interval);

    return new PageImpl<>(dayActivityOverviews, pageable,
            getTotalPageableItems(userAnonymized, ChronoUnit.DAYS));
}

From source file:com.thinkbiganalytics.feedmgr.service.feed.FeedModelTransform.java

/**
 * Transforms the specified Metadata feeds to Feed Manager feed summaries.
 *
 * @param domain the Metadata feed/*w w  w .  j  a  v a2  s . c  o  m*/
 * @return the Feed Manager feed summaries
 */
@Nonnull
public Page<UIFeed> domainToFeedSummary(@Nonnull final Page<Feed> domain, @Nonnull final Pageable pageable) {
    List<UIFeed> summaries = domain.getContent().stream().map(this::domainToFeedSummary)
            .filter(feedSummary -> feedSummary != null).collect(Collectors.toList());
    return new PageImpl<>(summaries, pageable, domain.getTotalElements());
}

From source file:com.ethlo.geodata.GeodataServiceImpl.java

@Override
public Page<GeoLocation> filter(LocationFilter filter, Pageable pageable) {
    final Collection<Query<GeoLocation>> queries = new LinkedList<>();

    if (filter.getName() != null) {
        if (filter.getName().endsWith("*")) {
            queries.add(QueryFactory.startsWith(CqGeonamesRepository.ATTRIBUTE_LC_NAME,
                    StringUtils.strip(filter.getName(), "*")));
        } else {/*from www .java 2s.com*/
            queries.add(QueryFactory.equal(CqGeonamesRepository.ATTRIBUTE_LC_NAME, filter.getName()));
        }
    }

    if (!filter.getFeatureClasses().isEmpty()) {
        queries.add(QueryFactory.in(CqGeonamesRepository.ATTRIBUTE_FEATURE_CLASS, filter.getFeatureClasses()));
    }

    if (!filter.getFeatureCodes().isEmpty()) {
        queries.add(QueryFactory.in(CqGeonamesRepository.ATTRIBUTE_FEATURE_CODE, filter.getFeatureCodes()));
    }

    if (!filter.getCountryCodes().isEmpty()) {
        queries.add(QueryFactory.in(CqGeonamesRepository.ATTRIBUTE_COUNTRY_CODE, filter.getCountryCodes()));
    }

    Query<GeoLocation> query;

    if (queries.isEmpty()) {
        query = QueryFactory.none(GeoLocation.class);
    } else if (queries.size() == 1) {
        query = queries.iterator().next();
    } else {
        query = new And<>(queries);
    }

    final ResultSet<GeoLocation> result = geoNamesRepository.retrieve(query,
            QueryFactory.queryOptions(QueryFactory.orderBy(QueryFactory
                    .descending(QueryFactory.missingLast(CqGeonamesRepository.ATTRIBUTE_POPULATION)))));
    int index = 0;
    final List<GeoLocation> content = new LinkedList<>();
    for (GeoLocation l : result) {
        if (index >= pageable.getOffset() && content.size() < pageable.getPageSize()) {
            content.add(l);
        }
        index++;
    }

    return new PageImpl<>(content, pageable, index);
}

From source file:edu.cmu.cs.lti.discoursedb.api.browsing.controller.BrowsingRestController.java

@RequestMapping(value = "/database/{databaseName}/lightsideExports", method = RequestMethod.GET)
@ResponseBody/*from   w  w w  .  j ava 2 s .  co m*/
PagedResources<Resource<BrowsingLightsideStubsResource>> lightsideExports(
        @PathVariable("databaseName") String databaseName, HttpServletRequest hsr, HttpSession session) {
    registerDb(hsr, session, databaseName);

    String lightsideDataDirectory = lsDataDirectory();
    List<BrowsingLightsideStubsResource> exported = BrowsingLightsideStubsResource
            .findPreviouslyExportedLightside(lightsideDataDirectory);
    Page<BrowsingLightsideStubsResource> p = new PageImpl<BrowsingLightsideStubsResource>(exported,
            new PageRequest(0, 100), exported.size());
    for (BrowsingLightsideStubsResource ltstub : p) {
        ltstub.add(makeLink1Arg("/browsing/action/database/" + databaseName + "/deleteLightside",
                "Delete this export", "exportFilename", ltstub.getName()));
        ltstub.add(makeLightsideDownloadLink("/browsing/action/database/" + databaseName + "/downloadLightside",
                ltstub.isAnnotated(), "Download", "exportFilename", ltstub.getName()));
    }
    PagedResources<Resource<BrowsingLightsideStubsResource>> ret = praLSAssembler.toResource(p);
    ret.add(makeLink(
            "/browsing/action/database/" + databaseName + "/uploadLightside{?file_annotatedFileForUpload}",
            "Upload"));
    return ret;
}