/** * Defaults: * <ul> * <li><b>pageDetails.pageNumber</b>: <tt>1</tt></li> * <li><b>pageDetails.pageCount</b>: <tt>1</tt></li> * <li><b>totalResultCountMax</b>: <tt>0</tt></li> * </ul> * */ public CannedQueryParameters( Object parameterBean, int skipResults, int pageSize, String queryExecutionId) { this ( parameterBean, new CannedQueryPageDetails(skipResults, pageSize, CannedQueryPageDetails.DEFAULT_PAGE_NUMBER, CannedQueryPageDetails.DEFAULT_PAGE_COUNT), null, DEFAULT_TOTAL_COUNT_MAX, queryExecutionId); }
int skipResults = pageDetails.getSkipResults(); int pageSize = pageDetails.getPageSize(); int pageCount = pageDetails.getPageCount(); int pageNumber = pageDetails.getPageNumber();
/** * Helper method to get the total number of query results that need to be obtained in order * to satisfy the {@link #getPageDetails() paging requirements}, the * maximum result count ... and an extra to provide * 'hasMore' functionality. * * @return the minimum number of results required before pages can be created */ public int getResultsRequired() { int resultsForPaging = pageDetails.getResultsRequiredForPaging(); if (resultsForPaging < Integer.MAX_VALUE) // Add one for 'hasMore' { resultsForPaging++; } int maxRequired = Math.max(totalResultCountMax, resultsForPaging); return maxRequired; }
PersonResultHandler resultHandler = new PersonResultHandler(c); int offset = parameters.getPageDetails().getSkipResults(); int totalResultCountMax = parameters.getTotalResultCountMax(); int origLimit = totalResultCountMax > 0 ? totalResultCountMax : parameters.getPageDetails().getPageSize();
@Override protected Pair<Integer, Integer> getTotalResultCount(List<NodeRef> results) { int offset = super.getParameters().getPageDetails().getSkipResults(); Integer size = offset + results.size(); return new Pair<Integer, Integer>(size, size); }
PersonResultHandler resultHandler = new PersonResultHandler(c); int offset = parameters.getPageDetails().getSkipResults(); int totalResultCountMax = parameters.getTotalResultCountMax(); int origLimit = totalResultCountMax > 0 ? totalResultCountMax : parameters.getPageDetails().getPageSize();
@Override protected Pair<Integer, Integer> getTotalResultCount(List<NodeRef> results) { int offset = super.getParameters().getPageDetails().getSkipResults(); Integer size = offset + results.size(); return new Pair<Integer, Integer>(size, size); }
/** * Defaults: * <ul> * <li><b>pageDetails.pageNumber</b>: <tt>1</tt></li> * <li><b>pageDetails.pageCount</b>: <tt>1</tt></li> * <li><b>totalResultCountMax</b>: <tt>0</tt></li> * </ul> * * @see #NamedQueryParameters(Object, CannedQueryPageDetails, CannedQuerySortDetails, String, int, String) */ public CannedQueryParameters( Object parameterBean, int skipResults, int pageSize, String queryExecutionId) { this ( parameterBean, new CannedQueryPageDetails(skipResults, pageSize, CannedQueryPageDetails.DEFAULT_PAGE_NUMBER, CannedQueryPageDetails.DEFAULT_PAGE_COUNT), null, DEFAULT_TOTAL_COUNT_MAX, queryExecutionId); }
int skipResults = pageDetails.getSkipResults(); int pageSize = pageDetails.getPageSize(); int pageCount = pageDetails.getPageCount(); int pageNumber = pageDetails.getPageNumber();
/** * Helper method to get the total number of query results that need to be obtained in order * to satisfy the {@link #getPageDetails() paging requirements}, the * {@link #requestTotalResultCountMax() maximum result count} ... and an extra to provide * 'hasMore' functionality. * * @return the minimum number of results required before pages can be created */ public int getResultsRequired() { int resultsForPaging = pageDetails.getResultsRequiredForPaging(); if (resultsForPaging < Integer.MAX_VALUE) // Add one for 'hasMore' { resultsForPaging++; } int maxRequired = Math.max(totalResultCountMax, resultsForPaging); return maxRequired; }
this.pageDetails = pageDetails == null ? new CannedQueryPageDetails() : pageDetails; this.sortDetails = sortDetails == null ? new CannedQuerySortDetails() : sortDetails; this.totalResultCountMax = totalResultCountMax;
final boolean hasMoreItems = (rawResults.size() > pagingDetails.getResultsRequiredForPaging());
this.pageDetails = pageDetails == null ? new CannedQueryPageDetails() : pageDetails; this.sortDetails = sortDetails == null ? new CannedQuerySortDetails() : sortDetails; this.totalResultCountMax = totalResultCountMax;
final boolean hasMoreItems = (rawResults.size() > pagingDetails.getResultsRequiredForPaging());
protected CannedQueryPageDetails createCQPageDetails(PagingRequest pagingReq) { int skipCount = pagingReq.getSkipCount(); if (skipCount == -1) { skipCount = CannedQueryPageDetails.DEFAULT_SKIP_RESULTS; } int maxItems = pagingReq.getMaxItems(); if (maxItems == -1) { maxItems = CannedQueryPageDetails.DEFAULT_PAGE_SIZE; } // page details CannedQueryPageDetails cqpd = new CannedQueryPageDetails(skipCount, maxItems); return cqpd; }
protected CannedQueryPageDetails createCQPageDetails(PagingRequest pagingReq) { int skipCount = pagingReq.getSkipCount(); if (skipCount == -1) { skipCount = CannedQueryPageDetails.DEFAULT_SKIP_RESULTS; } int maxItems = pagingReq.getMaxItems(); if (maxItems == -1) { maxItems = CannedQueryPageDetails.DEFAULT_PAGE_SIZE; } // page details CannedQueryPageDetails cqpd = new CannedQueryPageDetails(skipCount, maxItems); return cqpd; }
/** * Construct all the parameters for executing a named query, using values from the * {@link PagingRequest}. * * @param parameterBean the values that the query will be based on or <tt>null</tt> * if not relevant to the query * @param sortDetails the type of sorting to be applied or <tt>null</tt> for none * @param pagingRequest the type of paging to be applied or <tt>null</tt> for none */ public CannedQueryParameters( Object parameterBean, CannedQuerySortDetails sortDetails, PagingRequest pagingRequest) { this ( parameterBean, pagingRequest == null ? null : new CannedQueryPageDetails(pagingRequest), sortDetails, pagingRequest == null ? 0 : pagingRequest.getRequestTotalCountMax(), pagingRequest == null ? null : pagingRequest.getQueryExecutionId()); }
/** * Construct all the parameters for executing a named query, using values from the * {@link PagingRequest}. * * @param parameterBean the values that the query will be based on or <tt>null</tt> * if not relevant to the query * @param sortDetails the type of sorting to be applied or <tt>null</tt> for none * @param pageRequest the type of paging to be applied or <tt>null</tt> for none */ public CannedQueryParameters( Object parameterBean, CannedQuerySortDetails sortDetails, PagingRequest pagingRequest) { this ( parameterBean, pagingRequest == null ? null : new CannedQueryPageDetails(pagingRequest), sortDetails, pagingRequest == null ? 0 : pagingRequest.getRequestTotalCountMax(), pagingRequest == null ? null : pagingRequest.getQueryExecutionId()); }
public PagingResults<SiteMembership> listMembersPaged(String shortName, boolean collapseGroups, List<Pair<SiteService.SortFields, Boolean>> sortProps, PagingRequest pagingRequest) { CannedQueryPageDetails pageDetails = new CannedQueryPageDetails(pagingRequest.getSkipCount(), pagingRequest.getMaxItems()); // sort details CannedQuerySortDetails sortDetails = null; if(sortProps != null) { List<Pair<? extends Object, SortOrder>> sortPairs = new ArrayList<Pair<? extends Object, SortOrder>>(sortProps.size()); for (Pair<SiteService.SortFields, Boolean> sortProp : sortProps) { sortPairs.add(new Pair<SiteService.SortFields, SortOrder>(sortProp.getFirst(), (sortProp.getSecond() ? SortOrder.ASCENDING : SortOrder.DESCENDING))); } sortDetails = new CannedQuerySortDetails(sortPairs); } SiteMembersCannedQueryParams parameterBean = new SiteMembersCannedQueryParams(shortName, collapseGroups); CannedQueryParameters params = new CannedQueryParameters(parameterBean, pageDetails, sortDetails, pagingRequest.getRequestTotalCountMax(), pagingRequest.getQueryExecutionId()); CannedQuery<SiteMembership> query = new SiteMembersCannedQuery(this, personService, nodeService, params); CannedQueryResults<SiteMembership> results = query.execute(); return getPagingResults(pagingRequest, results); }
public PagingResults<SiteMembership> listMembersPaged(String shortName, boolean collapseGroups, List<Pair<SiteService.SortFields, Boolean>> sortProps, PagingRequest pagingRequest) { CannedQueryPageDetails pageDetails = new CannedQueryPageDetails(pagingRequest.getSkipCount(), pagingRequest.getMaxItems()); // sort details CannedQuerySortDetails sortDetails = null; if(sortProps != null) { List<Pair<? extends Object, SortOrder>> sortPairs = new ArrayList<Pair<? extends Object, SortOrder>>(sortProps.size()); for (Pair<SiteService.SortFields, Boolean> sortProp : sortProps) { sortPairs.add(new Pair<SiteService.SortFields, SortOrder>(sortProp.getFirst(), (sortProp.getSecond() ? SortOrder.ASCENDING : SortOrder.DESCENDING))); } sortDetails = new CannedQuerySortDetails(sortPairs); } SiteMembersCannedQueryParams parameterBean = new SiteMembersCannedQueryParams(shortName, collapseGroups); CannedQueryParameters params = new CannedQueryParameters(parameterBean, pageDetails, sortDetails, pagingRequest.getRequestTotalCountMax(), pagingRequest.getQueryExecutionId()); CannedQuery<SiteMembership> query = new SiteMembersCannedQuery(this, personService, nodeService, params); CannedQueryResults<SiteMembership> results = query.execute(); return getPagingResults(pagingRequest, results); }