dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #37963
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19395: Analytics, indicator calculation, made code more robust
------------------------------------------------------------
revno: 19395
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2015-06-14 16:18:36 +0200
message:
Analytics, indicator calculation, made code more robust
modified:
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.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/data/DefaultAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2015-06-14 13:15:06 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2015-06-14 14:18:36 +0000
@@ -276,11 +276,15 @@
{
if ( params.getIndicators() != null )
{
- int indicatorIndex = params.getIndicatorDimensionIndex();
+ DataQueryParams dataSourceParams = params.instance();
+ dataSourceParams.removeDimension( DATAELEMENT_DIM_ID );
+ dataSourceParams.removeDimension( DATASET_DIM_ID );
+
+ int indicatorIndex = dataSourceParams.getIndicatorDimensionIndex();
- List<Indicator> indicators = asTypedList( params.getIndicators() );
+ List<Indicator> indicators = asTypedList( dataSourceParams.getIndicators() );
- Period filterPeriod = params.getFilterPeriod();
+ Period filterPeriod = dataSourceParams.getFilterPeriod();
Map<String, Double> constantMap = constantService.getConstantMap();
@@ -288,11 +292,11 @@
// Get indicator values
// -----------------------------------------------------------------
- Map<String, Map<String, Integer>> permutationOrgUnitTargetMap = getOrgUnitTargetMap( params, indicators );
-
- List<List<DimensionItem>> dimensionItemPermutations = params.getDimensionItemPermutations();
-
- Map<String, Map<DataElementOperand, Double>> permutationOperandValueMap = getPermutationOperandValueMap( params );
+ Map<String, Map<String, Integer>> permutationOrgUnitTargetMap = getOrgUnitTargetMap( dataSourceParams, indicators );
+
+ List<List<DimensionItem>> dimensionItemPermutations = dataSourceParams.getDimensionItemPermutations();
+
+ Map<String, Map<DataElementOperand, Double>> permutationOperandValueMap = getPermutationOperandValueMap( dataSourceParams );
for ( Indicator indicator : indicators )
{
@@ -327,7 +331,7 @@
grid.addRow();
grid.addValues( DimensionItem.getItemIdentifiers( row ) );
- grid.addValue( params.isSkipRounding() ? value : roundedValue );
+ grid.addValue( dataSourceParams.isSkipRounding() ? value : roundedValue );
}
}
}