From b94965e87929c6b4e42f9a2078dc0d910cc2637d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 09 May 2012 07:59:00 -0400 Subject: [PATCH] Merge pull request #17 from peterloron/master --- src/com/gitblit/IStoredSettings.java | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/IStoredSettings.java b/src/com/gitblit/IStoredSettings.java index 0cc4bb4..2f45f09 100644 --- a/src/com/gitblit/IStoredSettings.java +++ b/src/com/gitblit/IStoredSettings.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Properties; import org.slf4j.Logger; @@ -86,7 +87,7 @@ if (props.containsKey(name)) { String value = props.getProperty(name); if (!StringUtils.isEmpty(value)) { - return Boolean.parseBoolean(value); + return Boolean.parseBoolean(value.trim()); } } return defaultValue; @@ -107,7 +108,7 @@ try { String value = props.getProperty(name); if (!StringUtils.isEmpty(value)) { - return Integer.parseInt(value); + return Integer.parseInt(value.trim()); } } catch (NumberFormatException e) { logger.warn("Failed to parse integer for " + name + " using default of " @@ -116,7 +117,7 @@ } return defaultValue; } - + /** * Returns the char value for the specified key. If the key does not exist * or the value for the key can not be interpreted as a char, the @@ -131,7 +132,7 @@ if (props.containsKey(name)) { String value = props.getProperty(name); if (!StringUtils.isEmpty(value)) { - return value.charAt(0); + return value.trim().charAt(0); } } return defaultValue; @@ -151,10 +152,28 @@ if (props.containsKey(name)) { String value = props.getProperty(name); if (value != null) { - return value; + return value.trim(); } } return defaultValue; + } + + /** + * Returns the string value for the specified key. If the key does not + * exist an exception is thrown. + * + * @param key + * @return key value + */ + public String getRequiredString(String name) { + Properties props = getSettings(); + if (props.containsKey(name)) { + String value = props.getProperty(name); + if (value != null) { + return value.trim(); + } + } + throw new RuntimeException("Property (" + name + ") does not exist"); } /** @@ -194,4 +213,14 @@ public void overrideSetting(String key, String value) { overrides.put(key, value); } + + /** + * Updates the values for the specified keys and persists the entire + * configuration file. + * + * @param map + * of key, value pairs + * @return true if successful + */ + public abstract boolean saveSettings(Map<String, String> updatedSettings); } \ No newline at end of file -- Gitblit v1.9.1