=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/program/ProgramDataElementController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/program/ProgramDataElementController.java 2016-01-04 02:27:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/program/ProgramDataElementController.java 2016-01-06 02:52:09 +0000 @@ -28,11 +28,11 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.List; - import org.hisp.dhis.program.ProgramDataElement; import org.hisp.dhis.program.ProgramService; import org.hisp.dhis.query.Order; +import org.hisp.dhis.query.Query; +import org.hisp.dhis.query.QueryParserException; import org.hisp.dhis.webapi.controller.AbstractCrudController; import org.hisp.dhis.webapi.webdomain.WebMetaData; import org.hisp.dhis.webapi.webdomain.WebOptions; @@ -40,6 +40,8 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import java.util.List; + /** * @author Lars Helge Overland */ @@ -50,12 +52,24 @@ { @Autowired private ProgramService programService; - + @Override - protected List getEntityList( WebMetaData metaData, WebOptions options, List filters, List orders ) + @SuppressWarnings( "unchecked" ) + protected List getEntityList( WebMetaData metaData, WebOptions options, List filters, List orders ) throws QueryParserException { - String programUid = options.get( "program" ); - - return programService.getGeneratedProgramDataElements( programUid ); + List programDataElements; + Query query = queryService.getQueryFromUrl( ProgramDataElement.class, filters, orders ); + query.setDefaultOrder(); + + if ( options.contains( "program" ) ) + { + String programUid = options.get( "program" ); + programDataElements = programService.getGeneratedProgramDataElements( programUid ); + query.setObjects( programDataElements ); + } + + programDataElements = (List) queryService.query( query ); + + return programDataElements; } }