=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java 2014-03-27 15:40:52 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java 2014-04-01 12:44:59 +0000 @@ -37,6 +37,7 @@ import static org.hisp.dhis.common.DimensionalObject.INDICATOR_DIM_ID; import static org.hisp.dhis.common.DimensionalObject.ORGUNIT_DIM_ID; import static org.hisp.dhis.common.DimensionalObject.PERIOD_DIM_ID; +import static org.hisp.dhis.common.DimensionalObject.STATIC_DIMS; import static org.hisp.dhis.organisationunit.OrganisationUnit.KEY_LEVEL; import static org.hisp.dhis.organisationunit.OrganisationUnit.KEY_ORGUNIT_GROUP; import static org.hisp.dhis.organisationunit.OrganisationUnit.KEY_USER_ORGUNIT; @@ -324,6 +325,10 @@ type = DimensionType.CATEGORY; } + else if ( STATIC_DIMS.contains( dimension ) ) + { + type = DimensionType.STATIC; + } else // Group set { // Data element group set @@ -535,6 +540,10 @@ objects.add( new BaseDimensionalObject( dimension, DimensionType.CATEGORY, categoryDimension.getItems() ) ); } + else if ( STATIC_DIMS.contains( dimension ) ) + { + objects.add( new BaseDimensionalObject( dimension, DimensionType.STATIC, new ArrayList() ) ); + } else // Group set { // Data element group set === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseDimensionalObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseDimensionalObject.java 2014-03-27 15:40:52 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseDimensionalObject.java 2014-04-01 12:44:59 +0000 @@ -90,7 +90,7 @@ this.uid = dimension; this.items = new ArrayList( items ); } - + public BaseDimensionalObject( String dimension, DimensionType dimensionType, List items ) { this.uid = dimension; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionType.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionType.java 2014-03-26 18:17:24 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionType.java 2014-04-01 12:44:59 +0000 @@ -46,5 +46,6 @@ ORGANISATIONUNIT_GROUPSET, CATEGORY, TRACKED_ENTITY_ATTRIBUTE, - TRACKED_ENTITY_DATAELEMENT + TRACKED_ENTITY_DATAELEMENT, + STATIC } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionalObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionalObject.java 2014-03-27 10:08:06 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionalObject.java 2014-04-01 12:44:59 +0000 @@ -56,7 +56,11 @@ final String DIMENSION_SEP = "-"; - final List DATA_X_DIMS = Arrays.asList( INDICATOR_DIM_ID, DATAELEMENT_DIM_ID, DATASET_DIM_ID, DATAELEMENT_OPERAND_ID ); + final String LONGITUDE_DIM_ID = "longitude"; + final String LATITUDE_DIM_ID = "latitude"; + + final List DATA_X_DIMS = Arrays.asList( INDICATOR_DIM_ID, DATAELEMENT_DIM_ID, DATASET_DIM_ID, DATAELEMENT_OPERAND_ID ); + final List STATIC_DIMS = Arrays.asList( LONGITUDE_DIM_ID, LATITUDE_DIM_ID ); final Map PRETTY_NAMES = DimensionalObjectUtils.asMap( DATA_X_DIM_ID, "Data", === 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 2014-03-26 19:33:00 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2014-04-01 12:44:59 +0000 @@ -89,7 +89,9 @@ public static final String DISPLAY_NAME_DATA_X = "Data"; public static final String DISPLAY_NAME_CATEGORYOPTIONCOMBO = "Category"; public static final String DISPLAY_NAME_PERIOD = "Period"; - public static final String DISPLAY_NAME_ORGUNIT = "Organisation unit"; + public static final String DISPLAY_NAME_ORGUNIT = "Organisation unit"; + public static final String DISPLAY_NAME_LONGITUDE = "Longitude"; + public static final String DISPLAY_NAME_LATITUDE = "Latitude"; public static final List DATA_DIMS = Arrays.asList( INDICATOR_DIM_ID, DATAELEMENT_DIM_ID, DATAELEMENT_OPERAND_ID, DATASET_DIM_ID ); public static final List FIXED_DIMS = Arrays.asList( DATA_X_DIM_ID, INDICATOR_DIM_ID, DATAELEMENT_DIM_ID, DATASET_DIM_ID, PERIOD_DIM_ID, ORGUNIT_DIM_ID ); === 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 2014-03-26 19:33:00 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2014-04-01 12:44:59 +0000 @@ -36,6 +36,8 @@ import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_DATA_X; import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_ORGUNIT; import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_PERIOD; +import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_LONGITUDE; +import static org.hisp.dhis.analytics.DataQueryParams.DISPLAY_NAME_LATITUDE; import static org.hisp.dhis.analytics.DataQueryParams.FIXED_DIMS; import static org.hisp.dhis.common.DimensionalObject.CATEGORYOPTIONCOMBO_DIM_ID; import static org.hisp.dhis.common.DimensionalObject.DATAELEMENT_DIM_ID; @@ -45,6 +47,8 @@ import static org.hisp.dhis.common.DimensionalObject.INDICATOR_DIM_ID; import static org.hisp.dhis.common.DimensionalObject.ORGUNIT_DIM_ID; import static org.hisp.dhis.common.DimensionalObject.PERIOD_DIM_ID; +import static org.hisp.dhis.common.DimensionalObject.LONGITUDE_DIM_ID; +import static org.hisp.dhis.common.DimensionalObject.LATITUDE_DIM_ID; import static org.hisp.dhis.common.DimensionalObjectUtils.toDimension; import static org.hisp.dhis.common.IdentifiableObjectUtils.getUids; import static org.hisp.dhis.common.NameableObjectUtils.asList; @@ -942,6 +946,20 @@ return Arrays.asList( object ); } + if ( LONGITUDE_DIM_ID.contains( dimension ) ) + { + DimensionalObject object = new BaseDimensionalObject( dimension, DimensionType.STATIC, null, DISPLAY_NAME_LONGITUDE, new ArrayList() ); + + return Arrays.asList( object ); + } + + if ( LATITUDE_DIM_ID.contains( dimension ) ) + { + DimensionalObject object = new BaseDimensionalObject( dimension, DimensionType.STATIC, null, DISPLAY_NAME_LATITUDE, new ArrayList() ); + + return Arrays.asList( object ); + } + OrganisationUnitGroupSet ougs = organisationUnitGroupService.getOrganisationUnitGroupSet( dimension ); if ( ougs != null )