=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java 2015-02-25 06:53:42 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AbstractCrudController.java 2015-02-25 07:31:03 +0000 @@ -759,7 +759,6 @@ protected List getEntityList( WebMetaData metaData, WebOptions options, List filters, List orders ) { List entityList; - Query query = queryService.getQueryFromUrl( getEntityClass(), filters, orders ); query.setDefaultOrder(); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java 2015-02-20 09:14:02 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/organisationunit/OrganisationUnitController.java 2015-02-25 07:31:03 +0000 @@ -31,13 +31,13 @@ import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; import com.google.common.collect.Lists; - import org.hisp.dhis.common.Pager; import org.hisp.dhis.dxf2.common.TranslateOptions; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.organisationunit.comparator.OrganisationUnitByLevelComparator; import org.hisp.dhis.query.Order; +import org.hisp.dhis.query.Query; import org.hisp.dhis.schema.descriptors.OrganisationUnitSchemaDescriptor; import org.hisp.dhis.user.CurrentUserService; import org.hisp.dhis.user.User; @@ -55,7 +55,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -81,9 +80,12 @@ private CurrentUserService currentUserService; @Override + @SuppressWarnings( "unchecked" ) protected List getEntityList( WebMetaData metaData, WebOptions options, List filters, List orders ) { List entityList; + Query query = queryService.getQueryFromUrl( getEntityClass(), filters, orders ); + query.setDefaultOrder(); Integer level = options.getInt( "level" ); Integer maxLevel = options.getInt( "maxLevel" ); @@ -155,18 +157,20 @@ entityList = new ArrayList<>( manager.getAll( getEntityClass() ) ); Collections.sort( entityList, OrganisationUnitByLevelComparator.INSTANCE ); } - else if ( options.hasPaging() ) + else if ( options.hasPaging() && filters.isEmpty() ) { 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() ) ); + query.setFirstResult( pager.getOffset() ); + query.setMaxResults( pager.getPageSize() ); + entityList = (List) queryService.query( query ).getItems(); } else { - entityList = new ArrayList<>( manager.getAllSorted( getEntityClass() ) ); + entityList = (List) queryService.query( query ).getItems(); } return entityList; @@ -318,7 +322,7 @@ if ( includeProperties ) { Set roots = currentUserService.getCurrentUser().getDataViewOrganisationUnitsWithFallback(); - + generator.writeStringField( "code", organisationUnit.getCode() ); generator.writeStringField( "name", organisationUnit.getName() ); generator.writeStringField( "level", String.valueOf( organisationUnit.getLevel() ) );