dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #24186
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11812: Event analytics, adding program and program stage name
------------------------------------------------------------
revno: 11812
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-08-27 11:01:06 +0200
message:
Event analytics, adding program and program stage name
modified:
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.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-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2013-08-27 09:01:06 +0000
@@ -31,9 +31,12 @@
import static org.hisp.dhis.analytics.DataQueryParams.OPTION_SEP;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
+import org.hisp.dhis.analytics.AnalyticsService;
import org.hisp.dhis.analytics.IllegalQueryException;
import org.hisp.dhis.analytics.event.EventAnalyticsManager;
import org.hisp.dhis.analytics.event.EventAnalyticsService;
@@ -104,20 +107,36 @@
grid.addHeader( new GridHeader( "Program stage", ITEM_PROGRAM_STAGE ) );
grid.addHeader( new GridHeader( "Execution date", ITEM_EXECUTION_DATE ) );
grid.addHeader( new GridHeader( "Organisation unit", ITEM_ORG_UNIT ) );
-
+
+ // ---------------------------------------------------------------------
+ // Headers
+ // ---------------------------------------------------------------------
+
for ( QueryItem queryItem : params.getItems() )
{
IdentifiableObject item = queryItem.getItem();
grid.addHeader( new GridHeader( item.getName(), item.getUid() ) );
}
-
+
+ // ---------------------------------------------------------------------
+ // Data
+ // ---------------------------------------------------------------------
+
List<EventQueryParams> queries = EventQueryPlanner.planQuery( params );
for ( EventQueryParams query : queries )
{
analyticsManager.getEvents( query, grid );
}
+
+ // ---------------------------------------------------------------------
+ // Meta-data
+ // ---------------------------------------------------------------------
+
+ Map<Object, Object> metaData = new HashMap<Object, Object>();
+ metaData.put( AnalyticsService.NAMES_META_KEY, getUidNameMap( params ) );
+ grid.setMetaData( metaData );
return grid;
}
@@ -240,6 +259,20 @@
return params;
}
+
+ // -------------------------------------------------------------------------
+ // Supportive methods
+ // -------------------------------------------------------------------------
+
+ private Map<String, String> getUidNameMap( EventQueryParams params )
+ {
+ Map<String, String> map = new HashMap<String, String>();
+
+ map.put( params.getProgram().getUid(), params.getProgram().getName() );
+ map.put( params.getProgramStage().getUid(), params.getProgramStage().getName() );
+
+ return map;
+ }
private String getSortItem( String item, Program program )
{