dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #36883
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 18862: Analytics, minor
------------------------------------------------------------
revno: 18862
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2015-04-09 21:08:39 +0200
message:
Analytics, minor
modified:
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/data/DefaultAnalyticsService.java
dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/QueryPlannerTest.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/DataQueryParams.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2015-04-03 12:51:02 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2015-04-09 19:08:39 +0000
@@ -713,39 +713,6 @@
}
/**
- * Returns a mapping of permutation keys and mappings of data element operands
- * and values, based on the given mapping of dimension option keys and
- * aggregated values.
- */
- public Map<String, Map<DataElementOperand, Double>> getPermutationOperandValueMap( Map<String, Double> aggregatedDataMap )
- {
- MapMap<String, DataElementOperand, Double> valueMap = new MapMap<>();
-
- for ( String key : aggregatedDataMap.keySet() )
- {
- List<String> keys = new ArrayList<>( Arrays.asList( key.split( DIMENSION_SEP ) ) );
-
- int deInx = getDataElementDimensionIndex();
- int cocInx = getCategoryOptionComboDimensionIndex();
-
- String de = keys.get( deInx );
- String coc = keys.get( cocInx );
-
- ListUtils.removeAll( keys, deInx, cocInx );
-
- String permKey = StringUtils.join( keys, DIMENSION_SEP );
-
- DataElementOperand operand = new DataElementOperand( de, coc );
-
- Double value = aggregatedDataMap.get( key );
-
- valueMap.putEntry( permKey, operand, value );
- }
-
- return valueMap;
- }
-
- /**
* Returns a mapping of permutations keys (org unit id or null) and mappings
* of org unit group and counts, based on the given mapping of dimension option
* keys and counts.
@@ -987,6 +954,40 @@
// -------------------------------------------------------------------------
/**
+ * Returns a mapping of permutation keys and mappings of data element operands
+ * and values, based on the given mapping of dimension option keys and
+ * aggregated values.
+ */
+ public static Map<String, Map<DataElementOperand, Double>> getPermutationOperandValueMap(
+ Map<String, Double> aggregatedDataMap, DataQueryParams params )
+ {
+ MapMap<String, DataElementOperand, Double> valueMap = new MapMap<>();
+
+ for ( String key : aggregatedDataMap.keySet() )
+ {
+ List<String> keys = new ArrayList<>( Arrays.asList( key.split( DIMENSION_SEP ) ) );
+
+ int deInx = params.getDataElementDimensionIndex();
+ int cocInx = params.getCategoryOptionComboDimensionIndex();
+
+ String de = keys.get( deInx );
+ String coc = keys.get( cocInx );
+
+ DataElementOperand operand = new DataElementOperand( de, coc );
+
+ ListUtils.removeAll( keys, deInx, cocInx );
+
+ String permKey = StringUtils.join( keys, DIMENSION_SEP );
+
+ Double value = aggregatedDataMap.get( key );
+
+ valueMap.putEntry( permKey, operand, value );
+ }
+
+ return valueMap;
+ }
+
+ /**
* Retrieves the measure criteria from the given string. Criteria are separated
* by the option separator, while the criterion filter and value are separated
* with the dimension name separator.
=== 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-04-09 18:17:08 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2015-04-09 19:08:39 +0000
@@ -40,6 +40,7 @@
import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_PERIOD;
import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_PROGRAM_INDICATOR;
import static org.hisp.dhis.analytics.DataQueryParams.KEY_DE_GROUP;
+import static org.hisp.dhis.analytics.DataQueryParams.getPermutationOperandValueMap;
import static org.hisp.dhis.common.DimensionalObject.CATEGORYOPTIONCOMBO_DIM_ID;
import static org.hisp.dhis.common.DimensionalObject.DATAELEMENT_DIM_ID;
import static org.hisp.dhis.common.DimensionalObject.DATASET_DIM_ID;
@@ -300,7 +301,7 @@
Map<String, Double> aggregatedDataMap = getAggregatedDataValueMap( dataSourceParams );
- Map<String, Map<DataElementOperand, Double>> permutationOperandValueMap = dataSourceParams.getPermutationOperandValueMap( aggregatedDataMap );
+ Map<String, Map<DataElementOperand, Double>> permutationOperandValueMap = getPermutationOperandValueMap( aggregatedDataMap, dataSourceParams );
List<List<DimensionItem>> dimensionItemPermutations = dataSourceParams.getDimensionItemPermutations();
=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/QueryPlannerTest.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/QueryPlannerTest.java 2015-03-04 18:36:19 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/test/java/org/hisp/dhis/analytics/data/QueryPlannerTest.java 2015-04-09 19:08:39 +0000
@@ -268,7 +268,7 @@
aggregatedDataMap.put( deB.getUid() + DIMENSION_SEP + ouB.getUid() + DIMENSION_SEP + "2000Q1" + DIMENSION_SEP + coc.getUid(), 7d );
aggregatedDataMap.put( deB.getUid() + DIMENSION_SEP + ouB.getUid() + DIMENSION_SEP + "2000Q2" + DIMENSION_SEP + coc.getUid(), 8d );
- Map<String, Map<DataElementOperand, Double>> permutationMap = params.getPermutationOperandValueMap( aggregatedDataMap );
+ Map<String, Map<DataElementOperand, Double>> permutationMap = DataQueryParams.getPermutationOperandValueMap( aggregatedDataMap, params );
assertNotNull( permutationMap );