From 8dbee66a830e728eadd5c32f6dff11f37c9932da Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 06 Jun 2012 15:55:50 -0400
Subject: [PATCH] Added contributed Spanish translation

---
 src/com/gitblit/IStoredSettings.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/IStoredSettings.java b/src/com/gitblit/IStoredSettings.java
index a376c81..e060091 100644
--- a/src/com/gitblit/IStoredSettings.java
+++ b/src/com/gitblit/IStoredSettings.java
@@ -16,7 +16,9 @@
 package com.gitblit;
 
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 
 import org.slf4j.Logger;
@@ -156,6 +158,24 @@
 		}
 		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");
+	}
 
 	/**
 	 * Returns a list of space-separated strings from the specified key.
@@ -184,6 +204,23 @@
 		}
 		return strings;
 	}
+	
+	/**
+	 * Returns a map of strings from the specified key.
+	 * 
+	 * @param name
+	 * @return map of string, string
+	 */
+	public Map<String, String> getMap(String name) {
+		Map<String, String> map = new LinkedHashMap<String, String>();
+		for (String string : getStrings(name)) {
+			String[] kvp = string.split("=", 2);
+			String key = kvp[0];
+			String value = kvp[1];				
+			map.put(key,  value);
+		}
+		return map;
+	}
 
 	/**
 	 * Override the specified key with the specified value.
@@ -194,4 +231,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