← Back to team overview

dhis2-devs team mailing list archive

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