dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #39160
Re: [Branch ~dhis2-devs-core/dhis2/trunk] Rev 19856: Analaytics, implementd query parameter relativePeriodDate which will be used as basis for relativ...
Lars,
Will this work as a sort of
On 26 August 2015 at 12:43, <noreply@xxxxxxxxxxxxx> wrote:
> ------------------------------------------------------------
> revno: 19856
> committer: Lars Helge Overland <larshelge@xxxxxxxxx>
> branch nick: dhis2
> timestamp: Wed 2015-08-26 11:42:00 +0200
> message:
> Analaytics, implementd query parameter relativePeriodDate which will be
> used as basis for relative periods in response
> modified:
>
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java
>
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java
>
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java
>
> dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/AnalyticsServiceTest.java
>
> dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/datasetreport/jdbc/AnalyticsDataSetReportStore.java
>
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AnalyticsController.java
>
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/mapping/GeoFeatureController.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/AnalyticsService.java'
> ---
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java
> 2015-08-04 11:09:17 +0000
> +++
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java
> 2015-08-26 09:42:00 +0000
> @@ -166,6 +166,7 @@
> * @param displayProperty the property to display for meta-data.
> * @param outputIdScheme the identifier scheme to use in the query
> response.
> * @param approvalLevel the approval level identifier.
> + * @param relativePeriodDate the date to use as basis for relative
> periods.
> * @param userOrgUnit the user organisation unit to use, overrides
> current user.
> * @param program the program identifier.
> * @param stage the program stage identifier.
> @@ -174,7 +175,7 @@
> */
> DataQueryParams getFromUrl( Set<String> dimensionParams, Set<String>
> filterParams, AggregationType aggregationType, String measureCriteria,
> boolean skipMeta, boolean skipData, boolean skipRounding, boolean
> hierarchyMeta, boolean ignoreLimit, boolean hideEmptyRows, boolean
> showHierarchy,
> - DisplayProperty displayProperty, IdentifiableProperty
> outputIdScheme, String approvalLevel, String userOrgUnit,
> + DisplayProperty displayProperty, IdentifiableProperty
> outputIdScheme, String approvalLevel, Date relativePeriodDate, String
> userOrgUnit,
> String program, String stage, I18nFormat format );
>
> /**
> @@ -190,12 +191,13 @@
> * Creates a list of DimensionalObject from the given set of
> dimension params.
> *
> * @param dimensionParams the dimension URL params.
> + * @param relativePeriodDate the date to use as basis for relative
> periods.
> * @param userOrgUnit the user organisation unit param, overrides
> current
> * user, can be null.
> * @param format the i18n format.
> * @return a list of DimensionalObject.
> */
> - List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, String userOrgUnit, I18nFormat format );
> + List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, Date relativePeriodDate, String userOrgUnit, I18nFormat
> format );
>
> /**
> * Returns a persisted DimensionalObject generated from the given
> dimension
>
> === modified file
> 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java'
> ---
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java
> 2015-08-21 01:47:02 +0000
> +++
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java
> 2015-08-26 09:42:00 +0000
> @@ -910,7 +910,7 @@
> public DataQueryParams getFromUrl( Set<String> dimensionParams,
> Set<String> filterParams, AggregationType aggregationType,
> String measureCriteria, boolean skipMeta, boolean skipData,
> boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit,
> boolean hideEmptyRows, boolean showHierarchy, DisplayProperty
> displayProperty, IdentifiableProperty outputIdScheme,
> - String approvalLevel, String userOrgUnit, String program, String
> stage, I18nFormat format )
> + String approvalLevel, Date relativePeriodDate, String
> userOrgUnit, String program, String stage, I18nFormat format )
> {
> DataQueryParams params = new DataQueryParams();
>
> @@ -919,12 +919,12 @@
>
> if ( dimensionParams != null && !dimensionParams.isEmpty() )
> {
> - params.addDimensions( getDimensionalObjects( dimensionParams,
> userOrgUnit, format ) );
> + params.addDimensions( getDimensionalObjects( dimensionParams,
> relativePeriodDate, userOrgUnit, format ) );
> }
>
> if ( filterParams != null && !filterParams.isEmpty() )
> {
> - params.getFilters().addAll( getDimensionalObjects(
> filterParams, userOrgUnit, format ) );
> + params.getFilters().addAll( getDimensionalObjects(
> filterParams, relativePeriodDate, userOrgUnit, format ) );
> }
>
> if ( measureCriteria != null && !measureCriteria.isEmpty() )
> @@ -988,7 +988,7 @@
> }
>
> @Override
> - public List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, String userOrgUnit, I18nFormat format )
> + public List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, Date relativePeriodDate, String userOrgUnit, I18nFormat
> format )
> {
> List<DimensionalObject> list = new ArrayList<>();
>
> @@ -1003,7 +1003,7 @@
>
> if ( dimension != null && items != null )
> {
> - list.add( getDimension( dimension, items, null,
> userOrgUnits, format, false ) );
> + list.add( getDimension( dimension, items,
> relativePeriodDate, userOrgUnits, format, false ) );
> }
> }
> }
>
> === modified file
> 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java'
> ---
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java
> 2015-08-04 11:09:17 +0000
> +++
> dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java
> 2015-08-26 09:42:00 +0000
> @@ -85,7 +85,7 @@
> @Override
> public DataQueryParams getFromUrl( Set<String> dimensionParams,
> Set<String> filterParams, AggregationType aggregationType,
> String measureCriteria, boolean skipMeta, boolean skipData,
> boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit, boolean
> hideEmptyRows,
> - boolean showHierarchy, DisplayProperty displayProperty,
> IdentifiableProperty idScheme, String approvalLevel, String userOrgUnit,
> + boolean showHierarchy, DisplayProperty displayProperty,
> IdentifiableProperty idScheme, String approvalLevel, Date
> relativePeriodDate, String userOrgUnit,
> String program, String stage, I18nFormat format )
> {
> throw new NotImplementedException( "" );
> @@ -98,7 +98,7 @@
> }
>
> @Override
> - public List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, String userOrgUnit, I18nFormat format )
> + public List<DimensionalObject> getDimensionalObjects( Set<String>
> dimensionParams, Date relateivePeriodDate, String userOrgUnit, I18nFormat
> format )
> {
> throw new NotImplementedException( "" );
> }
>
> === modified file
> 'dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/AnalyticsServiceTest.java'
> ---
> dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/AnalyticsServiceTest.java
> 2015-08-04 11:09:17 +0000
> +++
> dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/AnalyticsServiceTest.java
> 2015-08-26 09:42:00 +0000
> @@ -193,7 +193,7 @@
> filterParams.add( "ou:" + ouA.getUid() + ";" + ouB.getUid() + ";"
> + ouC.getUid() + ";" + ouD.getUid() + ";" + ouE.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 4, params.getDataElements().size() );
> assertEquals( 3, params.getPeriods().size() );
> @@ -211,7 +211,7 @@
> filterParams.add( "ou:" + ouA.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 4, params.getDataElements().size() );
> assertEquals( 1, params.getFilterOrganisationUnits().size() );
> @@ -227,7 +227,7 @@
> filterParams.add( "ou:" + ouA.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 2, params.getDataElements().size() );
> assertEquals( 2, params.getProgramDataElements().size() );
> @@ -244,7 +244,7 @@
> filterParams.add( "ou:" + ouA.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 2, params.getDataElements().size() );
> assertEquals( 2, params.getProgramAttributes().size() );
> @@ -263,7 +263,7 @@
> filterParams.add( "ou:" + ouA.getUid() + ";" + ouB.getUid() + ";"
> + ouC.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 3, params.getDataElements().size() );
> assertEquals( 2, params.getPeriods().size() );
> @@ -282,7 +282,7 @@
> filterParams.add( "ou:" + ouA.getUid() + ";" + ouB.getUid() );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, filterParams, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 4, params.getDataElements().size() );
> assertEquals( 12, params.getPeriods().size() );
> @@ -298,7 +298,7 @@
> dimensionParams.add( "pe:2011;2012" );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 1, params.getOrganisationUnits().size() );
> assertEquals( 2, params.getDataElements().size() );
> @@ -314,7 +314,7 @@
> dimensionParams.add( "pe:2011;2012" );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 3, params.getOrganisationUnits().size() );
> assertEquals( 2, params.getDataElements().size() );
> @@ -330,7 +330,7 @@
> dimensionParams.add( "pe:2011;2012" );
>
> DataQueryParams params = analyticsService.getFromUrl(
> dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
>
> assertEquals( 2, params.getOrganisationUnits().size() );
> assertEquals( 2, params.getDataElements().size() );
> @@ -345,7 +345,7 @@
> dimensionParams.add( "pe:2012,2012S1,2012S2" );
>
> analyticsService.getFromUrl( dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
> }
>
> @Test( expected = IllegalQueryException.class )
> @@ -356,7 +356,7 @@
> dimensionParams.add( "pe" );
>
> analyticsService.getFromUrl( dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
> }
>
> @Test( expected = IllegalQueryException.class )
> @@ -367,7 +367,7 @@
> dimensionParams.add( "ou" );
>
> analyticsService.getFromUrl( dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
> }
>
> @Test( expected = IllegalQueryException.class )
> @@ -378,7 +378,7 @@
> dimensionParams.add( "yebo:2012,2012S1,2012S2" );
>
> analyticsService.getFromUrl( dimensionParams, null, null, null,
> - false, false, false, false, false, false, false, null, null,
> null, null, null, null, null );
> + false, false, false, false, false, false, false, null, null,
> null, null, null, null, null, null );
> }
>
> @Test
>
> === modified file
> 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/datasetreport/jdbc/AnalyticsDataSetReportStore.java'
> ---
> dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/datasetreport/jdbc/AnalyticsDataSetReportStore.java
> 2015-08-03 12:01:11 +0000
> +++
> dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/datasetreport/jdbc/AnalyticsDataSetReportStore.java
> 2015-08-26 09:42:00 +0000
> @@ -88,7 +88,7 @@
>
> if ( dimensions != null )
> {
> - params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null ) );
> + params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null, null ) );
> }
>
> Map<String, Object> map =
> analyticsService.getAggregatedDataValueMapping( params );
> @@ -137,7 +137,7 @@
>
> if ( dimensions != null )
> {
> - params.setFilters(
> analyticsService.getDimensionalObjects( dimensions, null, null ) );
> + params.setFilters(
> analyticsService.getDimensionalObjects( dimensions, null, null, null ) );
> }
>
> Map<String, Object> map =
> analyticsService.getAggregatedDataValueMapping( params );
> @@ -173,7 +173,7 @@
>
> if ( dimensions != null )
> {
> - params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null ) );
> + params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null, null ) );
> }
>
> Map<String, Object> map =
> analyticsService.getAggregatedDataValueMapping( params );
> @@ -207,7 +207,7 @@
>
> if ( dimensions != null )
> {
> - params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null ) );
> + params.setFilters( analyticsService.getDimensionalObjects(
> dimensions, null, null, null ) );
> }
>
> Map<String, Object> map =
> analyticsService.getAggregatedDataValueMapping( params );
>
> === modified file
> 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AnalyticsController.java'
> ---
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AnalyticsController.java
> 2015-08-04 11:09:17 +0000
> +++
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AnalyticsController.java
> 2015-08-26 09:42:00 +0000
> @@ -30,6 +30,7 @@
>
> import static
> org.hisp.dhis.common.DimensionalObjectUtils.getItemsFromParam;
>
> +import java.util.Date;
> import java.util.Set;
>
> import javax.servlet.http.HttpServletResponse;
> @@ -91,6 +92,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -100,7 +102,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_JSON, CacheStrategy.RESPECT_SYSTEM_SETTING );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -126,6 +128,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -135,7 +138,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -159,6 +162,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -168,7 +172,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -192,6 +196,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -201,7 +206,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -225,6 +230,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -234,7 +240,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING,
> "data.csv", true );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -258,6 +264,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -267,7 +274,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_EXCEL, CacheStrategy.RESPECT_SYSTEM_SETTING,
> "data.xls", true );
> Grid grid = analyticsService.getAggregatedDataValues( params,
> tableLayout, getItemsFromParam( columns ), getItemsFromParam( rows ) );
> @@ -291,6 +298,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) Integer approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -300,7 +308,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, null, null,
> - true, false, false, false, false, false, false, null, null,
> null, null, null, null, i18nManager.getI18nFormat() );
> + true, false, false, false, false, false, false, null, null,
> null, null, null, null, null, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING,
> "data.jrxml", false );
> Grid grid = analyticsService.getAggregatedDataValues( params );
> @@ -325,6 +333,7 @@
> @RequestParam( required = false ) DisplayProperty displayProperty,
> @RequestParam( required = false ) IdentifiableProperty
> outputIdScheme,
> @RequestParam( required = false ) String approvalLevel,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( required = false ) String program,
> @RequestParam( required = false ) String stage,
> @@ -334,7 +343,7 @@
> HttpServletResponse response ) throws Exception
> {
> DataQueryParams params = analyticsService.getFromUrl( dimension,
> filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding,
> hierarchyMeta,
> - ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, userOrgUnit, program, stage,
> i18nManager.getI18nFormat() );
> + ignoreLimit, hideEmptyRows, showHierarchy, displayProperty,
> outputIdScheme, approvalLevel, relativePeriodDate, userOrgUnit, program,
> stage, i18nManager.getI18nFormat() );
>
> contextUtils.configureResponse( response,
> ContextUtils.CONTENT_TYPE_TEXT, CacheStrategy.NO_CACHE, "debug.sql", false
> );
> return AnalyticsUtils.getDebugDataSql( params );
>
> === modified file
> 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/mapping/GeoFeatureController.java'
> ---
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/mapping/GeoFeatureController.java
> 2015-08-05 14:30:34 +0000
> +++
> dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/mapping/GeoFeatureController.java
> 2015-08-26 09:42:00 +0000
> @@ -32,6 +32,7 @@
> import java.util.ArrayList;
> import java.util.Collections;
> import java.util.Comparator;
> +import java.util.Date;
> import java.util.HashSet;
> import java.util.List;
> import java.util.Map;
> @@ -100,6 +101,7 @@
> public void getGeoFeaturesJson(
> @RequestParam String ou,
> @RequestParam( required = false ) DisplayProperty displayProperty,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( defaultValue = "false", value = "includeGroupSets"
> ) boolean rpIncludeGroupSets,
> @RequestParam Map<String, String> parameters,
> @@ -108,7 +110,7 @@
> WebOptions options = new WebOptions( parameters );
> boolean includeGroupSets = "detailed".equals(
> options.getViewClass() ) || rpIncludeGroupSets;
>
> - List<GeoFeature> features = getGeoFeatures( ou, displayProperty,
> userOrgUnit, request, response, includeGroupSets );
> + List<GeoFeature> features = getGeoFeatures( ou, displayProperty,
> relativePeriodDate, userOrgUnit, request, response, includeGroupSets );
>
> if ( features == null )
> {
> @@ -123,6 +125,7 @@
> public void getGeoFeaturesJsonP(
> @RequestParam String ou,
> @RequestParam( required = false ) DisplayProperty displayProperty,
> + @RequestParam( required = false ) Date relativePeriodDate,
> @RequestParam( required = false ) String userOrgUnit,
> @RequestParam( defaultValue = "callback" ) String callback,
> @RequestParam( defaultValue = "false", value = "includeGroupSets"
> ) boolean rpIncludeGroupSets,
> @@ -132,7 +135,7 @@
> WebOptions options = new WebOptions( parameters );
> boolean includeGroupSets = "detailed".equals(
> options.getViewClass() ) || rpIncludeGroupSets;
>
> - List<GeoFeature> features = getGeoFeatures( ou, displayProperty,
> userOrgUnit, request, response, includeGroupSets );
> + List<GeoFeature> features = getGeoFeatures( ou, displayProperty,
> relativePeriodDate, userOrgUnit, request, response, includeGroupSets );
>
> if ( features == null )
> {
> @@ -153,20 +156,21 @@
> *
> * @param ou the organisation unit parameter.
> * @param displayProperty the display property.
> + * @param relativePeriodDate the date to use as basis for relative
> periods.
> * @param userOrgUnit the user organisation unit parameter.
> * @param request the HTTP request.
> * @param response the HTTP response.
> * @param includeGroupSets whether to include organisation unit group
> sets.
> * @return a list of geo features or null.
> */
> - private List<GeoFeature> getGeoFeatures( String ou, DisplayProperty
> displayProperty,
> + private List<GeoFeature> getGeoFeatures( String ou, DisplayProperty
> displayProperty, Date relativePeriodDate,
> String userOrgUnit, HttpServletRequest request,
> HttpServletResponse response, boolean includeGroupSets )
> {
> Set<String> set = new HashSet<>();
> set.add( ou );
>
> DataQueryParams params = analyticsService.getFromUrl( set, null,
> AggregationType.SUM, null,
> - false, false, false, false, false, false, false,
> displayProperty, null, null, userOrgUnit, null, null, null );
> + false, false, false, false, false, false, false,
> displayProperty, null, null, relativePeriodDate, userOrgUnit, null, null,
> null );
>
> DimensionalObject dim = params.getDimension(
> DimensionalObject.ORGUNIT_DIM_ID );
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help : https://help.launchpad.net/ListHelp
>
>
--
*******************************************
Calle Hedberg
46D Alma Road, 7700 Rosebank, SOUTH AFRICA
Tel/fax (home): +27-21-685-6472
Cell: +27-82-853-5352
Iridium SatPhone: +8816-315-19274
Email: calle.hedberg@xxxxxxxxx
Skype: calle_hedberg
*******************************************
Follow ups
References