=== 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-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java 2015-08-04 11:09:17 +0000 @@ -153,6 +153,7 @@ * @param aggregationType the aggregation type. * @param measureCriteria the measure criteria. * @param skipMeta whether to skip the meta data part of the response. + * @param skipData whether to skip the data part of the response. * @param skipRounding whether to skip rounding and provide full precision * for values. * @param hierarchyMeta whether to include meta data about the organisation @@ -172,7 +173,7 @@ * @return a data query parameter object created based on the given URL info. */ DataQueryParams getFromUrl( Set dimensionParams, Set filterParams, AggregationType aggregationType, String measureCriteria, - boolean skipMeta, boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit, boolean hideEmptyRows, boolean showHierarchy, + 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 ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2015-08-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2015-08-04 11:09:17 +0000 @@ -144,6 +144,11 @@ * Indicates if the meta data part of the query response should be omitted. */ protected boolean skipMeta; + + /** + * Indicates if the data part of the query response should be omitted. + */ + protected boolean skipData; /** * Indicates that full precision should be provided for values. @@ -264,6 +269,7 @@ params.aggregationType = this.aggregationType; params.measureCriteria = this.measureCriteria; params.skipMeta = this.skipMeta; + params.skipData = this.skipData; params.skipRounding = this.skipRounding; params.hierarchyMeta = this.hierarchyMeta; params.ignoreLimit = this.ignoreLimit; @@ -1290,6 +1296,16 @@ this.skipMeta = skipMeta; } + public boolean isSkipData() + { + return skipData; + } + + public void setSkipData( boolean skipData ) + { + this.skipData = skipData; + } + public boolean isSkipRounding() { return skipRounding; @@ -1686,6 +1702,11 @@ return ImmutableList.copyOf( DimensionalObjectUtils.getByDataDimensionType( DataDimensionItemType.PROGRAM_ATTRIBUTE, getDimensionOptions( DATA_X_DIM_ID ) ) ); } + public List getProgramDataElementsAndAttributes() + { + return ListUtils.union( getProgramDataElements(), getProgramAttributes() ); + } + public void setProgramAttributes( List programAttributes ) { setDataDimensionOptions( DataDimensionItemType.PROGRAM_ATTRIBUTE, programAttributes ); === 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-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2015-08-04 11:09:17 +0000 @@ -274,12 +274,15 @@ */ private void addHeaders( DataQueryParams params, Grid grid ) { - for ( DimensionalObject col : params.getDimensions() ) + if ( !params.isSkipData() ) { - grid.addHeader( new GridHeader( col.getDimension(), col.getDisplayName(), String.class.getName(), false, true ) ); + for ( DimensionalObject col : params.getDimensions() ) + { + grid.addHeader( new GridHeader( col.getDimension(), col.getDisplayName(), String.class.getName(), false, true ) ); + } + + grid.addHeader( new GridHeader( DataQueryParams.VALUE_ID, VALUE_HEADER_NAME, Double.class.getName(), false, false ) ); } - - grid.addHeader( new GridHeader( DataQueryParams.VALUE_ID, VALUE_HEADER_NAME, Double.class.getName(), false, false ) ); } /** @@ -291,7 +294,7 @@ */ private void addIndicatorValues( DataQueryParams params, Grid grid ) { - if ( !params.getIndicators().isEmpty() ) + if ( !params.getIndicators().isEmpty() && !params.isSkipData() ) { DataQueryParams dataSourceParams = params.instance(); dataSourceParams.retainDataDimension( DataDimensionItemType.INDICATOR ); @@ -361,7 +364,7 @@ */ private void addDataElementValues( DataQueryParams params, Grid grid ) { - if ( !params.getDataElements().isEmpty() ) + if ( !params.getDataElements().isEmpty() && !params.isSkipData() ) { DataQueryParams dataSourceParams = params.instance(); dataSourceParams.retainDataDimension( DataDimensionItemType.AGGREGATE_DATA_ELEMENT ); @@ -386,7 +389,7 @@ */ private void addDataElementOperands( DataQueryParams params, Grid grid ) { - if ( !params.getDataElementOperands().isEmpty() ) + if ( !params.getDataElementOperands().isEmpty() && !params.isSkipData() ) { DataQueryParams dataSourceParams = params.instance(); dataSourceParams.retainDataDimension( DataDimensionItemType.DATA_ELEMENT_OPERAND ); @@ -434,7 +437,7 @@ */ private void addDataSetValues( DataQueryParams params, Grid grid ) { - if ( !params.getDataSets().isEmpty() ) + if ( !params.getDataSets().isEmpty() && !params.isSkipData() ) { // ----------------------------------------------------------------- // Get complete data set registrations @@ -512,7 +515,7 @@ */ private void addProgramIndicatorValues( DataQueryParams params, Grid grid ) { - if ( !params.getProgramIndicators().isEmpty() ) + if ( !params.getProgramIndicators().isEmpty() && !params.isSkipData() ) { // ----------------------------------------------------------------- // Run queries with different filter expression separately @@ -579,7 +582,7 @@ */ private void addProgramDataElementAttributeValues( DataQueryParams params, Grid grid ) { - if ( !params.getProgramDataElements().isEmpty() || !params.getProgramAttributes().isEmpty() ) + if ( !params.getProgramDataElementsAndAttributes().isEmpty() && !params.isSkipData() ) { DataQueryParams dataSourceParams = params.instance(); dataSourceParams.retainDataDimensions( DataDimensionItemType.PROGRAM_DATA_ELEMENT, DataDimensionItemType.PROGRAM_ATTRIBUTE ); @@ -602,7 +605,7 @@ */ private void addDynamicDimensionValues( DataQueryParams params, Grid grid ) { - if ( params.getDataDimensionAndFilterOptions().isEmpty() ) + if ( params.getDataDimensionAndFilterOptions().isEmpty() && !params.isSkipData() ) { Map aggregatedDataMap = getAggregatedDataValueMap( params.instance() ); @@ -971,7 +974,7 @@ @Override public DataQueryParams getFromUrl( Set dimensionParams, Set filterParams, AggregationType aggregationType, - String measureCriteria, boolean skipMeta, boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit, + 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 ) { @@ -996,6 +999,7 @@ } params.setSkipMeta( skipMeta ); + params.setSkipData( skipData ); params.setSkipRounding( skipRounding ); params.setHierarchyMeta( hierarchyMeta ); params.setHideEmptyRows( hideEmptyRows ); === 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-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java 2015-08-04 11:09:17 +0000 @@ -61,13 +61,13 @@ @Override public Grid getAggregatedDataValues( DataQueryParams params ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } @Override public Grid getAggregatedDataValues( DataQueryParams params, boolean tableLayout, List columns, List rows ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } @Override @@ -84,29 +84,29 @@ @Override public DataQueryParams getFromUrl( Set dimensionParams, Set filterParams, AggregationType aggregationType, - String measureCriteria, boolean skipMeta, boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit, boolean hideEmptyRows, + String measureCriteria, boolean skipMeta, boolean skipData, boolean skipRounding, boolean hierarchyMeta, boolean ignoreLimit, boolean hideEmptyRows, boolean showHierarchy, DisplayProperty displayProperty, IdentifiableProperty idScheme, String approvalLevel, String userOrgUnit, String program, String stage, I18nFormat format ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } @Override public DataQueryParams getFromAnalyticalObject( AnalyticalObject object, I18nFormat format ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } @Override public List getDimensionalObjects( Set dimensionParams, String userOrgUnit, I18nFormat format ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } @Override public DimensionalObject getDimension( String dimension, List items, Date relativePeriodDate, List userOrgUnits, I18nFormat format, boolean allowNull ) { - throw new NotImplementedException(""); + throw new NotImplementedException( "" ); } } === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java 2015-06-13 21:26:59 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java 2015-08-04 11:09:17 +0000 @@ -61,7 +61,8 @@ * @param filter the set of filters. * @param value the value dimension identifier. * @param aggregationType the aggregation type for the value dimension. - * @param skipMeta whether to skip meta-data in response. + * @param skipMeta whether to skip meta-data in the response. + * @param skipData whether to skip data in the response. * @param skipRounding whether to skip rounding of values in response. * @param hierarchyMeta whether to include hierarchy meta-data in the response. * @param showHierarchy whether to include hierarchy meta-data names in the response. @@ -75,7 +76,7 @@ */ EventQueryParams getFromUrl( String program, String stage, String startDate, String endDate, Set dimension, Set filter, String value, AggregationType aggregationType, - boolean skipMeta, boolean skipRounding, boolean hierarchyMeta, boolean showHierarchy, SortOrder sortOrder, Integer limit, + boolean skipMeta, boolean skipData, boolean skipRounding, boolean hierarchyMeta, boolean showHierarchy, SortOrder sortOrder, Integer limit, EventOutputType outputType, boolean collapseDataDimensions, boolean aggregateData, DisplayProperty displayProperty, I18nFormat format ); /** @@ -90,7 +91,8 @@ * @param ouMode the organisation unit mode. * @param asc the dimensions to be sorted ascending. * @param desc the dimensions to be sorted descending. - * @param skipMeta whether to skip meta-data in response. + * @param skipMeta whether to skip meta-data in the response. + * @param skipData whether to skip data in the response. * @param hierarchyMeta whether to include hierarchy meta-data in the response. * @param coordinatesOnly whether to only return events which have coordinates. * @param displayProperty the display property to use for meta-data. @@ -99,7 +101,7 @@ * @param format the i18n format. */ EventQueryParams getFromUrl( String program, String stage, String startDate, String endDate, Set dimension, Set filter, - String ouMode, Set asc, Set desc, boolean skipMeta, boolean hierarchyMeta, boolean coordinatesOnly, + String ouMode, Set asc, Set desc, boolean skipMeta, boolean skipData, boolean hierarchyMeta, boolean coordinatesOnly, DisplayProperty displayProperty, Integer page, Integer pageSize, I18nFormat format ); EventQueryParams getFromAnalyticalObject( EventAnalyticalObject object, I18nFormat format ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2015-08-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2015-08-04 11:09:17 +0000 @@ -159,6 +159,7 @@ // EventAnalyticsService implementation // ------------------------------------------------------------------------- + // TODO use ValueType for type in grid headers // TODO order event analytics tables on execution date to avoid default // TODO sorting in queries @@ -174,66 +175,71 @@ int maxLimit = queryPlanner.getMaxLimit(); // --------------------------------------------------------------------- - // Headers - // --------------------------------------------------------------------- - - if ( params.isCollapseDataDimensions() || params.isAggregateData() ) - { - grid.addHeader( new GridHeader( DimensionalObject.DATA_COLLAPSED_DIM_ID, DataQueryParams.DISPLAY_NAME_DATA_X, String.class.getName(), false, true ) ); - } - else - { - for ( QueryItem item : params.getItems() ) - { - //TODO use ValueType for type - - String legendSet = item.hasLegendSet() ? item.getLegendSet().getUid() : null; - - grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName(), item.getTypeAsString(), false, true, item.getOptionSetUid(), legendSet ) ); - } - } - - for ( DimensionalObject dimension : params.getDimensions() ) - { - grid.addHeader( new GridHeader( dimension.getDimension(), dimension.getDisplayName(), String.class.getName(), false, true ) ); - } - - grid.addHeader( new GridHeader( "value", "Value", Double.class.getName(), false, false ) ); - - // --------------------------------------------------------------------- - // Data - // --------------------------------------------------------------------- - - Timer t = new Timer().start().disablePrint(); - - List queries = queryPlanner.planAggregateQuery( params ); - - t.getSplitTime( "Planned event query, got partitions: " + params.getPartitions() ); - - for ( EventQueryParams query : queries ) - { - analyticsManager.getAggregatedEventData( query, grid, maxLimit ); - } - - t.getTime( "Got aggregated events" ); - - if ( maxLimit > 0 && grid.getHeight() > maxLimit ) - { - throw new IllegalQueryException( "Number of rows produced by query is larger than the max limit: " + maxLimit ); - } - - // --------------------------------------------------------------------- - // Limit and sort - done again due to potential multiple partitions - // --------------------------------------------------------------------- - - if ( params.hasSortOrder() ) - { - grid.sortGrid( 1, params.getSortOrderAsInt() ); - } - - if ( params.hasLimit() && grid.getHeight() > params.getLimit() ) - { - grid.limitGrid( params.getLimit() ); + // Headers and data + // --------------------------------------------------------------------- + + if ( !params.isSkipData() ) + { + // ----------------------------------------------------------------- + // Headers + // ----------------------------------------------------------------- + + if ( params.isCollapseDataDimensions() || params.isAggregateData() ) + { + grid.addHeader( new GridHeader( DimensionalObject.DATA_COLLAPSED_DIM_ID, DataQueryParams.DISPLAY_NAME_DATA_X, String.class.getName(), false, true ) ); + } + else + { + for ( QueryItem item : params.getItems() ) + { + String legendSet = item.hasLegendSet() ? item.getLegendSet().getUid() : null; + + grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName(), item.getTypeAsString(), false, true, item.getOptionSetUid(), legendSet ) ); + } + } + + for ( DimensionalObject dimension : params.getDimensions() ) + { + grid.addHeader( new GridHeader( dimension.getDimension(), dimension.getDisplayName(), String.class.getName(), false, true ) ); + } + + grid.addHeader( new GridHeader( "value", "Value", Double.class.getName(), false, false ) ); + + // ----------------------------------------------------------------- + // Data + // ----------------------------------------------------------------- + + Timer t = new Timer().start().disablePrint(); + + List queries = queryPlanner.planAggregateQuery( params ); + + t.getSplitTime( "Planned event query, got partitions: " + params.getPartitions() ); + + for ( EventQueryParams query : queries ) + { + analyticsManager.getAggregatedEventData( query, grid, maxLimit ); + } + + t.getTime( "Got aggregated events" ); + + if ( maxLimit > 0 && grid.getHeight() > maxLimit ) + { + throw new IllegalQueryException( "Number of rows produced by query is larger than the max limit: " + maxLimit ); + } + + // ----------------------------------------------------------------- + // Limit and sort, done again due to potential multiple partitions + // ----------------------------------------------------------------- + + if ( params.hasSortOrder() ) + { + grid.sortGrid( 1, params.getSortOrderAsInt() ); + } + + if ( params.hasLimit() && grid.getHeight() > params.getLimit() ) + { + grid.limitGrid( params.getLimit() ); + } } // --------------------------------------------------------------------- @@ -369,12 +375,12 @@ @Override public EventQueryParams getFromUrl( String program, String stage, String startDate, String endDate, - Set dimension, Set filter, String value, AggregationType aggregationType, boolean skipMeta, boolean skipRounding, boolean hierarchyMeta, - boolean showHierarchy, SortOrder sortOrder, Integer limit, EventOutputType outputType, boolean collapseDataDimensions, + Set dimension, Set filter, String value, AggregationType aggregationType, boolean skipMeta, boolean skipData, boolean skipRounding, + boolean hierarchyMeta, boolean showHierarchy, SortOrder sortOrder, Integer limit, EventOutputType outputType, boolean collapseDataDimensions, boolean aggregateData, DisplayProperty displayProperty, I18nFormat format ) { EventQueryParams params = getFromUrl( program, stage, startDate, endDate, dimension, filter, null, null, null, - skipMeta, hierarchyMeta, false, displayProperty, null, null, format ); + skipMeta, skipData, hierarchyMeta, false, displayProperty, null, null, format ); params.setValue( getValueDimension( value ) ); params.setAggregationType( aggregationType ); @@ -392,7 +398,7 @@ @Override public EventQueryParams getFromUrl( String program, String stage, String startDate, String endDate, Set dimension, Set filter, String ouMode, Set asc, Set desc, - boolean skipMeta, boolean hierarchyMeta, boolean coordinatesOnly, DisplayProperty displayProperty, Integer page, Integer pageSize, I18nFormat format ) + boolean skipMeta, boolean skipData, boolean hierarchyMeta, boolean coordinatesOnly, DisplayProperty displayProperty, Integer page, Integer pageSize, I18nFormat format ) { EventQueryParams params = new EventQueryParams(); @@ -486,6 +492,7 @@ params.setEndDate( end ); params.setOrganisationUnitMode( ouMode ); params.setSkipMeta( skipMeta ); + params.setSkipData( skipData ); params.setHierarchyMeta( hierarchyMeta ); params.setCoordinatesOnly( coordinatesOnly ); params.setDisplayProperty( displayProperty ); === 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-03 12:01:11 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/AnalyticsServiceTest.java 2015-08-04 11:09:17 +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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, 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, null, null, null, null, null, null, null ); + false, false, false, false, false, false, false, null, null, null, null, null, null, null ); } @Test === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/event/data/EventAnalyticsServiceTest.java' --- dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/event/data/EventAnalyticsServiceTest.java 2015-07-14 09:34:46 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/event/data/EventAnalyticsServiceTest.java 2015-08-04 11:09:17 +0000 @@ -181,7 +181,7 @@ filterParams.add( "pe:201401;201402" ); EventQueryParams params = analyticsService.getFromUrl( prA.getUid(), null, - null, null, dimensionParams, filterParams, null, null, false, false, false, false, null, null, null, false, false, null, null ); + null, null, dimensionParams, filterParams, null, null, false, false, false, false, false, null, null, null, false, false, null, null ); assertEquals( prA, params.getProgram() ); assertEquals( 1, params.getOrganisationUnits().size() ); @@ -200,7 +200,7 @@ filterParams.add( "pe:201401" ); EventQueryParams params = analyticsService.getFromUrl( prA.getUid(), null, - null, null, dimensionParams, filterParams, deA.getUid(), AggregationType.AVERAGE, false, false, false, false, null, null, null, false, false, null, null ); + null, null, dimensionParams, filterParams, deA.getUid(), AggregationType.AVERAGE, false, false, false, false, false, null, null, null, false, false, null, null ); assertEquals( prA, params.getProgram() ); assertEquals( 1, params.getOrganisationUnits().size() ); @@ -339,7 +339,7 @@ filterParams.add( atA.getUid() + ":LE:5" ); EventQueryParams params = analyticsService.getFromUrl( prA.getUid(), null, - null, null, dimensionParams, filterParams, null, null, false, false, false, false, null, null, null, false, false, null, null ); + null, null, dimensionParams, filterParams, null, null, false, false, false, false, false, null, null, null, false, false, null, null ); assertEquals( prA, params.getProgram() ); assertEquals( 1, params.getItems().size() ); === 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-03 12:01:11 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AnalyticsController.java 2015-08-04 11:09:17 +0000 @@ -81,6 +81,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -98,7 +99,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_JSON, CacheStrategy.RESPECT_SYSTEM_SETTING ); @@ -115,6 +116,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -132,7 +134,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING ); @@ -147,6 +149,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -164,7 +167,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING ); @@ -179,6 +182,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -196,7 +200,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING ); @@ -211,6 +215,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -228,7 +233,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, "data.csv", true ); @@ -243,6 +248,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -260,7 +266,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_EXCEL, CacheStrategy.RESPECT_SYSTEM_SETTING, "data.xls", true ); @@ -275,6 +281,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -293,7 +300,7 @@ HttpServletResponse response ) throws Exception { DataQueryParams params = analyticsService.getFromUrl( dimension, filter, null, null, - true, 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, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING, "data.jrxml", false ); Grid grid = analyticsService.getAggregatedDataValues( params ); @@ -308,6 +315,7 @@ @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) String measureCriteria, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean ignoreLimit, @@ -325,7 +333,7 @@ Model model, HttpServletResponse response ) throws Exception { - DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipRounding, hierarchyMeta, + DataQueryParams params = analyticsService.getFromUrl( dimension, filter, aggregationType, measureCriteria, skipMeta, skipData, skipRounding, hierarchyMeta, ignoreLimit, hideEmptyRows, showHierarchy, displayProperty, outputIdScheme, approvalLevel, userOrgUnit, program, stage, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_TEXT, CacheStrategy.NO_CACHE, "debug.sql", false ); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/EventAnalyticsController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/EventAnalyticsController.java 2015-07-21 13:47:18 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/EventAnalyticsController.java 2015-08-04 11:09:17 +0000 @@ -86,6 +86,7 @@ @RequestParam( required = false ) String value, @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean showHierarchy, @@ -99,7 +100,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - value, aggregationType, skipMeta, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, + value, aggregationType, skipMeta, skipData, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, collapseDataDimensions, aggregateData, displayProperty, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_JSON, CacheStrategy.RESPECT_SYSTEM_SETTING ); @@ -120,6 +121,7 @@ @RequestParam( required = false ) String value, @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean showHierarchy, @@ -133,7 +135,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - value, aggregationType, skipMeta, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, + value, aggregationType, skipMeta, skipData, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, collapseDataDimensions, aggregateData, displayProperty, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.xml", false ); @@ -152,6 +154,7 @@ @RequestParam( required = false ) String value, @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean showHierarchy, @@ -165,7 +168,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - value, aggregationType, skipMeta, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, + value, aggregationType, skipMeta, skipData, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, collapseDataDimensions, aggregateData, displayProperty, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_EXCEL, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.xls", true ); @@ -184,6 +187,7 @@ @RequestParam( required = false ) String value, @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean showHierarchy, @@ -197,7 +201,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - value, aggregationType, skipMeta, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, + value, aggregationType, skipMeta, skipData, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, collapseDataDimensions, aggregateData, displayProperty, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.csv", true ); @@ -216,6 +220,7 @@ @RequestParam( required = false ) String value, @RequestParam( required = false ) AggregationType aggregationType, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean skipRounding, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean showHierarchy, @@ -229,7 +234,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - value, aggregationType, skipMeta, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, + value, aggregationType, skipMeta, skipData, skipRounding, hierarchyMeta, showHierarchy, sortOrder, limit, outputType, collapseDataDimensions, aggregateData, displayProperty, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.html", false ); @@ -253,6 +258,7 @@ @RequestParam( required = false ) Set asc, @RequestParam( required = false ) Set desc, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean coordinatesOnly, @RequestParam( required = false ) Integer page, @@ -262,7 +268,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, ouMode, - asc, desc, skipMeta, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); + asc, desc, skipMeta, skipData, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_JSON, CacheStrategy.RESPECT_SYSTEM_SETTING ); Grid grid = analyticsService.getEvents( params ); @@ -283,6 +289,7 @@ @RequestParam( required = false ) Set asc, @RequestParam( required = false ) Set desc, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean coordinatesOnly, @RequestParam( required = false ) Integer page, @@ -292,7 +299,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - ouMode, asc, desc, skipMeta, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); + ouMode, asc, desc, skipMeta, skipData, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_XML, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.xml", false ); Grid grid = analyticsService.getEvents( params ); @@ -311,6 +318,7 @@ @RequestParam( required = false ) Set asc, @RequestParam( required = false ) Set desc, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean coordinatesOnly, @RequestParam( required = false ) Integer page, @@ -320,7 +328,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - ouMode, asc, desc, skipMeta, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); + ouMode, asc, desc, skipMeta, skipData, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_EXCEL, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.xls", true ); Grid grid = analyticsService.getEvents( params ); @@ -339,6 +347,7 @@ @RequestParam( required = false ) Set asc, @RequestParam( required = false ) Set desc, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean coordinatesOnly, @RequestParam( required = false ) Integer page, @@ -348,7 +357,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - ouMode, asc, desc, skipMeta, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); + ouMode, asc, desc, skipMeta, skipData, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.csv", true ); Grid grid = analyticsService.getEvents( params ); @@ -367,6 +376,7 @@ @RequestParam( required = false ) Set asc, @RequestParam( required = false ) Set desc, @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) boolean skipData, @RequestParam( required = false ) boolean hierarchyMeta, @RequestParam( required = false ) boolean coordinatesOnly, @RequestParam( required = false ) Integer page, @@ -376,7 +386,7 @@ HttpServletResponse response ) throws Exception { EventQueryParams params = analyticsService.getFromUrl( program, stage, startDate, endDate, dimension, filter, - ouMode, asc, desc, skipMeta, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); + ouMode, asc, desc, skipMeta, skipData, hierarchyMeta, coordinatesOnly, displayProperty, page, pageSize, i18nManager.getI18nFormat() ); contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_HTML, CacheStrategy.RESPECT_SYSTEM_SETTING, "events.html", false ); Grid grid = analyticsService.getEvents( 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-03 12:01:11 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/mapping/GeoFeatureController.java 2015-08-04 11:09:17 +0000 @@ -138,7 +138,7 @@ set.add( ou ); DataQueryParams params = analyticsService.getFromUrl( set, null, AggregationType.SUM, null, - false, false, false, false, false, false, displayProperty, null, null, null, null, null, null ); + false, false, false, false, false, false, false, displayProperty, null, null, null, null, null, null ); DimensionalObject dim = params.getDimension( DimensionalObject.ORGUNIT_DIM_ID );