@Override public List<WebSitesData> findWebSitesByDomain(String domain) { Page page = new Page(0, Page.ALL_RESULTS); page.setFilterable(Filter.eq(WebSitesData.DOMAIN, domain)); return webSitesDao.findAll(page).getResult(); }
private void processFilterable(Page request) { Criterion filterable = valid.getFilterable(); if (filterable == null) { request.setFilterable(null); return; } if (request.getFilterable() == null) { return; } Set<String> allowedProperties = getAllowedProperties(); Criterion requestFilterable = request.getFilterable(); if (requestFilterable instanceof HasCriterionProperty) { HasCriterionProperty propertyAware = (HasCriterionProperty) requestFilterable; boolean contains = allowedProperties.contains(propertyAware .getProperty()); if (!contains) { request.setFilterable(null); } return; } else if (requestFilterable instanceof Junction) { Junction junction = (Junction) requestFilterable; visitJunction(allowedProperties, junction); } }
/** * Go to previous page. */ public void previous() { int currentIndex = page.getStartIndex(); currentIndex -= page.getPageSize(); currentIndex = (currentIndex < 0 ? 0 : currentIndex); fetch(new Page(currentIndex, page.getPageSize())); }
/** * Counted against total number of results available in a data source. * Counting starts from 1 not 0. * * @return A page number of current loaded paged results. */ public static int getCurrentPageNumber(Page page) { return page.getStartIndex() / page.getPageSize() + 1; }
/** * Go to first page. */ public void first() { fetch(new Page(0, page.getPageSize())); }
private JpaAclSecuredObjectIdentity findUnique(DetachedCriteria detachedCriteria) { List<JpaAclSecuredObjectIdentity> entries = findByCriteria(detachedCriteria, new Page(0, Page.ALL_RESULTS)); if (entries.size() == 0) { return null; } if (entries.size() == 1) { return entries.get(0); } throw new IllegalArgumentException("More than one unique records was found in database"); }
@Override public List<WebSitesData> getWebSites(String webId) { Page page = Page.ALL_RESULTS_PAGE; page.setFilterable(Filter.eq(HasWebId.WEB_ID).setValue(webId)); return webSitesDao.findAll(page).getResult(); }
private Set<String> getAllowedProperties() { if (allowedProperties != null) { return allowedProperties; } allowedProperties = new HashSet<String>(); Conjunction conjunction = (Conjunction) valid.getFilterable(); for (Criterion criterion : conjunction.getJunctions()) { SimpleExpression<?> property = (SimpleExpression<?>) criterion; allowedProperties.add(property.getProperty()); } return allowedProperties; } }
/** * @return True if results are from the first available page. */ public boolean isOnFirstPage() { return page.getStartIndex() == 0; }
private boolean retrieveAllResults(Page requestedPage) { return requestedPage.getPageSize() == Page.ALL_RESULTS; }
List<SortInfo> sortables = requestedPage.getSortables(); if (sortables == null || sortables.isEmpty()) { return; Class<?> projectableResultClass; try { projectableResultClass = Class.forName(requestedPage.getProjectableResult()); } catch (ClassNotFoundException e) { throw new RuntimeException("Unable to recreate class with string " + requestedPage.getProjectableResult() + " for projectables.");
private RootFindCommand<? extends T> applySortCriteria(RootFindCommand<? extends T> findCommand, Page page) { if (page.getSortables() == null) { return findCommand; } for (SortInfo sortInfo : page.getSortables()) { findCommand.addSort(sortInfo.getColumn(), sortInfo.isAscending() ? SortDirection.ASCENDING : SortDirection.DESCENDING); } return findCommand; }
@Override protected final PagedResult<List<E>> getPagedResult() { if (pagedResult == null) { fetchPage(new Page(0, defaultPageSize)); } return pagedResult; }
/** * Go to last page. */ public void last() { int pageSize = page.getPageSize(); int lastIndex = totalCount - 1; lastIndex = PagedList.getNearestIndexToPageSize(lastIndex, pageSize); fetch(new Page(lastIndex, page.getPageSize())); }
/** * @return True if results are from the last available page. */ public boolean isOnLastPage() { int pageSize = page.getPageSize(); int lastIndex = totalCount - 1; return PagedList.getNearestIndexToPageSize(lastIndex, pageSize) == page.getStartIndex(); }
/** * @param requestedPage * @param criteria * @param existingAliases */ private void enrichCriteriaWithFilterables(Page requestedPage, Criteria criteria, Set<String> existingAliases) { sk.seges.sesam.dao.Criterion filterable = requestedPage.getFilterable(); if (filterable == null) { return; } Class<?> resultClass = null; String className = null; try { if (criteria instanceof CriteriaImpl) { className = ((CriteriaImpl) criteria).getEntityOrClassName(); resultClass = Class.forName(className); } } catch (ClassNotFoundException e) { throw new RuntimeException("Unable to recreate class with string " + className + " for filterables."); } criteria.add(retrieveRestriction(filterable, criteria, existingAliases, resultClass)); }
@Override protected void fetch(Page page) { list.get(page.getStartIndex(), callback); }
public int getLastPageNumber() { return PagedList.getLastPageNumber(totalCount, page.getPageSize()); } }
private OpenIDUserData findOpenIdUser(String openId) { Page page = new Page(0, Page.ALL_RESULTS); page.setFilterable(Filter.eq("id").setValue(openId)); return openIdUserDao.findUnique(page); } }
public AclSecuredClassDescriptionData load(String className) { DetachedCriteria criteria = createCriteria(); criteria.add(Restrictions.eq(AclSecuredClassDescriptionData.CLASS_NAME, className)); List<JpaAclSecuredClassDescription> entries = findByCriteria(criteria, new Page(0, Page.ALL_RESULTS)); if (entries.size() == 0) { return null; } if (entries.size() == 1) { return entries.get(0); } throw new IllegalArgumentException("More than one unique secured classes found in database"); }