=== 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 2013-03-12 17:07:05 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2013-03-14 13:07:10 +0000 @@ -159,7 +159,7 @@ */ public boolean filterSpansMultiplePartitions() { - return tableNamePeriodMap != null && !tableNamePeriodMap.isEmpty(); + return tableNamePeriodMap != null && tableNamePeriodMap.size() > 1; } /** === 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 2013-03-12 17:07:05 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2013-03-14 13:07:10 +0000 @@ -339,16 +339,22 @@ public Map getAggregatedDataValueMap( DataQueryParams params ) { + queryPlanner.validate( params ); + return getAggregatedValueMap( params, ANALYTICS_TABLE_NAME ); } public Map getAggregatedCompletenessValueMap( DataQueryParams params ) { + queryPlanner.validate( params ); + return getAggregatedValueMap( params, COMPLETENESS_TABLE_NAME ); } private Map getAggregatedCompletenessTargetMap( DataQueryParams params ) { + queryPlanner.validate( params ); + return getAggregatedValueMap( params, COMPLETENESS_TARGET_TABLE_NAME ); } @@ -359,8 +365,6 @@ */ private Map getAggregatedValueMap( DataQueryParams params, String tableName ) { - queryPlanner.validate( params ); - Timer t = new Timer().start(); int optimalQueries = MathUtils.getWithin( SystemUtils.getCpuCores(), 1, MAX_QUERIES ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java 2013-03-11 08:24:17 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java 2013-03-14 13:07:10 +0000 @@ -269,7 +269,8 @@ /** * Groups the given query into sub queries based on its periods and which * partition it should be executed against. Sets the partition table name on - * each query. Queries are grouped based on both dimensions and filters. + * each query. Queries are grouped based on periods if appearing as a + * dimension. */ private List groupByPartition( DataQueryParams params, String tableName ) { @@ -297,7 +298,8 @@ ListMap tableNamePeriodMap = PartitionUtils.getTableNamePeriodMap( params.getFilterPeriods(), tableName ); DataQueryParams query = new DataQueryParams( params ); - query.setTableNamePeriodMap( tableNamePeriodMap ); + query.setTableNamePeriodMap( tableNamePeriodMap ); + query.setTableName( tableNamePeriodMap.keySet().iterator().next() ); queries.add( query ); } else === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2013-03-10 16:13:56 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/PartitionUtils.java 2013-03-14 13:07:10 +0000 @@ -29,16 +29,15 @@ import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Date; import java.util.List; import org.hisp.dhis.analytics.AnalyticsTableManager; import org.hisp.dhis.common.IdentifiableObject; +import org.hisp.dhis.common.ListMap; import org.hisp.dhis.period.Period; import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.period.YearlyPeriodType; -import org.hisp.dhis.common.ListMap; public class PartitionUtils { @@ -80,7 +79,7 @@ return tableName + SEP + year.getIsoDate(); } - + public static Period getPeriod( String tableName ) { if ( tableName == null || tableName.indexOf( SEP ) == -1 ) @@ -94,7 +93,7 @@ return PeriodType.getPeriodFromIsoString( isoPeriod ); } - public static ListMap getTableNamePeriodMap( Collection periods, String tableName ) + public static ListMap getTableNamePeriodMap( List periods, String tableName ) { ListMap map = new ListMap(); === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/resources/html-report-template.html' --- dhis-2/dhis-support/dhis-support-system/src/main/resources/html-report-template.html 2013-02-02 19:22:58 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/resources/html-report-template.html 2013-03-14 13:07:10 +0000 @@ -49,7 +49,7 @@ var orgUnit = dhis2.report.organisationUnit; // An object

var id = orgUnit.id; -var name = orgUnit.name;
+var name = orgUnit.name;

var code = orgUnit.code;

var orgUnitHierarchy = dhis2.report.organisationUnitHierarchy; // An array with org unit objects for the hierarchy (current org unit first)