=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/EventAnalyticsController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/EventAnalyticsController.java 2013-10-08 17:16:47 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/EventAnalyticsController.java 2013-10-16 16:11:12 +0000 @@ -114,6 +114,27 @@ Grid grid = analyticsService.getAggregatedEventData( params ); GridUtils.toXls( grid, response.getOutputStream() ); } + + @RequestMapping( value = RESOURCE_PATH + "/aggregate/{program}.csv", method = RequestMethod.GET ) + public void getAggregateCsv( + @PathVariable String program, + @RequestParam(required=false) String stage, + @RequestParam(required=false) String startDate, + @RequestParam(required=false) String endDate, + @RequestParam Set dimension, + @RequestParam(required=false) Set filter, + @RequestParam(required=false) boolean hierarchyMeta, + @RequestParam(required=false) Integer limit, + @RequestParam(required=false) SortOrder sortOrder, + Model model, + HttpServletResponse response ) throws Exception + { + EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, hierarchyMeta, sortOrder, limit, i18nManager.getI18nFormat() ); + + contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.csv", true ); + Grid grid = analyticsService.getAggregatedEventData( params ); + GridUtils.toXls( grid, response.getOutputStream() ); + } // ------------------------------------------------------------------------- // Query