=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Grid.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Grid.java 2013-03-04 10:30:59 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Grid.java 2013-03-19 17:54:54 +0000 @@ -77,17 +77,17 @@ /** * Returns map of meta-data. */ - Map getMetaData(); + Map getMetaData(); /** * Sets map of meta-data. */ - void setMetaData( Map metaData ); + void setMetaData( Map metaData ); /** * Adds a key-value pair to meta-data. */ - void addMetaData( String key, String value ); + void addMetaData( Object key, Object value ); /** * Returns all visible headers, ie. headers which are not hidden. === 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:31:48 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2013-03-19 17:54:54 +0000 @@ -47,6 +47,7 @@ import static org.hisp.dhis.analytics.DataQueryParams.getDimensionItemsFromParam; import static org.hisp.dhis.common.IdentifiableObjectUtils.asList; import static org.hisp.dhis.common.IdentifiableObjectUtils.asTypedList; +import static org.hisp.dhis.common.IdentifiableObjectUtils.getUids; import static org.hisp.dhis.organisationunit.OrganisationUnit.KEY_USER_ORGUNIT; import static org.hisp.dhis.organisationunit.OrganisationUnit.KEY_USER_ORGUNIT_CHILDREN; @@ -115,7 +116,8 @@ private static final Log log = LogFactory.getLog( DefaultAnalyticsService.class ); private static final String VALUE_HEADER_NAME = "Value"; - private static final String PERIOD_META_KEY = "periods"; + private static final String PERIODS_META_KEY = "periods"; + private static final String NAMES_META_KEY = "names"; private static final int PERCENT = 100; private static final int MAX_QUERIES = 8; @@ -173,7 +175,11 @@ Grid grid = new ListGrid(); - grid.setMetaData( getUidNameMap( params ) ); + 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() ) { @@ -631,9 +637,9 @@ return params; } - private Map getUidNameMap( DataQueryParams params ) + private Map getUidNameMap( DataQueryParams params ) { - Map map = new HashMap(); + Map map = new HashMap(); map.putAll( getUidNameMap( params.getDimensions() ) ); map.putAll( getUidNameMap( params.getFilters() ) ); map.put( DATA_X_DIM_ID, DISPLAY_NAME_DATA_X ); === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/grid/ListGrid.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/grid/ListGrid.java 2013-03-12 17:07:05 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/grid/ListGrid.java 2013-03-19 17:54:54 +0000 @@ -79,7 +79,7 @@ /** * A Map which can hold arbitrary meta-data. */ - private Map metaData; + private Map metaData; /** * A two dimensional List which simulates a grid where the first list @@ -108,7 +108,7 @@ public ListGrid() { headers = new ArrayList(); - metaData = new HashMap(); + metaData = new HashMap(); grid = new ArrayList>(); } @@ -219,17 +219,17 @@ @JsonProperty @JsonView( { DetailedView.class } ) - public Map getMetaData() + public Map getMetaData() { return metaData; } - public void setMetaData( Map metaData ) + public void setMetaData( Map metaData ) { this.metaData = metaData; } - public void addMetaData( String key, String value ) + public void addMetaData( Object key, Object value ) { this.metaData.put( key, value ); } @@ -546,11 +546,11 @@ { // Header - String headerMetaName = metaData.get( header.getName() ); + Object headerMetaName = metaData.get( header.getName() ); if ( headerMetaName != null ) { - header.setName( headerMetaName ); + header.setName( String.valueOf( headerMetaName ) ); } // Column cells === modified file 'dhis-2/dhis-support/dhis-support-system/src/test/java/org/hisp/dhis/system/grid/GridTest.java' --- dhis-2/dhis-support/dhis-support-system/src/test/java/org/hisp/dhis/system/grid/GridTest.java 2013-03-04 10:30:59 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/test/java/org/hisp/dhis/system/grid/GridTest.java 2013-03-19 17:54:54 +0000 @@ -92,7 +92,7 @@ @Test public void testSubstituteMetaData() { - Map metaData = new HashMap(); + Map metaData = new HashMap(); metaData.put( 11, "Eleven" ); metaData.put( 12, "Twelve" ); metaData.put( 21, "TwentyOne" );