← Back to team overview

dhis2-devs team mailing list archive

[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 );