=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsUtils.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsUtils.java 2016-02-27 10:57:15 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsUtils.java 2016-02-27 11:01:21 +0000 @@ -32,6 +32,7 @@ import static org.hisp.dhis.system.util.DateUtils.getMediumDateString; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -189,4 +190,27 @@ return valueMap.entrySet().stream().collect( Collectors.toMap( e -> e.getKey().replaceFirst( DimensionalObject.DIMENSION_SEP, DimensionalObjectUtils.COMPOSITE_DIM_OBJECT_PLAIN_SEP ), e -> e.getValue() ) ); } + + /** + * Converts a String, Object map into a specific String, Double map. + * + * @param map the map to convert. + * @return a mapping between string and double values. + */ + public static Map getDoubleMap( Map map ) + { + Map typedMap = new HashMap<>(); + + for ( Map.Entry entry : map.entrySet() ) + { + final Object value = entry.getValue(); + + if ( value != null && Double.class.equals( value.getClass() ) ) + { + typedMap.put( entry.getKey(), (Double) entry.getValue() ); + } + } + + return typedMap; + } } === 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 2016-02-27 10:57:15 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2016-02-27 11:01:21 +0000 @@ -744,7 +744,7 @@ */ private Map getAggregatedDataValueMap( DataQueryParams params ) { - return getDoubleMap( getAggregatedValueMap( params, ANALYTICS_TABLE_NAME ) ); + return AnalyticsUtils.getDoubleMap( getAggregatedValueMap( params, ANALYTICS_TABLE_NAME ) ); } /** @@ -770,7 +770,7 @@ */ private Map getAggregatedCompletenessValueMap( DataQueryParams params ) { - return getDoubleMap( getAggregatedValueMap( params, COMPLETENESS_TABLE_NAME ) ); + return AnalyticsUtils.getDoubleMap( getAggregatedValueMap( params, COMPLETENESS_TABLE_NAME ) ); } /** @@ -783,7 +783,7 @@ */ private Map getAggregatedCompletenessTargetMap( DataQueryParams params ) { - return getDoubleMap( getAggregatedValueMap( params, COMPLETENESS_TARGET_TABLE_NAME ) ); + return AnalyticsUtils.getDoubleMap( getAggregatedValueMap( params, COMPLETENESS_TARGET_TABLE_NAME ) ); } /** @@ -797,7 +797,7 @@ */ private Map getAggregatedOrganisationUnitTargetMap( DataQueryParams params ) { - return getDoubleMap( getAggregatedValueMap( params, ORGUNIT_TARGET_TABLE_NAME ) ); + return AnalyticsUtils.getDoubleMap( getAggregatedValueMap( params, ORGUNIT_TARGET_TABLE_NAME ) ); } /** @@ -1007,29 +1007,6 @@ } /** - * Converts a String, Object map into a specific String, Double map. - * - * @param map the map to convert. - * @return a mapping between string and double values. - */ - private Map getDoubleMap( Map map ) - { - Map typedMap = new HashMap<>(); - - for ( Map.Entry entry : map.entrySet() ) - { - final Object value = entry.getValue(); - - if ( value != null && Double.class.equals( value.getClass() ) ) - { - typedMap.put( entry.getKey(), (Double) entry.getValue() ); - } - } - - return typedMap; - } - - /** * Returns the max records limit. 0 indicates no limit. * * @return the max records limit.