private PagedList<LocationInner> toPagedList(List<LocationInner> list) { PageImpl<LocationInner> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); return new PagedList<LocationInner>(page) { @Override public Page<LocationInner> nextPage(String nextPageLink) { return null; } }; } }
@Override public Observable<ServiceResponse<List<LocationInner>>> call(Response<ResponseBody> response) { try { ServiceResponse<PageImpl<LocationInner>> result = listLocationsDelegate(response); ServiceResponse<List<LocationInner>> clientResponse = new ServiceResponse<List<LocationInner>>(result.body().items(), result.response()); return Observable.just(clientResponse); } catch (Throwable t) { return Observable.error(t); } } });
@Override public Observable<ServiceResponse<List<LocationInner>>> call(Response<ResponseBody> response) { try { ServiceResponse<PageImpl<LocationInner>> result = listLocationsDelegate(response); ServiceResponse<List<LocationInner>> clientResponse = new ServiceResponse<List<LocationInner>>(result.body().items(), result.response()); return Observable.just(clientResponse); } catch (Throwable t) { return Observable.error(t); } } });
private PagedList<LocationInner> toPagedList(List<LocationInner> list) { PageImpl<LocationInner> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); return new PagedList<LocationInner>(page) { @Override public Page<LocationInner> nextPage(String nextPageLink) { return null; } }; } }
/** * Converts the List to PagedList. * @param list list to be converted in to paged list * @param <InnerT> the wrapper inner type * @return the Paged list for the inner type. */ public static <InnerT> PagedList<InnerT> convertToPagedList(List<InnerT> list) { PageImpl<InnerT> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); return new PagedList<InnerT>(page) { @Override public Page<InnerT> nextPage(String nextPageLink) { return null; } }; }
/** * Converts the List to PagedList. * @param list list to be converted in to paged list * @param <InnerT> the wrapper inner type * @return the Paged list for the inner type. */ public static <InnerT> PagedList<InnerT> convertToPagedList(List<InnerT> list) { PageImpl<InnerT> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); return new PagedList<InnerT>(page) { @Override public Page<InnerT> nextPage(String nextPageLink) { return null; } }; }
@Override public Page<E> nextPage(String s) { if (resourceGroupItr.hasNext()) { ResourceGroup resourceGroup = resourceGroupItr.next(); PageImpl<E> page = new PageImpl<>(); page.setItems(listNextGroup(resourceGroup.name())); page.setNextPageLink(s); return page; } else { // return an empty page without next link so that iteration will terminate PageImpl<E> page = new PageImpl<>(); page.setItems(new ArrayList<E>()); return page; } }
@Override public Page<E> nextPage(String s) { if (resourceGroupItr.hasNext()) { ResourceGroup resourceGroup = resourceGroupItr.next(); PageImpl<E> page = new PageImpl<>(); page.setItems(listNextGroup(resourceGroup.name())); page.setNextPageLink(s); return page; } else { // return an empty page without next link so that iteration will terminate PageImpl<E> page = new PageImpl<>(); page.setItems(new ArrayList<E>()); return page; } }
@Override public Page<V> nextPage(String nextPageLink) throws RestException, IOException { Page<U> uPage = uList.nextPage(nextPageLink); final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>()); loadConvertedList(uPage, vPage); return vPage; } };
@Override public Page<V> nextPage(String nextPageLink) throws RestException, IOException { Page<U> uPage = uList.nextPage(nextPageLink); final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>()); loadConvertedList(uPage, vPage); return vPage; } };
/** * Converts the given list of a type to paged list of a different type. * * @param list the list to convert to paged list * @param mapper the mapper to map type in input list to output list * @param <OutT> the type of items in output paged list * @param <InT> the type of items in input paged list * @return the paged list */ public static <OutT, InT> PagedList<OutT> toPagedList(List<InT> list, final Func1<InT, OutT> mapper) { PageImpl<InT> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); PagedList<InT> pagedList = new PagedList<InT>(page) { @Override public Page<InT> nextPage(String nextPageLink) { return null; } }; PagedListConverter<InT, OutT> converter = new PagedListConverter<InT, OutT>() { @Override public Observable<OutT> typeConvertAsync(InT inner) { return Observable.just(mapper.call(inner)); } }; return converter.convert(pagedList); }
/** * Converts the given list of a type to paged list of a different type. * * @param list the list to convert to paged list * @param mapper the mapper to map type in input list to output list * @param <OutT> the type of items in output paged list * @param <InT> the type of items in input paged list * @return the paged list */ public static <OutT, InT> PagedList<OutT> toPagedList(List<InT> list, final Func1<InT, OutT> mapper) { PageImpl<InT> page = new PageImpl<>(); page.setItems(list); page.setNextPageLink(null); PagedList<InT> pagedList = new PagedList<InT>(page) { @Override public Page<InT> nextPage(String nextPageLink) { return null; } }; PagedListConverter<InT, OutT> converter = new PagedListConverter<InT, OutT>() { @Override public Observable<OutT> typeConvertAsync(InT inner) { return Observable.just(mapper.call(inner)); } }; return converter.convert(pagedList); }
final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>()); loadConvertedList(uPage, vPage); return new PagedList<V>(vPage) { public Page<V> nextPage(String nextPageLink) throws RestException, IOException { Page<U> uPage = uList.nextPage(nextPageLink); final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>());
final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>()); loadConvertedList(uPage, vPage); return new PagedList<V>(vPage) { public Page<V> nextPage(String nextPageLink) throws RestException, IOException { Page<U> uPage = uList.nextPage(nextPageLink); final PageImpl<V> vPage = new PageImpl<>(); vPage.setNextPageLink(uPage.nextPageLink()); vPage.setItems(new ArrayList<V>());
@Override public PagedList<VirtualMachineSize> availableSizes() { PageImpl<VirtualMachineSizeInner> page = new PageImpl<>(); page.setItems(this.manager().inner().virtualMachines().listAvailableSizes(this.resourceGroupName(), this.name())); page.setNextPageLink(null); return this.virtualMachineSizeConverter.convert(new PagedList<VirtualMachineSizeInner>(page) { @Override public Page<VirtualMachineSizeInner> nextPage(String nextPageLink) { return null; } }); }
@Override public PagedList<VirtualMachineSize> availableSizes() { PageImpl<VirtualMachineSizeInner> page = new PageImpl<>(); page.setItems(this.manager().inner().virtualMachines().listAvailableSizes(this.resourceGroupName(), this.name())); page.setNextPageLink(null); return this.virtualMachineSizeConverter.convert(new PagedList<VirtualMachineSizeInner>(page) { @Override public Page<VirtualMachineSizeInner> nextPage(String nextPageLink) { return null; } }); }
@Test public void isResourceLoadedLazily() { final List<PageImpl<ResourceGroup>> pages = Arrays.asList( new PageImpl<ResourceGroup>(), new PageImpl<ResourceGroup>(), new PageImpl<ResourceGroup>(), new PageImpl<ResourceGroup>() ); pages.get(0).setItems(Arrays.asList(resourceGroup("RG1"), resourceGroup("RG2"), resourceGroup("RG3"), resourceGroup("RG4"), resourceGroup("RG5"))); pages.get(0).setNextPageLink("1"); pages.get(1).setItems(Arrays.asList(resourceGroup("RG6"), resourceGroup("RG7"), resourceGroup("RG8"), resourceGroup("RG9"), resourceGroup("RG10"))); pages.get(1).setNextPageLink("2"); pages.get(2).setItems(Arrays.asList(resourceGroup("RG11"), resourceGroup("RG12"), resourceGroup("RG13"), resourceGroup("RG14"), resourceGroup("RG15"))); pages.get(2).setNextPageLink("3");