← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13902: GIS, initialize action replaced by api requests.

 

Merge authors:
  Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 13902 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2014-01-30 17:37:24 +0100
message:
  GIS, initialize action replaced by api requests.
removed:
  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllPeriodTypesAction.java
  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetOrganisationUnitChildrenAction.java
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonOrganisationUnitChildren.vm
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonPeriodTypes.vm
added:
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/manifest.webapp
modified:
  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/InitializeAction.java
  dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/plugin.js
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonInitialize.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== removed file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllPeriodTypesAction.java'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllPeriodTypesAction.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetAllPeriodTypesAction.java	1970-01-01 00:00:00 +0000
@@ -1,79 +0,0 @@
-package org.hisp.dhis.mapping.action;
-
-/*
- * Copyright (c) 2004-2013, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hisp.dhis.period.PeriodStore;
-import org.hisp.dhis.period.PeriodType;
-
-import com.opensymphony.xwork2.Action;
-
-/**
- * @author Lars Helge Overland
- * @version $Id$
- */
-public class GetAllPeriodTypesAction
-    implements Action
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private PeriodStore periodStore; // Not using service since we need identifiers
-
-    public void setPeriodStore( PeriodStore periodStore )
-    {
-        this.periodStore = periodStore;
-    }
-
-    // -------------------------------------------------------------------------
-    // Output
-    // -------------------------------------------------------------------------
-
-    private List<PeriodType> object;
-
-    public List<PeriodType> getObject()
-    {
-        return object;
-    }
-
-    // -------------------------------------------------------------------------
-    // Action implementation
-    // -------------------------------------------------------------------------
-
-    public String execute()
-        throws Exception
-    {
-        object = new ArrayList<PeriodType>( periodStore.getAllPeriodTypes() );
-        
-        return SUCCESS;
-    }
-}

=== removed file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetOrganisationUnitChildrenAction.java'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetOrganisationUnitChildrenAction.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetOrganisationUnitChildrenAction.java	1970-01-01 00:00:00 +0000
@@ -1,106 +0,0 @@
-package org.hisp.dhis.mapping.action;
-
-/*
- * Copyright (c) 2004-2013, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.organisationunit.OrganisationUnitService;
-
-import com.opensymphony.xwork2.Action;
-
-/**
- * @author Lars Helge Overland
- */
-public class GetOrganisationUnitChildrenAction
-    implements Action
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private OrganisationUnitService organisationUnitService;
-
-    public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
-    {
-        this.organisationUnitService = organisationUnitService;
-    }
-
-    // -------------------------------------------------------------------------
-    // Input
-    // -------------------------------------------------------------------------
-
-    private String node;
-    
-    public void setNode( String node )
-    {
-        this.node = node;
-    }
-
-    // -------------------------------------------------------------------------
-    // Output
-    // -------------------------------------------------------------------------
-
-    private List<OrganisationUnit> units = new ArrayList<OrganisationUnit>();
-    
-    public List<OrganisationUnit> getUnits()
-    {
-        return units;
-    }
-
-    // -------------------------------------------------------------------------
-    // Action implementation
-    // -------------------------------------------------------------------------
-
-    @Override
-    public String execute()
-        throws Exception
-    {
-        OrganisationUnit unit = organisationUnitService.getOrganisationUnit( node );
-
-        if ( unit != null )
-        {
-            int level = organisationUnitService.getLevelOfOrganisationUnit( unit.getId() ) + 1;
-        
-            units = new ArrayList<OrganisationUnit>( unit.getChildren() );
-            
-            for ( OrganisationUnit organisationUnit : units )
-            {
-                organisationUnit.setLevel( level );
-            }
-
-            Collections.sort( units, new IdentifiableObjectNameComparator() );
-        }
-        
-        return SUCCESS;
-    }
-}

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/InitializeAction.java'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/InitializeAction.java	2013-10-22 14:00:46 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/InitializeAction.java	2014-01-30 16:34:39 +0000
@@ -28,20 +28,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.struts2.ServletActionContext;
-import org.hisp.dhis.api.utils.ContextUtils;
 import org.hisp.dhis.configuration.ConfigurationService;
 import org.hisp.dhis.dataelement.DataElementGroup;
-import org.hisp.dhis.dataelement.DataElementService;
-import org.hisp.dhis.indicator.IndicatorGroup;
-import org.hisp.dhis.indicator.IndicatorService;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.organisationunit.OrganisationUnitLevel;
-import org.hisp.dhis.organisationunit.OrganisationUnitService;
 import org.hisp.dhis.period.PeriodType;
 
 import com.opensymphony.xwork2.Action;
@@ -64,27 +52,6 @@
         this.configurationService = configurationService;
     }
 
-    private OrganisationUnitService organisationUnitService;
-
-    public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
-    {
-        this.organisationUnitService = organisationUnitService;
-    }
-
-    private IndicatorService indicatorService;
-
-    public void setIndicatorService( IndicatorService indicatorService )
-    {
-        this.indicatorService = indicatorService;
-    }
-
-    private DataElementService dataElementService;
-
-    public void setDataElementService( DataElementService dataElementService )
-    {
-        this.dataElementService = dataElementService;
-    }
-
     // -------------------------------------------------------------------------
     // Input
     // -------------------------------------------------------------------------
@@ -105,13 +72,6 @@
         return callback;
     }
 
-    private String contextPath;
-
-    public String getContextPath()
-    {
-        return contextPath;
-    }
-
     private DataElementGroup infrastructuralDataElementGroup;
 
     public DataElementGroup getInfrastructuralDataElementGroup()
@@ -126,34 +86,6 @@
         return infrastructuralPeriodType;
     }
 
-    private List<OrganisationUnit> rootNodes;
-
-    public List<OrganisationUnit> getRootNodes()
-    {
-        return rootNodes;
-    }
-    
-    private Collection<OrganisationUnitLevel> levels;
-
-    public Collection<OrganisationUnitLevel> getLevels()
-    {
-        return levels;
-    }
-    
-    private Collection<IndicatorGroup> indicatorGroups;
-
-    public Collection<IndicatorGroup> getIndicatorGroups()
-    {
-        return indicatorGroups;
-    }
-    
-    private Collection<DataElementGroup> dataElementGroups;
-
-    public Collection<DataElementGroup> getDataElementGroups()
-    {
-        return dataElementGroups;
-    }
-
     // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
@@ -161,25 +93,10 @@
     public String execute()
         throws Exception
     {
-        contextPath = ContextUtils.getContextPath( ServletActionContext.getRequest() );
-
         infrastructuralDataElementGroup = configurationService.getConfiguration().getInfrastructuralDataElements();
 
         infrastructuralPeriodType = configurationService.getConfiguration().getInfrastructuralPeriodTypeDefaultIfNull();
 
-        rootNodes = new ArrayList<OrganisationUnit>( organisationUnitService.getOrganisationUnitsAtLevel( 1 ) );
-
-        if ( rootNodes.isEmpty() )
-        {
-            rootNodes.add( new OrganisationUnit() );
-        }
-        
-        levels = organisationUnitService.getOrganisationUnitLevels();
-        
-        indicatorGroups = indicatorService.getAllIndicatorGroups();
-        
-        dataElementGroups = dataElementService.getAllDataElementGroups();
-
         return SUCCESS;
     }
 }
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml	2014-01-30 14:52:44 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml	2014-01-30 16:34:39 +0000
@@ -14,19 +14,9 @@
         class="org.hisp.dhis.mapping.action.InitializeAction"
         scope="prototype">
         <property name="configurationService" ref="org.hisp.dhis.configuration.ConfigurationService" />
-        <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-        <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
     </bean>
 
 	<!-- OrganisationUnit -->
-
-	<bean id="org.hisp.dhis.mapping.action.GetOrganisationUnitChildrenAction"
-		class="org.hisp.dhis.mapping.action.GetOrganisationUnitChildrenAction"
-		scope="prototype">
-		<property name="organisationUnitService"
-			ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-	</bean>
 			
 	<bean id="org.hisp.dhis.mapping.action.UpdateOrganisationUnitCoordinatesAction"
         class="org.hisp.dhis.mapping.action.UpdateOrganisationUnitCoordinatesAction"
@@ -55,11 +45,6 @@
 
     <!-- Period -->
 
-	<bean id="org.hisp.dhis.mapping.action.GetAllPeriodTypesAction"
-		class="org.hisp.dhis.mapping.action.GetAllPeriodTypesAction" scope="prototype">
-		<property name="periodStore" ref="org.hisp.dhis.period.PeriodStore" />
-	</bean>
-
 	<bean id="org.hisp.dhis.mapping.action.GetPeriodsByPeriodTypeAction"
 		class="org.hisp.dhis.mapping.action.GetPeriodsByPeriodTypeAction"
 		scope="prototype">

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml	2014-01-30 14:52:44 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml	2014-01-30 14:58:19 +0000
@@ -30,10 +30,6 @@
 
     <!-- OrganisationUnit -->
 
-    <action name="getOrganisationUnitChildren" class="org.hisp.dhis.mapping.action.GetOrganisationUnitChildrenAction">
-      <result name="success" type="velocity-json">/dhis-web-mapping/jsonOrganisationUnitChildren.vm</result>
-    </action>
-
     <action name="updateOrganisationUnitCoordinates" class="org.hisp.dhis.mapping.action.UpdateOrganisationUnitCoordinatesAction">
       <result name="success" type="velocity-json">/dhis-web-mapping/void.vm</result>
     </action>
@@ -59,13 +55,6 @@
 
     <!-- Period -->
 
-    <action name="getAllPeriodTypes"
-      class="org.hisp.dhis.mapping.action.GetAllPeriodTypesAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-mapping/jsonPeriodTypes.vm
-      </result>
-    </action>
-
     <action name="getPeriodsByPeriodType"
       class="org.hisp.dhis.mapping.action.GetPeriodsByPeriodTypeAction">
       <result name="success" type="velocity-json">/dhis-web-mapping/jsonPeriods.vm

=== added file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/i18n.json	2014-01-30 16:34:39 +0000
@@ -0,0 +1,430 @@
+[
+"save",
+"saved",
+"delete_",
+"deleted",
+"update",
+"updated",
+"register",
+"registered",
+"add",
+"added",
+"assign",
+"assigned",
+"refresh",
+"refreshed",
+"select",
+"selected",
+"cancel",
+"cancelled",
+"apply",
+"applied",
+"show",
+"hide",
+"showhide",
+"toggle",
+"boundary",
+"level",
+"type",
+"new_",
+"edit",
+"export_",
+"map",
+"favorite",
+"favorites",
+"legend",
+"legendset",
+"group",
+"groups",
+"groupset",
+"groupsets",
+"indicators",
+"dataelements",
+"thematic_map",
+"polygon_layer",
+"point_layer",
+"indicator_group",
+"indicator",
+"period_type",
+"period",
+"map",
+"in_the_map",
+"legend_type",
+"method",
+"classes",
+"low_color",
+"high_color",
+"optional",
+"loading",
+"automatic",
+"predefined",
+"equal_intervals",
+"equal_group_count",
+"fixed_intervals",
+"administrator",
+"map_source",
+"base_coordinate",
+"admin_panels",
+"longitude_x",
+"latitude_y",
+"save_coordinate",
+"export_map_as_image",
+"status",
+"error_while_retrieving_data",
+"bounds",
+"comma_separated_values",
+"ajax_request_failed",
+"component_init_not_complete",
+"error",
+"form_is_not_complete",
+"filter",
+"assign_all",
+"auto_assign",
+"please_select_map",
+"auto_assignment",
+"remove_all",
+"remove_all_relations",
+"all_relations_for_the_map",
+"removed",
+"error_while_deleting_relation_map_and_oranisation_unit",
+"remove_selected",
+"remove_relation",
+"please_select_least_one_organisation_unit_in_the_list",
+"assign",
+"organisation_units",
+"assigned_to",
+"database",
+"is_already_assigned",
+"min_size",
+"max_size",
+"select_a_value",
+"applying_organisation_units_relations",
+"assigning",
+"no",
+"assigned",
+"creating_map",
+"current_selection_no_data",
+"creating_choropleth",
+"assign_organisation_unit",
+"no_feature_selected",
+"cursor_position",
+"overview_map",
+"feature_data",
+"map_legend_polygon",
+"map_legend_point",
+"return_to_DHIS_2_dashboard",
+"exit_gis",
+"help",
+"create_predefined_legend_sets",
+"export_map_as_excel",
+"favorite_map_views",
+"show_hide_labels",
+"zoom_to_visible_extent",
+"zoom_out",
+"zoom_in",
+"assign_organisation_units_to_map",
+"map_layers",
+"and",
+"was_saved_as_base_coordinate",
+"error_while_saving_data",
+"is_saved_as_map_source",
+"is_already_selected",
+"overlays_",
+"overlays",
+"was_registered",
+"is_already_in_use",
+"new_overlay",
+"name",
+"overlay_form_is_not_complete",
+"display_name",
+"fill_color",
+"fill_opacity",
+"stroke_color",
+"map_source_file",
+"please_enter_map_title",
+"stroke_width",
+"delete_overlay",
+"overlay",
+"was_deleted",
+"please_select_an_overlay",
+"select",
+"title",
+"preview",
+"queryable",
+"description",
+"register_map",
+"register_maps",
+"zoom",
+"name_column",
+"organisation_unit_level",
+"please_render_map_first",
+"please_select_an_overlay",
+"select",
+"title",
+"include_legend",
+"include_values",
+"export_excel",
+"image_format",
+"image_quality",
+"export_image",
+"image_export",
+"setup",
+"medium",
+"large",
+"add_to_dashboard",
+"dhis_dashboard",
+"dashboard_map_view",
+"added_to_dashboard",
+"please_select_a_map_view",
+"view",
+"delete_map_view",
+"new_map_view",
+"there_is_already_a_map_view_called",
+"thematic_map_form_is_not_complete",
+"map_view_form_is_not_complete",
+"save",
+"saving_current_thematic_map_selection",
+"new_legend_set",
+"already_exists",
+"a_legend_set_called",
+"assign_to_indicator",
+"assign_to_dataelement",
+"please_select_a_legend_set",
+"link_legend_set_to_indicator",
+"please_select_at_least_one_indicator",
+"was_updated",
+"automatic_legend_sets",
+"start_value",
+"end_value",
+"color",
+"new_legend",
+"please_select_a_legend",
+"legends",
+"overlapping_legends_are_not_allowed",
+"please_select_at_least_one_legend",
+"predefined_legend_sets",
+"assignment",
+"geoserver_shapefiles",
+"must_be_a_number",
+"must_be_between_180_and_180",
+"must_be_between_90_and_90",
+"there_is_already_a_map_called",
+"selected_relations_removed",
+"the_source_file",
+"delete_baselayer",
+"please_select_a_baselayer",
+"baselayer",
+"baselayers",
+"url",
+"layer",
+"new_baselayer",
+"baselayer_form_is_not_complete",
+"mapvaluetype",
+"dataelement_group",
+"dataelement",
+"organisation_units_assigned",
+"the_view",
+"parent_orgunit",
+"delete_map",
+"aggregating_map_values",
+"loading_geojson",
+"date_type",
+"saved_as_date_type",
+"start_date",
+"end_date",
+"fixed_periods",
+"start_end_dates",
+"please_expand_layer_panel",
+"has_no_orgunits",
+"highlight_color",
+"feature_filter",
+"locate_features",
+"no_coordinates_found",
+"image_resolution",
+"max",
+"characters",
+"geojson_file",
+"history",
+"api_key",
+"measure_distance",
+"low_point_size",
+"high_point_size",
+"system",
+"width",
+"height",
+"text_filter",
+"font_size",
+"bold_",
+"italic",
+"level",
+"low_point_size",
+"high_point_size",
+"system",
+"width",
+"height",
+"text_filter",
+"font_size",
+"bold_",
+"italic",
+"select_outer_boundary",
+"select_organisation_unit_level",
+"type",
+"code",
+"address",
+"contact_person",
+"email",
+"phone_number",
+"infrastructural_data",
+"select_point_level",
+"level_is_higher_that_boundary_level",
+"select_new_location_on_map",
+"show_information_sheet",
+"relocate",
+"administrator_settings",
+"thematic_layer",
+"register_map_favorite",
+"delete_favorite",
+"register_new_legend",
+"delete_legend",
+"overlay_",
+"register_new_legend_set",
+"delete_legend_set",
+"assign_indicators_to_legend_set",
+"assign_dataelements_to_legend_set",
+"export_image",
+"export_thematic_map_to_png",
+"total_distance",
+"set_thematic_map_date_type",
+"date",
+"legend_symbolizer",
+"image",
+"register_new_wms_overlay",
+"register_new_vector_overlay",
+"manage_favorites",
+"layers",
+"tools",
+"edit_layer",
+"clear",
+"search",
+"labels",
+"show_hide_feature_labels",
+"opacity",
+"history",
+"data_options",
+"legend_options",
+"parent_organisation_unit",
+"resize",
+"facility_layer",
+"open_which_layer",
+"organisationunit_search",
+"no_features_rendered",
+"wms_overlays",
+"file_overlays",
+"symbol_layer",
+"centroid_layer",
+"no_values_found",
+"close",
+"boundary_layer",
+"register_new_wms_overlay",
+"can_view",
+"can_edit_and_view",
+"none",
+"public_access",
+"search_for_user_groups",
+"create",
+"add_new",
+"search_for_favorites",
+"prev",
+"next",
+"no_map_to_save",
+"rename",
+"overwrite",
+"share_with_other_people",
+"legend_set_name",
+"legend_name",
+"add_legend",
+"favorite_outdated_create_new",
+"no_valid_coordinates_found",
+"invalid_coordinates",
+"coordinates_could_not_be_loaded",
+"no_aggregated_data_found",
+"start_end_value",
+"current_legends",
+"legendsets",
+"download",
+"please_create_map_first",
+"download_map_as_png",
+"write_your_interpretation",
+"share",
+"share_interpretation",
+"organisation_unit_level_parent",
+"value_type",
+"equal_counts",
+"classes_method",
+"low_color_size",
+"high_color_size",
+"no_indicator_selected",
+"no_dataelement_selected",
+"no_period_selected",
+"no_legendset_selected",
+"no_level_selected",
+"no_parent_organisationunit_selected",
+"no_groupset_selected",
+"show_circular_area",
+"organisationunit_groupset",
+"surrounding_areas",
+"table",
+"chart",
+"layer_stack_transparency",
+"thematic_layer_1_legend",
+"thematic_layer_2_legend",
+"thematic_layer_3_legend",
+"thematic_layer_4_legend",
+"facility_layer_legend",
+"facility_layer_export_currently_not_supported",
+"link_",
+"level_not_higher_than_parent_level",
+"information",
+"parent_unit",
+"home",
+"google_streets",
+"google_hybrid",
+"openstreetmap",
+"totals",
+"details",
+"last_week",
+"last_month",
+"last_bimonth",
+"last_quarter",
+"last_sixmonth",
+"this_year",
+"last_year",
+"last_financial_year",
+"select_organisation_units",
+"select_boundaries_and_levels",
+"select_organisation_unit_levels",
+"select_boundaries_and_groups",
+"select_organisation_unit_groups",
+"user_organisation_unit",
+"user_organisation_unit_children",
+"user_organisation_unit_grandchildren",
+"user_organisation_units",
+"dataset",
+"select_all_children",
+"select_groupset",
+"allow_external_access",
+"daily",
+"weekly",
+"monthly",
+"bimonthly",
+"quarterly",
+"sixmonthly",
+"yearly",
+"financial_oct",
+"financial_july",
+"financial_april",
+"relative",
+"reporting_rates",
+"event_layer",
+"coordinate"
+]

=== added file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/manifest.webapp'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/manifest.webapp	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/manifest.webapp	2014-01-30 15:41:11 +0000
@@ -0,0 +1,21 @@
+{
+    "version": "0.1",
+    "name": "DHIS2 GIS",
+    "description": "The GIS app",
+    "launch_path": "/app/index.html",
+    "icons": {
+        "16": "/img/icons/mortar-16.png",
+        "48": "/img/icons/mortar-48.png",
+        "128": "/img/icons/mortar-128.png"
+    },
+    "developer": {
+        "name": "Jan Henrik Øverland",
+        "url": "https://launchpad.net/~janhenrik-overland";
+    },
+    "default_locale": "en",
+    "activities": {
+        "dhis": {
+            "href": "../.."
+        }
+    }
+}

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js	2014-01-30 14:13:24 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js	2014-01-30 16:34:39 +0000
@@ -3,6 +3,24 @@
 		initialize;
 		//gis;
 
+	// set app config
+	(function() {
+
+		// ext configuration
+		Ext.QuickTips.init();
+
+		Ext.override(Ext.LoadMask, {
+			onHide: function() {
+				this.callParent();
+			}
+		});
+
+		// right click handler
+		document.body.oncontextmenu = function() {
+			return false;
+		};
+	}());
+
 	GIS.app = {};
 
 	GIS.app.extendInstance = function(gis) {
@@ -8599,27 +8617,13 @@
 	};
 
 	initialize = function() {
-
-		// ext configuration
-		Ext.QuickTips.init();
-
-		Ext.override(Ext.LoadMask, {
-			onHide: function() {
-				this.callParent();
-			}
-		});
-
-		// right click handler
-		document.body.oncontextmenu = function() {
-			return false;
-		};
-
-		Ext.Ajax.request({
-			url: '../initialize.action',
-			success: function(r) {
-				var init = Ext.decode(r.responseText);
-
-				GIS.i18n = init.i18n;
+		var requests = [],
+			callbacks = 0,
+			init = {},
+			fn;
+
+		fn = function() {
+			if (++callbacks === requests.length) {
 
 				gis = GIS.core.getInstance(init);
 
@@ -8629,6 +8633,136 @@
 
 				gis.viewport = createViewport();
 			}
-		});
+		};
+
+        Ext.Ajax.request({
+            url: 'manifest.webapp',
+			success: function(r) {
+				init.contextPath = Ext.decode(r.responseText).activities.dhis.href;
+
+				Ext.Ajax.request({
+					url: 'i18n.json',
+					success: function(r) {
+						var i18nArray = Ext.decode(r.responseText);
+
+						Ext.Ajax.request({
+							url: init.contextPath + '/api/system/context.json',
+							success: function(r) {
+								init.contextPath = Ext.decode(r.responseText).contextPath || init.contextPath;
+
+								// i18n
+								requests.push({
+									url: init.contextPath + '/api/i18n?package=org.hisp.dhis.mapping',
+									method: 'POST',
+									headers: {
+										'Content-Type': 'application/json',
+										'Accepts': 'application/json'
+									},
+									params: Ext.encode(i18nArray),
+									success: function(r) {
+										GIS.i18n = Ext.decode(r.responseText);
+										fn();
+									}
+								});
+
+								// root nodes
+								requests.push({
+									url: init.contextPath + '/api/organisationUnits.json?level=1&paging=false&links=false&viewClass=detailed',
+									success: function(r) {
+										init.rootNodes = Ext.decode(r.responseText).organisationUnits || [];
+										fn();
+									}
+								});
+
+								// user orgunits and children
+								requests.push({
+									url: init.contextPath + '/api/organisationUnits.json?userOnly=true&viewClass=detailed&links=false',
+									success: function(r) {
+										var organisationUnits = Ext.decode(r.responseText).organisationUnits || [];
+
+										if (organisationUnits.length) {
+											var ou = organisationUnits[0];
+
+											if (ou.id) {
+												init.user = {
+													ou: ou.id
+												};
+
+												init.user.ouc = ou.children ? Ext.Array.pluck(ou.children, 'id') : null;
+											};
+										}
+										else {
+											alert('User is not assigned to any organisation units');
+										}
+
+										fn();
+									}
+								});
+
+								// organisation unit levels
+								requests.push({
+									url: init.contextPath + '/api/organisationUnitLevels.json?paging=false&links=false',
+									success: function(r) {
+										init.organisationUnitLevels = Ext.decode(r.responseText).organisationUnitLevels || [];
+										fn();
+									}
+								});
+
+								// indicator groups
+								requests.push({
+									url: init.contextPath + '/api/indicatorGroups.json?links=false&paging=false',
+									success: function(r) {
+										init.indicatorGroups = Ext.decode(r.responseText).indicatorGroups || [];
+										fn();
+									}
+								});
+
+								// data element groups
+								requests.push({
+									url: init.contextPath + '/api/dataElementGroups.json?links=false&paging=false',
+									success: function(r) {
+										init.dataElementGroups = Ext.decode(r.responseText).dataElementGroups || [];
+										fn();
+									}
+								});
+
+                                // infrastructural
+								requests.push({
+									url: init.contextPath + '/dhis-web-mapping/initialize.action',
+									success: function(r) {
+										init.systemSettings = Ext.decode(r.responseText).systemSettings || {};
+										fn();
+									}
+								});
+
+								for (var i = 0; i < requests.length; i++) {
+									Ext.Ajax.request(requests[i]);
+								}
+                            }
+                        });
+                    }
+                });
+            }
+        });
+
+
+
+
+		//Ext.Ajax.request({
+			//url: '../initialize.action',
+			//success: function(r) {
+				//var init = Ext.decode(r.responseText);
+
+				//GIS.i18n = init.i18n;
+
+				//gis = GIS.core.getInstance(init);
+
+				//GIS.app.createExtensions();
+
+				//GIS.app.extendInstance(gis);
+
+				//gis.viewport = createViewport();
+			//}
+		//});
 	}();
 });

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/plugin.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/plugin.js	2014-01-03 19:33:15 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/plugin.js	2014-01-30 14:58:19 +0000
@@ -1434,7 +1434,7 @@
 
                     // events
                     for (var i = 0, row, obj; i < rows.length; i++) {
-                        row = rows[i];						
+                        row = rows[i];
                         obj = {};
 
                         for (var j = 0; j < row.length; j++) {
@@ -2165,7 +2165,7 @@
 
 		loadData = function(view, features) {
 			var success;
-			
+
 			view = view || layer.core.view;
 			features = features || layer.core.featureStore.features;
 

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonInitialize.vm'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonInitialize.vm	2014-01-30 14:43:05 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonInitialize.vm	2014-01-30 16:36:21 +0000
@@ -3,449 +3,7 @@
 (
 #end
 {
-"contextPath":"$!{contextPath}",
-"systemSettings":{"infrastructuralDataElementGroup":"$!{infrastructuralDataElementGroup.uid}","infrastructuralPeriodType": "$!{infrastructuralPeriodType.name}"},
-"user":{
-  "id":"$!currentUser.uid",
-  "name":"$currentUser.name",
-  "isAdmin": $auth.hasAccess( "dhis-web-mapping", "deleteMapLegendSet" ),
-  "ou":"$currentUser.getOrganisationUnit().uid",
-  "ouc":[#foreach($ou in $currentUser.getOrganisationUnit().getSortedChildren())"$ou.uid"#if($velocityCount < $oucSize),#end#end]
-},
-"rootNodes":[#foreach( $node in $rootNodes ){"id": "$!{node.uid}", "name": "$!encoder.jsonEncode( ${node.name} )", "level": 1, "hasChildrenWithCoordinates": $!{node.hasChildrenWithCoordinates()}, "expanded": true}#if($velocityCount<$rootNodes.size()),#end#end],
-"organisationUnitLevels":[#foreach($level in $levels){"id":"$!{level.uid}","name":"$!encoder.jsonEncode($!{level.displayName})","level":"$!{level.level}"}#if($velocityCount<$levels.size()),#end#end],
-"indicatorGroups":[#foreach($group in $indicatorGroups){"id":"$!{group.uid}","name":"$!encoder.jsonEncode($!{group.displayName})"}#if($velocityCount<$indicatorGroups.size()),#end#end],
-"dataElementGroups":[#foreach($group in $dataElementGroups){"id":"$!{group.uid}","name":"$!encoder.jsonEncode($!{group.displayName})"}#if($velocityCount<$dataElementGroups.size()),#end#end],
-"i18n": {
-"save": "$encoder.jsEscape($i18n.getString( 'save' ) , "'")",
-"saved": "$encoder.jsEscape($i18n.getString( 'saved' ) , "'")",
-"delete_": "$encoder.jsEscape($i18n.getString( 'delete' ) , "'")",
-"deleted": "$encoder.jsEscape($i18n.getString( 'deleted' ) , "'")",
-"update": "$encoder.jsEscape($i18n.getString( 'update' ) , "'")",
-"updated": "$encoder.jsEscape($i18n.getString( 'updated' ) , "'")",
-"register": "$encoder.jsEscape($i18n.getString( 'register' ) , "'")",
-"registered": "$encoder.jsEscape($i18n.getString( 'registered' ) , "'")",
-"add": "$encoder.jsEscape($i18n.getString( 'add' ) , "'")",
-"added": "$encoder.jsEscape($i18n.getString( 'added' ) , "'")",
-"assign": "$encoder.jsEscape($i18n.getString( 'assign' ) , "'")",
-"assigned": "$encoder.jsEscape($i18n.getString( 'assigned' ) , "'")",
-"refresh": "$encoder.jsEscape($i18n.getString( 'refresh' ) , "'")",
-"refreshed": "$encoder.jsEscape($i18n.getString( 'refreshed' ) , "'")",
-"select": "$encoder.jsEscape($i18n.getString( 'select' ) , "'")",
-"selected": "$encoder.jsEscape($i18n.getString( 'selected' ) , "'")",
-"cancel": "$encoder.jsEscape($i18n.getString( 'cancel' ) , "'")",
-"cancelled": "$encoder.jsEscape($i18n.getString( 'cancelled' ) , "'")",
-"apply": "$encoder.jsEscape($i18n.getString( 'apply' ) , "'")",
-"applied": "$encoder.jsEscape($i18n.getString( 'applied' ) , "'")",
-"show": "$encoder.jsEscape($i18n.getString( 'show' ) , "'")",
-"hide": "$encoder.jsEscape($i18n.getString( 'hide' ) , "'")",
-"showhide": "$encoder.jsEscape($i18n.getString( 'showhide' ) , "'")",
-"toggle": "$encoder.jsEscape($i18n.getString( 'toggle' ) , "'")",
-"boundary": "$encoder.jsEscape($i18n.getString( 'boundary' ) , "'")",
-"level": "$encoder.jsEscape($i18n.getString( 'level' ) , "'")",
-"type": "$encoder.jsEscape($i18n.getString( 'type' ) , "'")",
-"new_": "$encoder.jsEscape($i18n.getString( 'new' ) , "'")",
-"edit": "$encoder.jsEscape($i18n.getString( 'edit' ) , "'")",
-"export_": "$encoder.jsEscape($i18n.getString( 'export' ) , "'")",
-"map": "$encoder.jsEscape($i18n.getString( 'map' ) , "'")",
-"favorite": "$encoder.jsEscape($i18n.getString( 'favorite' ) , "'")",
-"favorites": "$encoder.jsEscape($i18n.getString( 'favorites' ) , "'")",
-"legend": "$encoder.jsEscape($i18n.getString( 'legend' ) , "'")",
-"legendset": "$encoder.jsEscape($i18n.getString( 'legendset' ) , "'")",
-"group": "$encoder.jsEscape($i18n.getString( 'group' ) , "'")",
-"groups": "$encoder.jsEscape($i18n.getString( 'groups' ) , "'")",
-"groupset": "$encoder.jsEscape($i18n.getString( 'groupset' ) , "'")",
-"groupsets": "$encoder.jsEscape($i18n.getString( 'groupsets' ) , "'")",
-"indicators": "$encoder.jsEscape($i18n.getString( 'indicators' ) , "'")",
-"dataelements": "$encoder.jsEscape($i18n.getString( 'dataelements' ) , "'")",
-"thematic_map": "$encoder.jsEscape($i18n.getString( 'thematic_map' ) , "'")",
-"polygon_layer": "$encoder.jsEscape($i18n.getString( 'polygon_layer' ) , "'")",
-"point_layer": "$encoder.jsEscape($i18n.getString( 'point_layer' ) , "'")",
-"indicator_group": "$encoder.jsEscape($i18n.getString( 'indicator_group' ) , "'")",	
-"indicator": "$encoder.jsEscape($i18n.getString( 'indicator' ) , "'")",	
-"period_type": "$encoder.jsEscape($i18n.getString( 'period_type' ) , "'")",	
-"period": "$encoder.jsEscape($i18n.getString( 'period' ) , "'")",	
-"map": "$encoder.jsEscape($i18n.getString( 'map' ) , "'")",
-"in_the_map": "$encoder.jsEscape($i18n.getString( 'in_the_map' ) , "'")",
-"legend_type": "$encoder.jsEscape($i18n.getString( 'legend_type' ) , "'")",	
-"method": "$encoder.jsEscape($i18n.getString( 'method' ) , "'")",	
-"classes": "$encoder.jsEscape($i18n.getString( 'classes' ) , "'")",	
-"low_color": "$encoder.jsEscape($i18n.getString( 'low_color' ) , "'")",	
-"high_color": "$encoder.jsEscape($i18n.getString( 'high_color' ) , "'")",	
-"optional": "$encoder.jsEscape($i18n.getString( 'optional' ) , "'")",	
-"loading": "$encoder.jsEscape($i18n.getString( 'loading' ) , "'")",	
-"automatic": "$encoder.jsEscape($i18n.getString( 'automatic' ) , "'")",	
-"predefined": "$encoder.jsEscape($i18n.getString( 'predefined' ) , "'")",	
-"equal_intervals": "$encoder.jsEscape($i18n.getString( 'equal_intervals' ) , "'")",	
-"equal_group_count": "$encoder.jsEscape($i18n.getString( 'equal_group_count' ) , "'")",	
-"fixed_intervals": "$encoder.jsEscape($i18n.getString( 'fixed_intervals' ) , "'")",	
-"administrator": "$encoder.jsEscape($i18n.getString( 'administrator' ) , "'")",	
-"map_source": "$encoder.jsEscape($i18n.getString( 'map_source' ) , "'")",	
-"base_coordinate": "$encoder.jsEscape($i18n.getString( 'base_coordinate' ) , "'")",	
-"admin_panels": "$encoder.jsEscape($i18n.getString( 'admin_panels' ) , "'")",	
-"longitude_x": "$encoder.jsEscape($i18n.getString( 'longitude_x' ) , "'")",	
-"latitude_y": "$encoder.jsEscape($i18n.getString( 'latitude_y' ) , "'")",	
-"save_coordinate": "$encoder.jsEscape($i18n.getString( 'save_coordinate' ) , "'")",	
-"export_map_as_image": "$encoder.jsEscape($i18n.getString( 'export_map_as_image' ) , "'")",	
-"status": "$encoder.jsEscape($i18n.getString( 'status' ) , "'")",	
-"error_while_retrieving_data": "$encoder.jsEscape($i18n.getString( 'error_while_retrieving_data' ) , "'")",	
-"bounds": "$encoder.jsEscape($i18n.getString( 'bounds' ) , "'")",
-"comma_separated_values": "$encoder.jsEscape($i18n.getString( 'comma_separated_values' ) , "'")",
-"ajax_request_failed": "$encoder.jsEscape($i18n.getString( 'ajax_request_failed' ) , "'")",
-"component_init_not_complete": "$encoder.jsEscape($i18n.getString( 'component_init_not_complete' ) , "'")",
-"error": "$encoder.jsEscape($i18n.getString( 'error' ) , "'")",
-"form_is_not_complete": "$encoder.jsEscape($i18n.getString( 'form_is_not_complete' ) , "'")",
-"filter": "$encoder.jsEscape($i18n.getString( 'filter' ) , "'")",
-"assign_all": "$encoder.jsEscape($i18n.getString( 'assign_all' ) , "'")",
-"auto_assign": "$encoder.jsEscape($i18n.getString( 'auto_assign' ) , "'")",
-"please_select_map": "$encoder.jsEscape($i18n.getString( 'please_select_map' ) , "'")",	
-"auto_assignment": "$encoder.jsEscape($i18n.getString( 'auto_assignment' ) , "'")",	
-"remove_all": "$encoder.jsEscape($i18n.getString( 'remove_all' ) , "'")",
-"remove_all_relations": "$encoder.jsEscape($i18n.getString( 'remove_all_relations' ) , "'")",
-"all_relations_for_the_map": "$encoder.jsEscape($i18n.getString( 'all_relations_for_the_map' ) , "'")",
-"removed": "$encoder.jsEscape($i18n.getString( 'removed' ) , "'")",
-"error_while_deleting_relation_map_and_oranisation_unit": "$encoder.jsEscape($i18n.getString( 'error_while_deleting_relation_map_and_oranisation_unit' ) , "'")",
-"remove_selected": "$encoder.jsEscape($i18n.getString( 'remove_selected' ) , "'")",
-"remove_relation": "$encoder.jsEscape($i18n.getString( 'remove_relation' ) , "'")",
-"please_select_least_one_organisation_unit_in_the_list": "$encoder.jsEscape($i18n.getString( 'please_select_least_one_organisation_unit_in_the_list' ) , "'")",
-"assign": "$encoder.jsEscape($i18n.getString( 'assign' ) , "'")",	
-"organisation_units": "$encoder.jsEscape($i18n.getString( 'organisation_units' ) , "'")",	
-"assigned_to": "$encoder.jsEscape($i18n.getString( 'assigned_to' ) , "'")",
-"database": "$encoder.jsEscape($i18n.getString( 'database' ) , "'")",
-"is_already_assigned": "$encoder.jsEscape($i18n.getString( 'is_already_assigned' ) , "'")",
-"min_size": "$encoder.jsEscape($i18n.getString( 'min_size' ) , "'")",
-"max_size": "$encoder.jsEscape($i18n.getString( 'max_size' ) , "'")",
-"select_a_value": "$encoder.jsEscape($i18n.getString( 'select_a_value' ) , "'")",
-"applying_organisation_units_relations": "$encoder.jsEscape($i18n.getString( 'applying_organisation_units_relations' ) , "'")",
-"assigning": "$encoder.jsEscape($i18n.getString( 'assigning' ) , "'")",
-"no": "$encoder.jsEscape($i18n.getString( 'no' ) , "'")",
-"assigned": "$encoder.jsEscape($i18n.getString( 'assigned' ) , "'")",
-"creating_map": "$encoder.jsEscape($i18n.getString( 'creating_map' ) , "'")",
-"current_selection_no_data": "$encoder.jsEscape($i18n.getString( 'current_selection_no_data' ) , "'")",
-"creating_choropleth": "$encoder.jsEscape($i18n.getString( 'creating_choropleth' ) , "'")",	
-"assign_organisation_unit": "$encoder.jsEscape($i18n.getString( 'assign_organisation_unit' ) , "'")",
-"no_feature_selected": "$encoder.jsEscape($i18n.getString( 'no_feature_selected' ) , "'")",
-"cursor_position": "$encoder.jsEscape($i18n.getString( 'cursor_position' ) , "'")",
-"overview_map": "$encoder.jsEscape($i18n.getString( 'overview_map' ) , "'")",
-"feature_data": "$encoder.jsEscape($i18n.getString( 'feature_data' ) , "'")",
-"map_legend_polygon": "$encoder.jsEscape($i18n.getString( 'map_legend_polygon' ) , "'")",
-"map_legend_point": "$encoder.jsEscape($i18n.getString( 'map_legend_point' ) , "'")",
-"return_to_DHIS_2_dashboard": "$encoder.jsEscape($i18n.getString( 'return_to_DHIS_2_dashboard' ) , "'")",
-"exit_gis": "$encoder.jsEscape($i18n.getString( 'exit_gis' ) , "'")",
-"help": "$encoder.jsEscape($i18n.getString( 'help' ) , "'")",
-"create_predefined_legend_sets": "$encoder.jsEscape($i18n.getString( 'create_predefined_legend_sets' ) , "'")",
-"export_map_as_excel": "$encoder.jsEscape($i18n.getString( 'export_map_as_excel' ) , "'")",
-"favorite_map_views": "$encoder.jsEscape($i18n.getString( 'favorite_map_views' ) , "'")",	
-"show_hide_labels": "$encoder.jsEscape($i18n.getString( 'show_hide_labels' ) , "'")",	
-"zoom_to_visible_extent": "$encoder.jsEscape($i18n.getString( 'zoom_to_visible_extent' ) , "'")",
-"zoom_out": "$encoder.jsEscape($i18n.getString( 'zoom_out' ) , "'")",
-"zoom_in": "$encoder.jsEscape($i18n.getString( 'zoom_in' ) , "'")",
-"assign_organisation_units_to_map": "$encoder.jsEscape($i18n.getString( 'assign_organisation_units_to_map' ) , "'")",
-"map_layers": "$encoder.jsEscape($i18n.getString( 'map_layers' ) , "'")",
-"and": "$encoder.jsEscape($i18n.getString( 'and' ) , "'")",
-"was_saved_as_base_coordinate": "$encoder.jsEscape($i18n.getString( 'was_saved_as_base_coordinate' ) , "'")",
-"error_while_saving_data": "$encoder.jsEscape($i18n.getString( 'error_while_saving_data' ) , "'")",
-"is_saved_as_map_source": "$encoder.jsEscape($i18n.getString( 'is_saved_as_map_source' ) , "'")",
-"is_already_selected": "$encoder.jsEscape($i18n.getString( 'is_already_selected' ) , "'")",
-"overlays_": "$encoder.jsEscape($i18n.getString( 'overlays_' ) , "'")",
-"overlays": "$encoder.jsEscape($i18n.getString( 'overlays' ) , "'")",
-"was_registered": "$encoder.jsEscape($i18n.getString( 'was_registered' ) , "'")",
-"is_already_in_use": "$encoder.jsEscape($i18n.getString( 'is_already_in_use' ) , "'")",
-"new_overlay": "$encoder.jsEscape($i18n.getString( 'new_overlay' ) , "'")",
-"name": "$encoder.jsEscape($i18n.getString( 'name' ) , "'")",
-"overlay_form_is_not_complete": "$encoder.jsEscape($i18n.getString( 'overlay_form_is_not_complete' ) , "'")",
-"display_name": "$encoder.jsEscape($i18n.getString( 'display_name' ) , "'")",
-"fill_color": "$encoder.jsEscape($i18n.getString( 'fill_color' ) , "'")",
-"fill_opacity": "$encoder.jsEscape($i18n.getString( 'fill_opacity' ) , "'")",
-"stroke_color": "$encoder.jsEscape($i18n.getString( 'stroke_color' ) , "'")",
-"map_source_file": "$encoder.jsEscape($i18n.getString( 'map_source_file' ) , "'")",
-"please_enter_map_title": "$encoder.jsEscape($i18n.getString( 'please_enter_map_title' ) , "'")",
-"stroke_width": "$encoder.jsEscape($i18n.getString( 'stroke_width' ) , "'")",	
-"delete_overlay": "$encoder.jsEscape($i18n.getString( 'delete_overlay' ) , "'")",
-"overlay": "$encoder.jsEscape($i18n.getString( 'overlay' ) , "'")",
-"was_deleted": "$encoder.jsEscape($i18n.getString( 'was_deleted' ) , "'")",
-"please_select_an_overlay": "$encoder.jsEscape($i18n.getString( 'please_select_an_overlay' ) , "'")",
-"select": "$encoder.jsEscape($i18n.getString( 'select' ) , "'")",
-"title": "$encoder.jsEscape($i18n.getString( 'title' ) , "'")",
-"preview": "$encoder.jsEscape($i18n.getString( 'preview' ) , "'")",
-"queryable": "$encoder.jsEscape($i18n.getString( 'queryable' ) , "'")",
-"description": "$encoder.jsEscape($i18n.getString( 'description' ) , "'")",
-"register_map": "$encoder.jsEscape($i18n.getString( 'register_map' ) , "'")",
-"register_maps": "$encoder.jsEscape($i18n.getString( 'register_maps' ) , "'")",
-"zoom": "$encoder.jsEscape($i18n.getString( 'zoom' ) , "'")",	
-"name_column": "$encoder.jsEscape($i18n.getString( 'name_column' ) , "'")",	
-"organisation_unit_level": "$encoder.jsEscape($i18n.getString( 'organisation_unit_level' ) , "'")",
-"please_render_map_first": "$encoder.jsEscape($i18n.getString( 'please_render_map_first' ) , "'")",
-"please_select_an_overlay": "$encoder.jsEscape($i18n.getString( 'please_select_an_overlay' ) , "'")",
-"select": "$encoder.jsEscape($i18n.getString( 'select' ) , "'")",
-"title": "$encoder.jsEscape($i18n.getString( 'title' ) , "'")",
-"include_legend": "$encoder.jsEscape($i18n.getString( 'include_legend' ) , "'")",
-"include_values": "$encoder.jsEscape($i18n.getString( 'include_values' ) , "'")",
-"export_excel": "$encoder.jsEscape($i18n.getString( 'export_excel' ) , "'")",
-"image_format": "$encoder.jsEscape($i18n.getString( 'image_format' ) , "'")",
-"image_quality": "$encoder.jsEscape($i18n.getString( 'image_quality' ) , "'")",
-"export_image": "$encoder.jsEscape($i18n.getString( 'export_image' ) , "'")",
-"image_export": "$encoder.jsEscape($i18n.getString( 'image_export' ) , "'")",
-"setup": "$encoder.jsEscape($i18n.getString( 'setup' ) , "'")",
-"medium": "$encoder.jsEscape($i18n.getString( 'medium' ) , "'")",	
-"large": "$encoder.jsEscape($i18n.getString( 'large' ) , "'")",
-"add_to_dashboard": "$encoder.jsEscape($i18n.getString( 'add_to_dashboard' ) , "'")",
-"dhis_dashboard": "$encoder.jsEscape($i18n.getString( 'dhis_dashboard' ) , "'")",
-"dashboard_map_view": "$encoder.jsEscape($i18n.getString( 'dashboard_map_view' ) , "'")",
-"added_to_dashboard": "$encoder.jsEscape($i18n.getString( 'added_to_dashboard' ) , "'")",
-"please_select_a_map_view": "$encoder.jsEscape($i18n.getString( 'please_select_a_map_view' ) , "'")",
-"view": "$encoder.jsEscape($i18n.getString( 'view' ) , "'")",
-"delete_map_view": "$encoder.jsEscape($i18n.getString( 'delete_map_view' ) , "'")",
-"new_map_view": "$encoder.jsEscape($i18n.getString( 'new_map_view' ) , "'")",
-"there_is_already_a_map_view_called": "$encoder.jsEscape($i18n.getString( 'there_is_already_a_map_view_called' ) , "'")",
-"thematic_map_form_is_not_complete": "$encoder.jsEscape($i18n.getString( 'thematic_map_form_is_not_complete' ) , "'")",	
-"map_view_form_is_not_complete": "$encoder.jsEscape($i18n.getString( 'map_view_form_is_not_complete' ) , "'")",	
-"save": "$encoder.jsEscape($i18n.getString( 'save' ) , "'")",
-"saving_current_thematic_map_selection": "$encoder.jsEscape($i18n.getString( 'saving_current_thematic_map_selection' ) , "'")",
-"new_legend_set": "$encoder.jsEscape($i18n.getString( 'new_legend_set' ) , "'")",
-"already_exists": "$encoder.jsEscape($i18n.getString( 'already_exists' ) , "'")",
-"a_legend_set_called": "$encoder.jsEscape($i18n.getString( 'a_legend_set_called' ) , "'")",
-"assign_to_indicator": "$encoder.jsEscape($i18n.getString( 'assign_to_indicator' ) , "'")",
-"assign_to_dataelement": "$encoder.jsEscape($i18n.getString( 'assign_to_dataelement' ) , "'")",
-"please_select_a_legend_set": "$encoder.jsEscape($i18n.getString( 'please_select_a_legend_set' ) , "'")",
-"link_legend_set_to_indicator": "$encoder.jsEscape($i18n.getString( 'link_legend_set_to_indicator' ) , "'")",
-"please_select_at_least_one_indicator": "$encoder.jsEscape($i18n.getString( 'please_select_at_least_one_indicator' ) , "'")",	
-"was_updated": "$encoder.jsEscape($i18n.getString( 'was_updated' ) , "'")",	
-"automatic_legend_sets": "$encoder.jsEscape($i18n.getString( 'automatic_legend_sets' ) , "'")",
-"start_value": "$encoder.jsEscape($i18n.getString( 'start_value' ) , "'")",
-"end_value": "$encoder.jsEscape($i18n.getString( 'end_value' ) , "'")",
-"color": "$encoder.jsEscape($i18n.getString( 'color' ) , "'")",
-"new_legend": "$encoder.jsEscape($i18n.getString( 'new_legend' ) , "'")",
-"please_select_a_legend": "$encoder.jsEscape($i18n.getString( 'please_select_a_legend' ) , "'")",
-"legends": "$encoder.jsEscape($i18n.getString( 'legends' ) , "'")",
-"overlapping_legends_are_not_allowed": "$encoder.jsEscape($i18n.getString( 'overlapping_legends_are_not_allowed' ) , "'")",
-"please_select_at_least_one_legend": "$encoder.jsEscape($i18n.getString( 'please_select_at_least_one_legend' ) , "'")",
-"predefined_legend_sets": "$encoder.jsEscape($i18n.getString( 'predefined_legend_sets' ) , "'")",	
-"assignment": "$encoder.jsEscape($i18n.getString( 'assignment' ) , "'")",	
-"geoserver_shapefiles": "$encoder.jsEscape($i18n.getString( 'geoserver_shapefiles' ) , "'")",
-"must_be_a_number": "$encoder.jsEscape($i18n.getString( 'must_be_a_number' ) , "'")",
-"must_be_between_180_and_180": "$encoder.jsEscape($i18n.getString( 'must_be_between_-180_and_180' ) , "'")",
-"must_be_between_90_and_90": "$encoder.jsEscape($i18n.getString( 'must_be_between_-90_and_90' ) , "'")",
-"there_is_already_a_map_called": "$encoder.jsEscape($i18n.getString( 'there_is_already_a_map_called' ) , "'")",
-"selected_relations_removed": "$encoder.jsEscape($i18n.getString( 'selected_relations_removed' ) , "'")",
-"the_source_file": "$encoder.jsEscape($i18n.getString( 'the_source_file' ) , "'")",
-"delete_baselayer": "$encoder.jsEscape($i18n.getString( 'delete_baselayer' ) , "'")",
-"please_select_a_baselayer": "$encoder.jsEscape($i18n.getString( 'please_select_a_baselayer' ) , "'")",
-"baselayer": "$encoder.jsEscape($i18n.getString( 'baselayer' ) , "'")",
-"baselayers": "$encoder.jsEscape($i18n.getString( 'baselayers' ) , "'")",
-"url": "$encoder.jsEscape($i18n.getString( 'url' ) , "'")",
-"layer": "$encoder.jsEscape($i18n.getString( 'layer' ) , "'")",
-"new_baselayer": "$encoder.jsEscape($i18n.getString( 'new_baselayer' ) , "'")",
-"baselayer_form_is_not_complete": "$encoder.jsEscape($i18n.getString( 'baselayer_form_is_not_complete' ) , "'")",
-"mapvaluetype": "$encoder.jsEscape($i18n.getString( 'mapvaluetype' ) , "'")",
-"dataelement_group": "$encoder.jsEscape($i18n.getString( 'dataelement_group' ) , "'")",
-"dataelement": "$encoder.jsEscape($i18n.getString( 'dataelement' ) , "'")",
-"organisation_units_assigned": "$encoder.jsEscape($i18n.getString( 'organisation_units_assigned' ) , "'")",
-"the_view": "$encoder.jsEscape($i18n.getString( 'the_view' ) , "'")",
-"parent_orgunit": "$encoder.jsEscape($i18n.getString( 'parent_orgunit' ) , "'")",
-"delete_map": "$encoder.jsEscape($i18n.getString( 'delete_map' ) , "'")",
-"aggregating_map_values": "$encoder.jsEscape($i18n.getString( 'aggregating_map_values' ) , "'")",
-"loading_geojson": "$encoder.jsEscape($i18n.getString( 'loading_geojson' ) , "'")",
-"date_type": "$encoder.jsEscape($i18n.getString( 'date_type' ) , "'")",
-"saved_as_date_type": "$encoder.jsEscape($i18n.getString( 'saved_as_date_type' ) , "'")",
-"start_date": "$encoder.jsEscape($i18n.getString( 'start_date' ) , "'")",
-"end_date": "$encoder.jsEscape($i18n.getString( 'end_date' ) , "'")",
-"fixed_periods": "$encoder.jsEscape($i18n.getString( 'fixed_periods' ) , "'")",
-"start_end_dates": "$encoder.jsEscape($i18n.getString( 'start_end_dates' ) , "'")",
-"please_expand_layer_panel": "$encoder.jsEscape($i18n.getString( 'please_expand_layer_panel' ) , "'")",
-"has_no_orgunits": "$encoder.jsEscape($i18n.getString( 'has_no_orgunits' ) , "'")",
-"highlight_color": "$encoder.jsEscape($i18n.getString( 'highlight_color' ) , "'")",
-"feature_filter": "$encoder.jsEscape($i18n.getString( 'feature_filter' ) , "'")",
-"locate_features": "$encoder.jsEscape($i18n.getString( 'locate_features' ) , "'")",
-"no_coordinates_found": "$encoder.jsEscape($i18n.getString( 'no_coordinates_found' ) , "'")",
-"image_resolution": "$encoder.jsEscape($i18n.getString( 'image_resolution' ) , "'")",
-"max": "$encoder.jsEscape($i18n.getString( 'max' ) , "'")",
-"characters": "$encoder.jsEscape($i18n.getString( 'characters' ) , "'")",
-"geojson_file": "$encoder.jsEscape($i18n.getString( 'geojson_file' ) , "'")",
-"history": "$encoder.jsEscape($i18n.getString( 'history' ) , "'")",
-"api_key": "$encoder.jsEscape($i18n.getString( 'api_key' ) , "'")",
-"measure_distance": "$encoder.jsEscape($i18n.getString( 'measure_distance' ) , "'")",
-"low_point_size": "$encoder.jsEscape($i18n.getString( 'low_point_size' ) , "'")",
-"high_point_size": "$encoder.jsEscape($i18n.getString( 'high_point_size' ) , "'")",
-"system": "$encoder.jsEscape($i18n.getString( 'system' ) , "'")",
-"width": "$encoder.jsEscape($i18n.getString( 'width' ) , "'")",
-"height": "$encoder.jsEscape($i18n.getString( 'height' ) , "'")",
-"text_filter": "$encoder.jsEscape($i18n.getString( 'text_filter' ) , "'")",
-"font_size": "$encoder.jsEscape($i18n.getString( 'font_size' ) , "'")",
-"bold_": "$encoder.jsEscape($i18n.getString( 'bold_' ) , "'")",
-"italic": "$encoder.jsEscape($i18n.getString( 'italic' ) , "'")",
-"level": "$encoder.jsEscape($i18n.getString( 'level' ) , "'")",
-"low_point_size": "$encoder.jsEscape($i18n.getString( 'low_point_size' ) , "'")",
-"high_point_size": "$encoder.jsEscape($i18n.getString( 'high_point_size' ) , "'")",
-"system": "$encoder.jsEscape($i18n.getString( 'system' ) , "'")",
-"width": "$encoder.jsEscape($i18n.getString( 'width' ) , "'")",
-"height": "$encoder.jsEscape($i18n.getString( 'height' ) , "'")",
-"text_filter": "$encoder.jsEscape($i18n.getString( 'text_filter' ) , "'")",
-"font_size": "$encoder.jsEscape($i18n.getString( 'font_size' ) , "'")",
-"bold_": "$encoder.jsEscape($i18n.getString( 'bold_' ) , "'")",
-"italic": "$encoder.jsEscape($i18n.getString( 'italic' ) , "'")",
-"select_outer_boundary": "$encoder.jsEscape($i18n.getString( 'select_outer_boundary' ) , "'")",
-"select_organisation_unit_level": "$encoder.jsEscape($i18n.getString( 'select_organisation_unit_level' ) , "'")",
-"type": "$encoder.jsEscape($i18n.getString( 'type' ) , "'")",
-"code": "$encoder.jsEscape($i18n.getString( 'code' ) , "'")",
-"address": "$encoder.jsEscape($i18n.getString( 'address' ) , "'")",
-"contact_person": "$encoder.jsEscape($i18n.getString( 'contact_person' ) , "'")",
-"email": "$encoder.jsEscape($i18n.getString( 'email' ) , "'")",
-"phone_number": "$encoder.jsEscape($i18n.getString( 'phone_number' ) , "'")",
-"infrastructural_data": "$encoder.jsEscape($i18n.getString( 'infrastructural_data' ) , "'")",
-"select_point_level": "$encoder.jsEscape($i18n.getString( 'select_point_level' ) , "'")",
-"level_is_higher_that_boundary_level": "$encoder.jsEscape($i18n.getString( 'level_is_higher_that_boundary_level' ) , "'")",
-"select_new_location_on_map": "$encoder.jsEscape($i18n.getString( 'select_new_location_on_map' ) , "'")",
-"show_information_sheet": "$encoder.jsEscape($i18n.getString( 'show_information_sheet' ) , "'")",
-"relocate": "$encoder.jsEscape($i18n.getString( 'relocate' ) , "'")",
-"administrator_settings": "$encoder.jsEscape($i18n.getString( 'administrator_settings' ) , "'")",
-"thematic_layer": "$encoder.jsEscape($i18n.getString( 'thematic_layer' ) , "'")",
-"register_map_favorite": "$encoder.jsEscape($i18n.getString( 'register_map_favorite' ) , "'")",
-"delete_favorite": "$encoder.jsEscape($i18n.getString( 'delete_favorite' ) , "'")",
-"register_new_legend": "$encoder.jsEscape($i18n.getString( 'register_new_legend' ) , "'")",
-"delete_legend": "$encoder.jsEscape($i18n.getString( 'delete_legend' ) , "'")",
-"overlay_": "$encoder.jsEscape($i18n.getString( 'overlay_' ) , "'")",
-"register_new_legend_set": "$encoder.jsEscape($i18n.getString( 'register_new_legend_set' ) , "'")",
-"delete_legend_set": "$encoder.jsEscape($i18n.getString( 'delete_legend_set' ) , "'")",
-"assign_indicators_to_legend_set": "$encoder.jsEscape($i18n.getString( 'assign_indicators_to_legend_set' ) , "'")",
-"assign_dataelements_to_legend_set": "$encoder.jsEscape($i18n.getString( 'assign_dataelements_to_legend_set' ) , "'")",
-"export_image": "$encoder.jsEscape($i18n.getString( 'export_image' ) , "'")",
-"export_thematic_map_to_png": "$encoder.jsEscape($i18n.getString( 'export_thematic_map_to_png' ) , "'")",
-"total_distance": "$encoder.jsEscape($i18n.getString( 'total_distance' ) , "'")",
-"set_thematic_map_date_type": "$encoder.jsEscape($i18n.getString( 'set_thematic_map_date_type' ) , "'")",
-"date": "$encoder.jsEscape($i18n.getString( 'date' ) , "'")",
-"legend_symbolizer": "$encoder.jsEscape($i18n.getString( 'legend_symbolizer' ) , "'")",
-"image": "$encoder.jsEscape($i18n.getString( 'image' ) , "'")",
-"register_new_wms_overlay": "$encoder.jsEscape($i18n.getString( 'register_new_wms_overlay' ) , "'")",
-"register_new_vector_overlay": "$encoder.jsEscape($i18n.getString( 'register_new_vector_overlay' ) , "'")",
-"manage_favorites": "$encoder.jsEscape($i18n.getString( 'manage_favorites' ) , "'")",
-"layers": "$encoder.jsEscape($i18n.getString( 'layers' ) , "'")",
-"tools": "$encoder.jsEscape($i18n.getString( 'tools' ) , "'")",
-"edit_layer": "$encoder.jsEscape($i18n.getString( 'edit_layer' ) , "'")",
-"clear": "$encoder.jsEscape($i18n.getString( 'clear' ) , "'")",
-"search": "$encoder.jsEscape($i18n.getString( 'search' ) , "'")",
-"labels": "$encoder.jsEscape($i18n.getString( 'labels' ) , "'")",
-"show_hide_feature_labels": "$encoder.jsEscape($i18n.getString( 'show_hide_feature_labels' ) , "'")",
-"opacity": "$encoder.jsEscape($i18n.getString( 'opacity' ) , "'")",
-"history": "$encoder.jsEscape($i18n.getString( 'history' ) , "'")",
-"data_options": "$encoder.jsEscape($i18n.getString( 'data_options' ) , "'")",
-"legend_options": "$encoder.jsEscape($i18n.getString( 'legend_options' ) , "'")",
-"parent_organisation_unit": "$encoder.jsEscape($i18n.getString( 'parent_organisation_unit' ) , "'")",
-"resize": "$encoder.jsEscape($i18n.getString( 'resize' ) , "'")",
-"facility_layer": "$encoder.jsEscape($i18n.getString( 'facility_layer' ) , "'")",
-"open_which_layer": "$encoder.jsEscape($i18n.getString( 'open_which_layer' ) , "'")",
-"organisationunit_search": "$encoder.jsEscape($i18n.getString( 'organisationunit_search' ) , "'")",
-"no_features_rendered": "$encoder.jsEscape($i18n.getString( 'no_features_rendered' ) , "'")",
-"wms_overlays": "$encoder.jsEscape($i18n.getString( 'wms_overlays' ) , "'")",
-"file_overlays": "$encoder.jsEscape($i18n.getString( 'file_overlays' ) , "'")",
-"symbol_layer": "$encoder.jsEscape($i18n.getString( 'symbol_layer' ) , "'")",
-"centroid_layer": "$encoder.jsEscape($i18n.getString( 'centroid_layer' ) , "'")",
-"no_values_found": "$encoder.jsEscape($i18n.getString( 'no_values_found' ) , "'")",
-"close": "$encoder.jsEscape($i18n.getString( 'close' ) , "'")",
-"boundary_layer": "$encoder.jsEscape($i18n.getString( 'boundary_layer' ) , "'")",
-"register_new_wms_overlay": "$encoder.jsEscape($i18n.getString( 'register_new_wms_overlay' ) , "'")",
-"can_view": "$encoder.jsEscape($i18n.getString( 'can_view' ) , "'")",
-"can_edit_and_view": "$encoder.jsEscape($i18n.getString( 'can_edit_and_view' ) , "'")",
-"none": "$encoder.jsEscape($i18n.getString( 'none' ) , "'")",
-"public_access": "$encoder.jsEscape($i18n.getString( 'public_access' ) , "'")",
-"search_for_user_groups": "$encoder.jsEscape($i18n.getString( 'search_for_user_groups' ) , "'")",
-"create": "$encoder.jsEscape($i18n.getString( 'create' ) , "'")",
-"add_new": "$encoder.jsEscape($i18n.getString( 'add_new' ) , "'")",
-"search_for_favorites": "$encoder.jsEscape($i18n.getString( 'search_for_favorites' ) , "'")",
-"prev": "$encoder.jsEscape($i18n.getString( 'prev' ) , "'")",
-"next": "$encoder.jsEscape($i18n.getString( 'next' ) , "'")",
-"no_map_to_save": "$encoder.jsEscape($i18n.getString( 'no_map_to_save' ) , "'")",
-"rename": "$encoder.jsEscape($i18n.getString( 'rename' ) , "'")",
-"overwrite": "$encoder.jsEscape($i18n.getString( 'overwrite' ) , "'")",
-"share_with_other_people": "$encoder.jsEscape($i18n.getString( 'share_with_other_people' ) , "'")",
-"legend_set_name": "$encoder.jsEscape($i18n.getString( 'legend_set_name' ) , "'")",
-"legend_name": "$encoder.jsEscape($i18n.getString( 'legend_name' ) , "'")",
-"add_legend": "$encoder.jsEscape($i18n.getString( 'add_legend' ) , "'")",
-"favorite_outdated_create_new": "$encoder.jsEscape($i18n.getString( 'favorite_outdated_create_new' ) , "'")",
-"no_valid_coordinates_found": "$encoder.jsEscape($i18n.getString( 'no_valid_coordinates_found' ) , "'")",
-"invalid_coordinates": "$encoder.jsEscape($i18n.getString( 'invalid_coordinates' ) , "'")",
-"coordinates_could_not_be_loaded": "$encoder.jsEscape($i18n.getString( 'coordinates_could_not_be_loaded' ) , "'")",
-"no_aggregated_data_found": "$encoder.jsEscape($i18n.getString( 'no_aggregated_data_found' ) , "'")",
-"start_end_value": "$encoder.jsEscape($i18n.getString( 'start_end_value' ) , "'")",
-"current_legends": "$encoder.jsEscape($i18n.getString( 'current_legends' ) , "'")",
-"legendsets": "$encoder.jsEscape($i18n.getString( 'legendsets' ) , "'")",
-"download": "$encoder.jsEscape($i18n.getString( 'download' ) , "'")",
-"please_create_map_first": "$encoder.jsEscape($i18n.getString( 'please_create_map_first' ) , "'")",
-"download_map_as_png": "$encoder.jsEscape($i18n.getString( 'download_map_as_png' ) , "'")",
-"write_your_interpretation": "$encoder.jsEscape($i18n.getString( 'write_your_interpretation' ) , "'")",
-"share": "$encoder.jsEscape($i18n.getString( 'share' ) , "'")",
-"share_interpretation": "$encoder.jsEscape($i18n.getString( 'share_interpretation' ) , "'")",
-"organisation_unit_level_parent": "$encoder.jsEscape($i18n.getString( 'organisation_unit_level_parent' ) , "'")",
-"value_type": "$encoder.jsEscape($i18n.getString( 'value_type' ) , "'")",
-"equal_counts": "$encoder.jsEscape($i18n.getString( 'equal_counts' ) , "'")",
-"classes_method": "$encoder.jsEscape($i18n.getString( 'classes_method' ) , "'")",
-"low_color_size": "$encoder.jsEscape($i18n.getString( 'low_color_size' ) , "'")",
-"high_color_size": "$encoder.jsEscape($i18n.getString( 'high_color_size' ) , "'")",
-"no_indicator_selected": "$encoder.jsEscape($i18n.getString( 'no_indicator_selected' ) , "'")",
-"no_dataelement_selected": "$encoder.jsEscape($i18n.getString( 'no_dataelement_selected' ) , "'")",
-"no_period_selected": "$encoder.jsEscape($i18n.getString( 'no_period_selected' ) , "'")",
-"no_legendset_selected": "$encoder.jsEscape($i18n.getString( 'no_legendset_selected' ) , "'")",
-"no_level_selected": "$encoder.jsEscape($i18n.getString( 'no_level_selected' ) , "'")",
-"no_parent_organisationunit_selected": "$encoder.jsEscape($i18n.getString( 'no_parent_organisationunit_selected' ) , "'")",
-"no_groupset_selected": "$encoder.jsEscape($i18n.getString( 'no_groupset_selected' ) , "'")",
-"show_circular_area": "$encoder.jsEscape($i18n.getString( 'show_circular_area' ) , "'")",
-"organisationunit_groupset": "$encoder.jsEscape($i18n.getString( 'organisationunit_groupset' ) , "'")",
-"surrounding_areas": "$encoder.jsEscape($i18n.getString( 'surrounding_areas' ) , "'")",
-"table": "$encoder.jsEscape($i18n.getString( 'table' ) , "'")",
-"chart": "$encoder.jsEscape($i18n.getString( 'chart' ) , "'")",
-"layer_stack_transparency": "$encoder.jsEscape($i18n.getString( 'layer_stack_transparency' ) , "'")",
-"thematic_layer_1_legend": "$encoder.jsEscape($i18n.getString( 'thematic_layer_1_legend' ) , "'")",
-"thematic_layer_2_legend": "$encoder.jsEscape($i18n.getString( 'thematic_layer_2_legend' ) , "'")",
-"thematic_layer_3_legend": "$encoder.jsEscape($i18n.getString( 'thematic_layer_3_legend' ) , "'")",
-"thematic_layer_4_legend": "$encoder.jsEscape($i18n.getString( 'thematic_layer_4_legend' ) , "'")",
-"facility_layer_legend": "$encoder.jsEscape($i18n.getString( 'facility_layer_legend' ) , "'")",
-"facility_layer_export_currently_not_supported": "$encoder.jsEscape($i18n.getString( 'facility_layer_export_currently_not_supported' ) , "'")",
-"link_": "$encoder.jsEscape($i18n.getString( 'link_' ) , "'")",
-"level_not_higher_than_parent_level": "$encoder.jsEscape($i18n.getString( 'level_not_higher_than_parent_level' ) , "'")",
-"information": "$encoder.jsEscape($i18n.getString( 'information' ) , "'")",
-"parent_unit": "$encoder.jsEscape($i18n.getString( 'parent_unit' ) , "'")",
-"home": "$encoder.jsEscape($i18n.getString( 'home' ) , "'")",
-"google_streets": "$encoder.jsEscape($i18n.getString( 'google_streets' ) , "'")",
-"google_hybrid": "$encoder.jsEscape($i18n.getString( 'google_hybrid' ) , "'")",
-"openstreetmap": "$encoder.jsEscape($i18n.getString( 'openstreetmap' ) , "'")",
-"totals": "$encoder.jsEscape($i18n.getString( 'totals' ) , "'")",
-"details": "$encoder.jsEscape($i18n.getString( 'details' ) , "'")",
-"last_week": "$encoder.jsEscape($i18n.getString( 'last_week' ) , "'")",
-"last_month": "$encoder.jsEscape($i18n.getString( 'last_month' ) , "'")",
-"last_bimonth": "$encoder.jsEscape($i18n.getString( 'last_bimonth' ) , "'")",
-"last_quarter": "$encoder.jsEscape($i18n.getString( 'last_quarter' ) , "'")",
-"last_sixmonth": "$encoder.jsEscape($i18n.getString( 'last_sixmonth' ) , "'")",
-"this_year": "$encoder.jsEscape($i18n.getString( 'this_year' ) , "'")",
-"last_year": "$encoder.jsEscape($i18n.getString( 'last_year' ) , "'")",
-"last_financial_year": "$encoder.jsEscape($i18n.getString( 'last_financial_year' ) , "'")",
-"select_organisation_units": "$encoder.jsEscape($i18n.getString( 'select_organisation_units' ) , "'")",
-"select_boundaries_and_levels": "$encoder.jsEscape($i18n.getString( 'select_boundaries_and_levels' ) , "'")",
-"select_organisation_unit_levels": "$encoder.jsEscape($i18n.getString( 'select_organisation_unit_levels' ) , "'")",
-"select_boundaries_and_groups": "$encoder.jsEscape($i18n.getString( 'select_boundaries_and_groups' ) , "'")",
-"select_organisation_unit_groups": "$encoder.jsEscape($i18n.getString( 'select_organisation_unit_groups' ) , "'")",
-"user_organisation_unit": "$encoder.jsEscape($i18n.getString( 'user_organisation_unit' ) , "'")",
-"user_organisation_unit_children": "$encoder.jsEscape($i18n.getString( 'user_organisation_unit_children' ) , "'")",
-"user_organisation_unit_grandchildren": "$encoder.jsEscape($i18n.getString( 'user_organisation_unit_grandchildren' ) , "'")",
-"user_organisation_units": "$encoder.jsEscape($i18n.getString( 'user_organisation_units' ) , "'")",
-"dataset": "$encoder.jsEscape($i18n.getString( 'dataset' ) , "'")",
-"select_all_children": "$encoder.jsEscape($i18n.getString( 'select_all_children' ) , "'")",
-"select_groupset": "$encoder.jsEscape($i18n.getString( 'select_groupset' ) , "'")",
-"allow_external_access": "$encoder.jsEscape($i18n.getString( 'allow_external_access' ) , "'")",
-"daily": "$encoder.jsEscape($i18n.getString( 'daily' ) , "'")",
-"weekly": "$encoder.jsEscape($i18n.getString( 'weekly' ) , "'")",
-"monthly": "$encoder.jsEscape($i18n.getString( 'monthly' ) , "'")",
-"bimonthly": "$encoder.jsEscape($i18n.getString( 'bimonthly' ) , "'")",
-"quarterly": "$encoder.jsEscape($i18n.getString( 'quarterly' ) , "'")",
-"sixmonthly": "$encoder.jsEscape($i18n.getString( 'sixmonthly' ) , "'")",
-"yearly": "$encoder.jsEscape($i18n.getString( 'yearly' ) , "'")",
-"financial_oct": "$encoder.jsEscape($i18n.getString( 'financial_oct' ) , "'")",
-"financial_july": "$encoder.jsEscape($i18n.getString( 'financial_july' ) , "'")",
-"financial_april": "$encoder.jsEscape($i18n.getString( 'financial_april' ) , "'")",
-"relative": "$encoder.jsEscape($i18n.getString( 'relative' ) , "'")",
-"reporting_rates": "$encoder.jsEscape($i18n.getString( 'reporting_rates' ) , "'")",
-"event_layer": "$encoder.jsEscape($i18n.getString( 'event_layer' ) , "'")",
-"coordinate": "$encoder.jsEscape($i18n.getString( 'coordinate' ) , "'")"
-}
+"systemSettings":{"infrastructuralDataElementGroup":"$!{infrastructuralDataElementGroup.uid}","infrastructuralPeriodType": "$!{infrastructuralPeriodType.name}"}
 }
 #if($callback)
 )

=== removed file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonOrganisationUnitChildren.vm'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonOrganisationUnitChildren.vm	2012-10-31 13:41:50 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonOrganisationUnitChildren.vm	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-#set( $size = $units.size() )
-[
-#foreach( $unit in $units )
-{
-  "id": "${unit.uid}",
-  "level": ${unit.level},
-  "text": "$encoder.jsonEncode( ${unit.name} )",
-  "hasChildrenWithCoordinates": $!{unit.hasChildrenWithCoordinates()},
-  "path":"#foreach($anc in $unit.getAncestors())/${anc.uid}#end/${unit.uid}",
-  "leaf":#if( $unit.hasChild() ) false#else true#end
-}#if( $velocityCount < $size ),#end
-#end
-]
\ No newline at end of file

=== removed file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonPeriodTypes.vm'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonPeriodTypes.vm	2011-05-25 10:34:19 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonPeriodTypes.vm	1970-01-01 00:00:00 +0000
@@ -1,10 +0,0 @@
-#set( $size = $object.size() )
-{ "periodTypes": [
-#foreach( $periodType in $object )
-  {
-    "id": "$!{periodType.id}",
-    "name": "$!encoder.jsonEncode( $periodType.name )",
-    "displayName": "$!encoder.jsonEncode( $i18n.getString($periodType.name) )"
-  }#if( $velocityCount < $size ),#end
-#end
-] }