dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #28935
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14535: TEI query, meta data
------------------------------------------------------------
revno: 14535
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2014-03-30 19:33:23 +0200
message:
TEI query, meta data
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntity.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceQueryParams.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityInstanceService.java
dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityInstanceService.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/TrackedEntityInstanceController.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-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<String> attribute, Set<String> filter,
- Set<String> ou, OrganisationUnitSelectionMode ouMode, String program, ProgramStatus programStatus, String trackedEntity, Integer page, Integer pageSize );
+ Set<String> 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<String> tes = new HashSet<String>();
+
for ( Map<String, String> 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<Object, Object> metaData = new HashMap<Object, Object>();
+
+ 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<String> attribute, Set<String> filter, Set<String> 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<String> orgUnits = new HashSet<String>( 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<String> orgUnits = new HashSet<String>( 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<String> orgUnits = new HashSet<String>( 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<String> orgUnits = new HashSet<String>( 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 );