List of usage examples for org.springframework.data.domain PageImpl PageImpl
public PageImpl(List<T> content, Pageable pageable, long total)
From source file:edu.cmu.cs.lti.discoursedb.api.browsing.controller.BrowsingRestController.java
@RequestMapping(value = "/database/{databaseName}/bratExports", method = RequestMethod.GET) @ResponseBody//ww w . j av a 2 s .c om PagedResources<Resource<BrowsingBratExportResource>> bratExports( @PathVariable("databaseName") String databaseName, HttpServletRequest hsr, HttpSession session) { registerDb(hsr, session, databaseName); String who = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(); String bratDataDirectory = bratDataDirectory(); List<BrowsingBratExportResource> exported = BrowsingBratExportResource .findPreviouslyExportedBrat(bratDataDirectory); Page<BrowsingBratExportResource> p = new PageImpl<BrowsingBratExportResource>(exported, new PageRequest(0, 100), exported.size()); for (BrowsingBratExportResource bber : p) { bber.add(makeLink1Arg("/browsing/action/database/" + databaseName + "/importBrat", "Import BRAT markup", "bratDirectory", bber.getName())); bber.add(makeBratLink("/index.xhtml#/" + who + "/" + bber.getName(), "Edit BRAT markup")); bber.add(makeLink1Arg("/browsing/action/database/" + databaseName + "/deleteBrat", "Delete BRAT markup", "bratDirectory", bber.getName())); } return praBratAssembler.toResource(p); }
From source file:edu.cmu.cs.lti.discoursedb.api.browsing.controller.BrowsingRestController.java
@RequestMapping(value = "/database/{databaseName}/usersInDiscoursePart/{dpId}", method = RequestMethod.GET) @ResponseBody/*from w w w. j a v a 2s . com*/ PagedResources<Resource<BrowsingUserResource>> users(@RequestParam(value = "page", defaultValue = "0") int page, @RequestParam(value = "size", defaultValue = "20") int size, @PathVariable("databaseName") String databaseName, @PathVariable("dpId") Long dpId, HttpServletRequest hsr, HttpSession session) { registerDb(hsr, session, databaseName); PageRequest p = new PageRequest(page, size); Optional<DiscoursePart> parent = discoursePartRepository.findOne(dpId); if (parent.isPresent()) { List<User> lbcr1 = new ArrayList<User>(); lbcr1.addAll(userService.findUsersUnderDiscoursePart(parent.get())); List<BrowsingUserResource> lbcr = lbcr1.subList(page * size, lbcr1.size()).stream() .map(BrowsingUserResource::new).map(b -> { b.fillInDiscoursePartLinks(discoursePartService); return b; }).collect(Collectors.toList()); Page<BrowsingUserResource> pbcr = new PageImpl<BrowsingUserResource>(lbcr, p, lbcr.size()); PagedResources<Resource<BrowsingUserResource>> response = praUserAssembler.toResource(pbcr); return response; } else { return null; } }
From source file:od.providers.modeloutput.lap.LAPModelOutputProvider.java
private PageImpl<ModelOutput> fetch(ProviderData providerData, String tenantId, Map<String, String> urlVariables, Pageable pageable, String uri) { log.debug("{}", urlVariables); log.debug("{}", uri); String url = getUrl(providerData.findValueForKey("base_url"), uri, pageable); ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails(); resourceDetails.setClientId(providerData.findValueForKey("key")); resourceDetails.setClientSecret(providerData.findValueForKey("secret")); resourceDetails// w w w . j a v a 2s . c o m .setAccessTokenUri(getUrl(providerData.findValueForKey("base_url"), LAP_OAUTH_TOKEN_URI, null)); DefaultOAuth2ClientContext clientContext = new DefaultOAuth2ClientContext(); OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resourceDetails, clientContext); MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.setSupportedMediaTypes( Arrays.asList(MediaType.APPLICATION_JSON, MediaType.valueOf("text/javascript"))); restTemplate.setMessageConverters(Arrays.<HttpMessageConverter<?>>asList(converter)); ParameterizedTypeReference<PageWrapper<ModelOutputImpl>> responseType = new ParameterizedTypeReference<PageWrapper<ModelOutputImpl>>() { }; PageWrapper<ModelOutputImpl> pageWrapper = restTemplate .exchange(url, HttpMethod.GET, null, responseType, urlVariables).getBody(); log.debug(pageWrapper.toString()); List<ModelOutput> output; if (pageWrapper != null && pageWrapper.getContent() != null && !pageWrapper.getContent().isEmpty()) { output = new LinkedList<ModelOutput>(pageWrapper.getContent()); } else { output = new ArrayList<>(); } return new PageImpl<ModelOutput>(output, pageable, pageWrapper.getPage().getTotalElements()); }
From source file:org.dspace.app.rest.link.search.SearchFacetEntryHalLinkFactory.java
@Override protected void addLinks(SearchFacetEntryResource halResource, Pageable pageable, LinkedList<Link> list) throws Exception { SearchFacetEntryRest facetData = halResource.getFacetData(); DiscoveryResultsRest searchData = halResource.getSearchData(); String query = searchData == null ? null : searchData.getQuery(); String dsoType = searchData == null ? null : searchData.getDsoType(); String scope = searchData == null ? null : searchData.getScope(); UriComponentsBuilder uriBuilder = uriBuilder( getMethodOn().getFacetValues(facetData.getName(), null, query, dsoType, scope, null, null)); addFilterParams(uriBuilder, searchData); //If our rest data contains a list of values, construct the page links. Otherwise, only add a self link if (CollectionUtils.isNotEmpty(facetData.getValues())) { PageImpl page = new PageImpl<>(facetData.getValues(), new PageRequest(0, facetData.getFacetLimit()), facetData.getValues().size() + (BooleanUtils.isTrue(facetData.isHasMore()) ? 1 : 0)); halResource.setPageHeader(new EmbeddedPageHeader(uriBuilder, page, false)); } else {//from w w w . j a v a 2 s . c o m list.add(buildLink(Link.REL_SELF, uriBuilder.build().toUriString())); } }
From source file:org.dspace.app.rest.model.hateoas.SearchResultsResource.java
private void embedSearchResults(final SearchResultsRest data, final Utils utils, Pageable pageable) { entryResources = new LinkedList<>(); for (SearchResultEntryRest searchResultEntry : CollectionUtils.emptyIfNull(data.getSearchResults())) { entryResources.add(new SearchResultEntryResource(searchResultEntry, utils)); }/*w w w . ja va 2 s .com*/ Page page = new PageImpl<>(entryResources, pageable, data.getTotalNumberOfResults()); SearchResultsResourceHalLinkFactory linkFactory = new SearchResultsResourceHalLinkFactory(); EmbeddedPage embeddedPage = new EmbeddedPage(linkFactory.buildSearchBaseLink(data).toUriString(), page, entryResources, "objects"); embedResource("searchResult", embeddedPage); }
From source file:org.dspace.app.rest.repository.BrowseEntryLinkRepository.java
public Page<BrowseEntryRest> listBrowseEntries(HttpServletRequest request, String browseName, Pageable pageable, String projection) throws BrowseException, SQLException { // FIXME this should be bind automatically and available as method // argument/*from w w w . ja v a 2 s . c om*/ String scope = null; if (request != null) { scope = request.getParameter("scope"); } Context context = obtainContext(); BrowseEngine be = new BrowseEngine(context); BrowserScope bs = new BrowserScope(context); DSpaceObject scopeObj = null; if (scope != null) { UUID uuid = UUID.fromString(scope); scopeObj = communityService.find(context, uuid); if (scopeObj == null) { scopeObj = collectionService.find(context, uuid); } } // process the input, performing some inline validation final BrowseIndex bi; if (StringUtils.isNotEmpty(browseName)) { bi = BrowseIndex.getBrowseIndex(browseName); } else { bi = null; } if (bi == null) { throw new IllegalArgumentException("Unknown browse index"); } if (!bi.isMetadataIndex()) { throw new IllegalStateException("The requested browse haven't metadata entries"); } // set up a BrowseScope and start loading the values into it bs.setBrowseIndex(bi); Sort sort = null; if (pageable != null) { sort = pageable.getSort(); } if (sort != null) { Iterator<Order> orders = sort.iterator(); while (orders.hasNext()) { bs.setOrder(orders.next().getDirection().name()); } } // bs.setFilterValue(value != null?value:authority); // bs.setFilterValueLang(valueLang); // bs.setJumpToItem(focus); // bs.setJumpToValue(valueFocus); // bs.setJumpToValueLang(valueFocusLang); // bs.setStartsWith(startsWith); if (pageable != null) { bs.setOffset(pageable.getOffset()); bs.setResultsPerPage(pageable.getPageSize()); } // bs.setEtAl(etAl); // bs.setAuthorityValue(authority); if (scopeObj != null) { bs.setBrowseContainer(scopeObj); } BrowseInfo binfo = be.browse(bs); Pageable pageResultInfo = new PageRequest((binfo.getStart() - 1) / binfo.getResultsPerPage(), binfo.getResultsPerPage()); Page<BrowseEntryRest> page = new PageImpl<String[]>(Arrays.asList(binfo.getStringResults()), pageResultInfo, binfo.getTotal()).map(converter); page.forEach(new Consumer<BrowseEntryRest>() { @Override public void accept(BrowseEntryRest t) { t.setBrowseIndex(bixConverter.convert(bi)); } }); return page; }
From source file:org.dspace.app.rest.repository.BrowseItemLinkRepository.java
public Page<ItemRest> listBrowseItems(HttpServletRequest request, String browseName, Pageable pageable, String projection) throws BrowseException, SQLException { //FIXME these should be bind automatically and available as method arguments String scope = null;/* w ww .j a v a 2 s .c o m*/ String filterValue = null; String filterAuthority = null; if (request != null) { scope = request.getParameter("scope"); filterValue = request.getParameter("filterValue"); filterAuthority = request.getParameter("filterAuthority"); } Context context = obtainContext(); BrowseEngine be = new BrowseEngine(context); BrowserScope bs = new BrowserScope(context); DSpaceObject scopeObj = null; if (scope != null) { UUID uuid = UUID.fromString(scope); scopeObj = communityService.find(context, uuid); if (scopeObj == null) { scopeObj = collectionService.find(context, uuid); } } // process the input, performing some inline validation BrowseIndex bi = null; if (StringUtils.isNotEmpty(browseName)) { bi = BrowseIndex.getBrowseIndex(browseName); } if (bi == null) { throw new IllegalArgumentException("Unknown browse index"); } if (!bi.isItemIndex() && (filterAuthority == null && filterValue == null)) { throw new IllegalStateException( "The requested browse doesn't provide direct access to items you must specify a filter"); } if (!bi.isMetadataIndex() && (filterAuthority != null || filterValue != null)) { throw new IllegalStateException("The requested browse doesn't support filtering"); } // set up a BrowseScope and start loading the values into it bs.setBrowseIndex(bi); Sort sort = null; if (pageable != null) { sort = pageable.getSort(); } if (sort != null) { Iterator<Order> orders = sort.iterator(); while (orders.hasNext()) { Order order = orders.next(); bs.setOrder(order.getDirection().name()); String sortBy; if (!StringUtils.equals("default", order.getProperty())) { sortBy = order.getProperty(); } else { sortBy = bi.getDefaultOrder(); } try { SortOption so = SortOption.getSortOption(sortBy); if (so != null) { bs.setSortBy(so.getNumber()); } } catch (SortException e) { throw new RuntimeException(e.getMessage(), e); } } } if (filterValue != null || filterAuthority != null) { bs.setFilterValue(filterValue); bs.setAuthorityValue(filterAuthority); bs.setBrowseLevel(1); } // bs.setFilterValueLang(valueLang); // bs.setJumpToItem(focus); // bs.setJumpToValue(valueFocus); // bs.setJumpToValueLang(valueFocusLang); // bs.setStartsWith(startsWith); if (pageable != null) { bs.setOffset(pageable.getOffset()); bs.setResultsPerPage(pageable.getPageSize()); } if (scopeObj != null) { bs.setBrowseContainer(scopeObj); } // For second level browses on metadata indexes, we need to adjust the default sorting if (bi != null && bi.isMetadataIndex() && bs.isSecondLevel() && bs.getSortBy() <= 0) { bs.setSortBy(1); } BrowseInfo binfo = be.browse(bs); Pageable pageResultInfo = new PageRequest((binfo.getStart() - 1) / binfo.getResultsPerPage(), binfo.getResultsPerPage()); Page<ItemRest> page = new PageImpl<Item>(binfo.getBrowseItemResults(), pageResultInfo, binfo.getTotal()) .map(converter); return page; }
From source file:org.dspace.app.rest.repository.CollectionRestRepository.java
@Override public Page<CollectionRest> findAll(Context context, Pageable pageable) { List<Collection> it = null; List<Collection> collections = new ArrayList<Collection>(); int total = 0; try {// www . ja va2 s.c om total = cs.countTotal(context); it = cs.findAll(context, pageable.getPageSize(), pageable.getOffset()); for (Collection c : it) { collections.add(c); } } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } Page<CollectionRest> page = new PageImpl<Collection>(collections, pageable, total).map(dsoConverter); return page; }
From source file:org.dspace.app.rest.repository.CommunityRestRepository.java
@Override public Page<CommunityRest> findAll(Context context, Pageable pageable) { List<Community> it = null; List<Community> communities = new ArrayList<Community>(); int total = 0; try {/*from www.j av a 2 s. c o m*/ total = cs.countTotal(context); it = cs.findAll(context, pageable.getPageSize(), pageable.getOffset()); for (Community c : it) { communities.add(c); } } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } Page<CommunityRest> page = new PageImpl<Community>(communities, pageable, total).map(dsoConverter); return page; }
From source file:org.dspace.app.rest.repository.EPersonRestRepository.java
@Override public Page<EPersonRest> findAll(Context context, Pageable pageable) { List<EPerson> epersons = null; int total = 0; try {//w ww.jav a 2s . com if (!authorizeService.isAdmin(context)) { throw new RESTAuthorizationException( "The EPerson collection endpoint is reserved to system administrators"); } total = es.countTotal(context); epersons = es.findAll(context, EPerson.ID, pageable.getPageSize(), pageable.getOffset()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } Page<EPersonRest> page = new PageImpl<EPerson>(epersons, pageable, total).map(converter); return page; }