------------------------------------------------------------ revno: 19531 committer: Morten Olav Hansen <morte...@gmail.com> branch nick: dhis2 timestamp: Fri 2015-07-03 11:08:33 +0700 message: bugfix for ProgramStageController and filtering modified: dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java 2015-02-20 09:14:02 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/ProgramStageController.java 2015-07-03 04:08:33 +0000 @@ -34,6 +34,7 @@ import org.hisp.dhis.program.ProgramService; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.query.Order; +import org.hisp.dhis.query.Query; import org.hisp.dhis.schema.descriptors.ProgramStageSchemaDescriptor; import org.hisp.dhis.webapi.controller.AbstractCrudController; import org.hisp.dhis.webapi.webdomain.WebMetaData; @@ -62,23 +63,18 @@ } @Override + @SuppressWarnings( "unchecked" ) protected List<ProgramStage> getEntityList( WebMetaData metaData, WebOptions options, List<String> filters, List<Order> orders ) { List<ProgramStage> entityList = new ArrayList<>(); + boolean haveFilters = !filters.isEmpty(); + Query query = queryService.getQueryFromUrl( getEntityClass(), filters, orders ); + query.setDefaultOrder(); if ( options.getOptions().containsKey( "query" ) ) { entityList = Lists.newArrayList( manager.filter( getEntityClass(), options.getOptions().get( "query" ) ) ); } - else if ( options.hasPaging() ) - { - int count = manager.getCount( getEntityClass() ); - - Pager pager = new Pager( options.getPage(), count, options.getPageSize() ); - metaData.setPager( pager ); - - entityList = new ArrayList<>( manager.getBetweenSorted( getEntityClass(), pager.getOffset(), pager.getPageSize() ) ); - } else if ( options.getOptions().containsKey( "program" ) ) { String programId = options.getOptions().get( "program" ); @@ -89,9 +85,20 @@ entityList = new ArrayList<>( program.getProgramStages() ); } } + else if ( options.hasPaging() && !haveFilters ) + { + int count = queryService.count( query ); + + Pager pager = new Pager( options.getPage(), count, options.getPageSize() ); + metaData.setPager( pager ); + + query.setFirstResult( pager.getOffset() ); + query.setMaxResults( pager.getPageSize() ); + entityList = (List<ProgramStage>) queryService.query( query ).getItems(); + } else { - entityList = new ArrayList<>( manager.getAllSorted( getEntityClass() ) ); + entityList = (List<ProgramStage>) queryService.query( query ).getItems(); } return entityList;
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp