revision-diff.txt (30.6 KB)
Lars,
Will this work as a sort of
···
On 26 August 2015 at 12:43, noreply@launchpad.net wrote:
revno: 19856
committer: Lars Helge Overland larshelge@gmail.com
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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format );
List getDimensionalObjects( Set 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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format )
public List getDimensionalObjects( Set 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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format )
public List getDimensionalObjects( Set 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 getGeoFeatures( String ou, DisplayProperty displayProperty,
private List 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@lists.launchpad.net
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@gmail.com
Skype: calle_hedberg
Lars,
Will this work as an “anchor date” which will determine other relative periods? So that if you last month of usable data is July-2015, then setting this anchor data to some date in July will result in “last 6 months” being Feb-Jul 2015 and
“last 6 months previous year” (if existing) being Feb-Jul 2014? We had this type of anchor date way back in the DHIS 1.3 report generator, and it was useful…
Regards
Calle
···
On 26 August 2015 at 13:41, Calle Hedberg calle.hedberg@gmail.com wrote:
Lars,
Will this work as a sort of
–
On 26 August 2015 at 12:43, noreply@launchpad.net wrote:
revno: 19856
committer: Lars Helge Overland larshelge@gmail.com
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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format );
List getDimensionalObjects( Set 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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format )
public List getDimensionalObjects( Set 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 getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format )
public List getDimensionalObjects( Set 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 getGeoFeatures( String ou, DisplayProperty displayProperty,
private List 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@lists.launchpad.net
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@gmail.com
Skype: calle_hedberg
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@gmail.com
Skype: calle_hedberg
Hi Calle,
···
On Wed, Aug 26, 2015 at 12:45 PM, Calle Hedberg calle.hedberg@gmail.com wrote:
Lars,
Will this work as an “anchor date” which will determine other relative periods? So that if you last month of usable data is July-2015, then setting this anchor data to some date in July will result in “last 6 months” being Feb-Jul 2015 and
“last 6 months previous year” (if existing) being Feb-Jul 2014? We had this type of anchor date way back in the DHIS 1.3 report generator, and it was useful…
yes that is correct.
The first application will be as a filter in the dashboard, to allow you to “rewind” time for dashboards which contain favorites with relative periods.
Lars
Hi,
excellent - only in 2.21, or will you add this to 2.20 and earlier versions too?
Regards
Calle
···
On 26 August 2015 at 14:08, Lars Helge Øverland larshelge@gmail.com wrote:
Hi Calle,
–
On Wed, Aug 26, 2015 at 12:45 PM, Calle Hedberg calle.hedberg@gmail.com wrote:
Lars,
Will this work as an “anchor date” which will determine other relative periods? So that if you last month of usable data is July-2015, then setting this anchor data to some date in July will result in “last 6 months” being Feb-Jul 2015 and
“last 6 months previous year” (if existing) being Feb-Jul 2014? We had this type of anchor date way back in the DHIS 1.3 report generator, and it was useful…
yes that is correct.
The first application will be as a filter in the dashboard, to allow you to “rewind” time for dashboards which contain favorites with relative periods.
Lars
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@gmail.com
Skype: calle_hedberg
We are aiming for 2.21 for this one.
Lars
···
On Wed, Aug 26, 2015 at 11:15 PM, Calle Hedberg calle.hedberg@gmail.com wrote:
Hi,
excellent - only in 2.21, or will you add this to 2.20 and earlier versions too?
Regards
Calle
–
On 26 August 2015 at 14:08, Lars Helge Øverland larshelge@gmail.com wrote:
Hi Calle,
–
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@gmail.com
Skype: calle_hedberg
On Wed, Aug 26, 2015 at 12:45 PM, Calle Hedberg calle.hedberg@gmail.com wrote:
Lars,
Will this work as an “anchor date” which will determine other relative periods? So that if you last month of usable data is July-2015, then setting this anchor data to some date in July will result in “last 6 months” being Feb-Jul 2015 and
“last 6 months previous year” (if existing) being Feb-Jul 2014? We had this type of anchor date way back in the DHIS 1.3 report generator, and it was useful…
yes that is correct.
The first application will be as a filter in the dashboard, to allow you to “rewind” time for dashboards which contain favorites with relative periods.
Lars
Lars Helge Øverland
Lead developer, DHIS 2
University of Oslo
Skype: larshelgeoverland