/** * @param searchResult * @param searchRequest * @return a sorted and paginated result */ private SearchResultInfo metaFilter(SearchResultInfo searchResult, SearchRequestInfo searchRequest) { searchResult.setTotalResults(searchResult.getRows().size()); searchResult.sortRows(); //Paginate if we need to if(searchRequest.getMaxResults()!=null){ int fromIndex=0; if(searchRequest.getStartAt()!=null){ fromIndex=searchRequest.getStartAt(); } int toIndex = fromIndex+searchRequest.getMaxResults(); SearchResultInfo pagedResult = new SearchResultInfo(); for (int i=fromIndex; i <= toIndex; i++) { if (!(searchResult.getRows().size() < i+1)) { pagedResult.getRows().add(searchResult.getRows().get(i)); } } pagedResult.setTotalResults(searchResult.getRows().size()); searchResult = pagedResult; } return searchResult; }
if(searchRequest.getStartAt()!=null){ query.setFirstResult(searchRequest.getStartAt().intValue()); searchResult.setSortColumn(searchRequest.getSortColumn()); searchResult.setSortDirection(searchRequest.getSortDirection()); searchResult.setStartAt(searchRequest.getStartAt()); if(searchRequest.getNeededTotalResults()!=null && searchRequest.getNeededTotalResults()){
int startAt = (null != searchRequest && null != searchRequest.getStartAt()) ? searchRequest.getStartAt() : 0; int maxResult = (null != searchRequest && null != searchRequest.getMaxResults()) ? startAt + searchRequest.getMaxResults() : persons.size(); result.setStartAt(searchRequest.getStartAt()); if (searchRequest.getNeededTotalResults()) { result.setTotalResults(persons.size());
if(searchRequest.getStartAt() == 0){ table.removeContent(); VerticalFlowPanel noResultsPanel = new VerticalFlowPanel();