List of usage examples for org.springframework.data.domain PageImpl PageImpl
public PageImpl(List<T> content, Pageable pageable, long total)
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; }