=== 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-19 17:54:54 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2013-03-20 13:04:15 +0000 @@ -170,17 +170,11 @@ params.conform(); // --------------------------------------------------------------------- - // Headers and meta-data + // Headers // --------------------------------------------------------------------- Grid grid = new ListGrid(); - Map metaData = new HashMap(); - metaData.put( NAMES_META_KEY, getUidNameMap( params ) ); - metaData.put( PERIODS_META_KEY, getUids( params.getDimensionOrFilter( PERIOD_DIM_ID ) ) ); - - grid.setMetaData( metaData ); - for ( Dimension col : params.getHeaderDimensions() ) { grid.addHeader( new GridHeader( col.getDimension(), col.getDisplayName(), String.class.getName(), false, true ) ); @@ -329,17 +323,19 @@ grid.addValue( entry.getValue() ); } } - - // --------------------------------------------------------------------- - // Category option combo meta-data - // --------------------------------------------------------------------- - + + // --------------------------------------------------------------------- + // Meta-data + // --------------------------------------------------------------------- + Integer cocIndex = params.getCocIndex(); - if ( cocIndex != null ) - { - addCocMetaData( grid, cocIndex ); - } + Map metaData = new HashMap(); + + metaData.put( NAMES_META_KEY, getUidNameMap( params, grid, cocIndex ) ); + metaData.put( PERIODS_META_KEY, getUids( params.getDimensionOrFilter( PERIOD_DIM_ID ) ) ); + + grid.setMetaData( metaData ); return grid; } @@ -637,12 +633,13 @@ return params; } - private Map getUidNameMap( DataQueryParams params ) + private Map getUidNameMap( DataQueryParams params, Grid grid, Integer cocIndex ) { Map map = new HashMap(); map.putAll( getUidNameMap( params.getDimensions() ) ); map.putAll( getUidNameMap( params.getFilters() ) ); map.put( DATA_X_DIM_ID, DISPLAY_NAME_DATA_X ); + map.putAll( getCocMetaData( grid, cocIndex ) ); return map; } @@ -689,15 +686,22 @@ return map; } - private void addCocMetaData( Grid grid, Integer cocIndex ) + private Map getCocMetaData( Grid grid, Integer cocIndex ) { - Set uids = new HashSet( ConversionUtils.cast( grid.getColumn( cocIndex ) ) ); - - Collection cocs = categoryService.getDataElementCategoryOptionCombosByUid( uids ); - - for ( DataElementCategoryOptionCombo coc : cocs ) + Map metaData = new HashMap(); + + if ( grid != null && cocIndex != null ) { - grid.addMetaData( coc.getUid(), coc.getName() ); + Set uids = new HashSet( ConversionUtils.cast( grid.getColumn( cocIndex ) ) ); + + Collection cocs = categoryService.getDataElementCategoryOptionCombosByUid( uids ); + + for ( DataElementCategoryOptionCombo coc : cocs ) + { + metaData.put( coc.getUid(), coc.getName() ); + } } + + return metaData; } } === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/Timer.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/Timer.java 2013-03-20 12:40:07 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/Timer.java 2013-03-20 13:04:15 +0000 @@ -55,7 +55,12 @@ long endTime = System.nanoTime(); long time = ( endTime - startTime ) / 1000; - + + if ( !printDisabled ) + { + System.out.println( msg + ": " + time + " micros" ); + } + return time; }