=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/setting/SystemSettingManager.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/setting/SystemSettingManager.java 2014-04-30 15:46:01 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/setting/SystemSettingManager.java 2014-05-06 16:34:26 +0000 @@ -36,6 +36,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Map; /** * @author Stian Strandli @@ -155,4 +156,6 @@ String googleAnalyticsUA(); Integer credentialsExpires(); + + Map getSystemSettingsAsMap(); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/setting/DefaultSystemSettingManager.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/setting/DefaultSystemSettingManager.java 2014-04-30 15:46:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/setting/DefaultSystemSettingManager.java 2014-05-06 16:34:26 +0000 @@ -34,7 +34,9 @@ import java.io.Serializable; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author Stian Strandli @@ -189,4 +191,17 @@ { return (Integer) (getSystemSetting( KEY_CREDENTIALS_EXPIRES ) == null ? 0 : getSystemSetting( KEY_CREDENTIALS_EXPIRES )); } + + public Map getSystemSettingsAsMap() + { + Map settingsMap = new HashMap(); + Collection systemSettings = getAllSystemSettings(); + + for ( SystemSetting systemSetting : systemSettings ) + { + settingsMap.put( systemSetting.getName(), systemSetting.getValue() ); + } + + return settingsMap; + } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/setting/SystemSettingManagerTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/setting/SystemSettingManagerTest.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/setting/SystemSettingManagerTest.java 2014-05-06 16:34:26 +0000 @@ -30,8 +30,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.io.Serializable; import java.util.Collection; +import java.util.Map; import org.hisp.dhis.DhisSpringTest; import org.hisp.dhis.setting.SystemSetting; @@ -84,4 +87,21 @@ assertNotNull( settings ); assertEquals( 3, settings.size() ); } + + @Test + public void testGetSystemSettingsAsMap() + { + systemSettingManager.saveSystemSetting( "settingA", new String( "valueA" ) ); + systemSettingManager.saveSystemSetting( "settingB", new String( "valueB" ) ); + systemSettingManager.saveSystemSetting( "settingC", new String( "valueC" ) ); + + Map settingsMap = systemSettingManager.getSystemSettingsAsMap(); + + assertTrue( settingsMap.containsKey( "settingA" ) ); + assertTrue( settingsMap.containsKey( "settingB" ) ); + assertTrue( settingsMap.containsKey( "settingC" ) ); + assertEquals( "valueA", settingsMap.get( "settingA" ) ); + assertEquals( "valueB", settingsMap.get( "settingB" ) ); + assertEquals( "valueC", settingsMap.get( "settingC" ) ); + } } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemSettingController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemSettingController.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SystemSettingController.java 2014-05-06 16:34:26 +0000 @@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.Serializable; +import java.util.Map; /** * @author Lars Helge Overland @@ -86,6 +87,12 @@ return setting != null ? String.valueOf( setting ) : null; } + @RequestMapping(method = RequestMethod.GET, produces = ContextUtils.CONTENT_TYPE_JSON) + public @ResponseBody Map getSystemSetting() + { + return systemSettingManager.getSystemSettingsAsMap(); + } + @RequestMapping(value = "/{key}", method = RequestMethod.DELETE) @PreAuthorize("hasRole('ALL') or hasRole('F_SYSTEM_SETTING')") public void removeSystemSetting( @PathVariable("key") String key )