=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntity.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntity.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntity.java 2014-03-30 17:33:23 +0000 @@ -35,8 +35,6 @@ /** * @author Chau Thu Tran - * - * @version $ TrackedEntity.java Feb 14, 2014 11:52:47 PM $ */ @JacksonXmlRootElement( localName = "trackedEntity", namespace = DxfNamespaces.DXF_2_0 ) public class TrackedEntity === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java 2014-03-28 13:16:11 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java 2014-03-30 17:33:23 +0000 @@ -95,6 +95,11 @@ private OrganisationUnitSelectionMode organisationUnitMode; /** + * Indicates whether not to include meta data in the response. + */ + private boolean skipMeta; + + /** * Page number. */ private Integer page; @@ -103,7 +108,7 @@ * Page size. */ private Integer pageSize; - + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -341,6 +346,16 @@ this.organisationUnits = organisationUnits; } + public boolean isSkipMeta() + { + return skipMeta; + } + + public void setSkipMeta( boolean skipMeta ) + { + this.skipMeta = skipMeta; + } + public Integer getPage() { return page; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceService.java 2014-03-28 13:16:11 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceService.java 2014-03-30 17:33:23 +0000 @@ -74,12 +74,14 @@ * @param program the Program uid. * @param programStatus the ProgramStatus of the given Program. * @param trackedEntity the TrackedEntity uid. + * @param skipMeta indicates whether to include meta data in the response. * @param page the page number. * @param pageSize the page size. * @return a TrackedEntityInstanceQueryParams. */ TrackedEntityInstanceQueryParams getFromUrl( String query, Set attribute, Set filter, - Set ou, OrganisationUnitSelectionMode ouMode, String program, ProgramStatus programStatus, String trackedEntity, Integer page, Integer pageSize ); + Set ou, OrganisationUnitSelectionMode ouMode, String program, ProgramStatus programStatus, + String trackedEntity, boolean skipMeta, Integer page, Integer pageSize ); /** * Validates the given TrackedEntityInstanceQueryParams. The params is === modified file 'dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java' --- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java 2014-03-28 13:16:11 +0000 +++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java 2014-03-30 17:33:23 +0000 @@ -40,6 +40,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -209,8 +210,10 @@ // Grid rows // --------------------------------------------------------------------- + Set tes = new HashSet(); + for ( Map entity : entities ) - { + { grid.addRow(); grid.addValue( entity.get( TRACKED_ENTITY_INSTANCE_ID ) ); grid.addValue( entity.get( CREATED_ID ) ); @@ -218,12 +221,27 @@ grid.addValue( entity.get( ORG_UNIT_ID ) ); grid.addValue( entity.get( TRACKED_ENTITY_ID ) ); + tes.add( entity.get( TRACKED_ENTITY_ID ) ); + for ( QueryItem item : params.getAttributes() ) { grid.addValue( entity.get( item.getItemId() ) ); } } + if ( !params.isSkipMeta() ) + { + Map metaData = new HashMap(); + + for ( String te : tes ) + { + TrackedEntity entity = trackedEntityService.getTrackedEntity( te ); + metaData.put( te, entity != null ? entity.getDisplayName() : null ); + } + + grid.setMetaData( metaData ); + } + return grid; } @@ -263,7 +281,7 @@ @Override public TrackedEntityInstanceQueryParams getFromUrl( String query, Set attribute, Set filter, Set ou, - OrganisationUnitSelectionMode ouMode, String program, ProgramStatus programStatus, String trackedEntity, Integer page, Integer pageSize ) + OrganisationUnitSelectionMode ouMode, String program, ProgramStatus programStatus, String trackedEntity, boolean skipMeta, Integer page, Integer pageSize ) { TrackedEntityInstanceQueryParams params = new TrackedEntityInstanceQueryParams(); @@ -328,6 +346,7 @@ params.setProgramStatus( programStatus ); params.setTrackedEntity( te ); params.setOrganisationUnitMode( ouMode ); + params.setSkipMeta( skipMeta ); params.setPage( page ); params.setPageSize( pageSize ); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/TrackedEntityInstanceController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/TrackedEntityInstanceController.java 2014-03-28 13:16:11 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/TrackedEntityInstanceController.java 2014-03-30 17:33:23 +0000 @@ -106,13 +106,15 @@ @RequestParam(required=false) String program, @RequestParam(required=false) ProgramStatus programStatus, @RequestParam(required=false) String trackedEntity, + @RequestParam(required=false) boolean skipMeta, @RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize, Model model, HttpServletResponse response ) throws Exception { Set orgUnits = new HashSet( ContextUtils.getQueryParamValues( ou ) ); - TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, program, programStatus, trackedEntity, page, pageSize ); + TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, + program, programStatus, trackedEntity, skipMeta, page, pageSize ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_JSON, CacheStrategy.NO_CACHE ); Grid grid = instanceService.getTrackedEntityInstances( params ); @@ -132,13 +134,15 @@ @RequestParam(required=false) String program, @RequestParam(required=false) ProgramStatus programStatus, @RequestParam(required=false) String trackedEntity, + @RequestParam(required=false) boolean skipMeta, @RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize, Model model, HttpServletResponse response ) throws Exception { Set orgUnits = new HashSet( ContextUtils.getQueryParamValues( ou ) ); - TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, program, programStatus, trackedEntity, page, pageSize ); + TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, + program, programStatus, trackedEntity, skipMeta, page, pageSize ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.NO_CACHE ); Grid grid = instanceService.getTrackedEntityInstances( params ); @@ -155,13 +159,15 @@ @RequestParam(required=false) String program, @RequestParam(required=false) ProgramStatus programStatus, @RequestParam(required=false) String trackedEntity, + @RequestParam(required=false) boolean skipMeta, @RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize, Model model, HttpServletResponse response ) throws Exception { Set orgUnits = new HashSet( ContextUtils.getQueryParamValues( ou ) ); - TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, program, programStatus, trackedEntity, page, pageSize ); + TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, + program, programStatus, trackedEntity, skipMeta, page, pageSize ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_EXCEL, CacheStrategy.NO_CACHE ); Grid grid = instanceService.getTrackedEntityInstances( params ); @@ -178,13 +184,15 @@ @RequestParam(required=false) String program, @RequestParam(required=false) ProgramStatus programStatus, @RequestParam(required=false) String trackedEntity, + @RequestParam(required=false) boolean skipMeta, @RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize, Model model, HttpServletResponse response ) throws Exception { Set orgUnits = new HashSet( ContextUtils.getQueryParamValues( ou ) ); - TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, program, programStatus, trackedEntity, page, pageSize ); + TrackedEntityInstanceQueryParams params = instanceService.getFromUrl( query, attribute, filter, orgUnits, ouMode, + program, programStatus, trackedEntity, skipMeta, page, pageSize ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.NO_CACHE ); Grid grid = instanceService.getTrackedEntityInstances( params );