/** * Returns the offset based on the page number and page size. */ public int getOffset() { return (getPageWithDefault() - 1) * getPageSizeWithDefault(); }
@Override @SuppressWarnings( "unchecked" ) public List<ProgramInstance> getProgramInstances( ProgramInstanceQueryParams params ) { String hql = buildProgramInstanceHql( params ); Query query = getQuery( hql ); if ( params.isPaging() ) { query.setFirstResult( params.getOffset() ); query.setMaxResults( params.getPageSizeWithDefault() ); } return query.list(); }
@Override public Enrollments getEnrollments( ProgramInstanceQueryParams params ) { Enrollments enrollments = new Enrollments(); if ( !params.isPaging() && !params.isSkipPaging() ) { params.setDefaultPaging(); } if ( params.isPaging() ) { int count = 0; if ( params.isTotalPages() ) { count = programInstanceService.countProgramInstances( params ); } Pager pager = new Pager( params.getPageWithDefault(), count, params.getPageSizeWithDefault() ); enrollments.setPager( pager ); } List<ProgramInstance> programInstances = programInstanceService.getProgramInstances( params ); enrollments.setEnrollments( getEnrollments( programInstances ) ); return enrollments; }