From 790c3829edafcb41d6eeb14301a23db22c559e96 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 01 Jul 2011 17:45:23 -0400
Subject: [PATCH] Documentation. Added upgrade info to site. Moved todos to GoogleCode.

---
 src/com/gitblit/IStoredSettings.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/IStoredSettings.java b/src/com/gitblit/IStoredSettings.java
index 403a067..e220a81 100644
--- a/src/com/gitblit/IStoredSettings.java
+++ b/src/com/gitblit/IStoredSettings.java
@@ -28,15 +28,23 @@
 
 	protected final Logger logger;
 
+	protected final Properties overrides = new Properties();
+
 	public IStoredSettings(Class<? extends IStoredSettings> clazz) {
 		logger = LoggerFactory.getLogger(clazz);
 	}
 
 	protected abstract Properties read();
 
+	private Properties getSettings() {
+		Properties props = read();
+		props.putAll(overrides);
+		return props;
+	}
+
 	public List<String> getAllKeys(String startingWith) {
 		List<String> keys = new ArrayList<String>();
-		Properties props = read();
+		Properties props = getSettings();
 		if (StringUtils.isEmpty(startingWith)) {
 			keys.addAll(props.stringPropertyNames());
 		} else {
@@ -52,7 +60,7 @@
 	}
 
 	public boolean getBoolean(String name, boolean defaultValue) {
-		Properties props = read();
+		Properties props = getSettings();
 		if (props.containsKey(name)) {
 			String value = props.getProperty(name);
 			if (!StringUtils.isEmpty(value)) {
@@ -63,7 +71,7 @@
 	}
 
 	public int getInteger(String name, int defaultValue) {
-		Properties props = read();
+		Properties props = getSettings();
 		if (props.containsKey(name)) {
 			try {
 				String value = props.getProperty(name);
@@ -79,7 +87,7 @@
 	}
 
 	public String getString(String name, String defaultValue) {
-		Properties props = read();
+		Properties props = getSettings();
 		if (props.containsKey(name)) {
 			String value = props.getProperty(name);
 			if (value != null) {
@@ -95,11 +103,15 @@
 
 	public List<String> getStrings(String name, String separator) {
 		List<String> strings = new ArrayList<String>();
-		Properties props = read();
+		Properties props = getSettings();
 		if (props.containsKey(name)) {
 			String value = props.getProperty(name);
 			strings = StringUtils.getStringsFromValue(value, separator);
 		}
 		return strings;
 	}
+
+	public void overrideSetting(String key, String value) {
+		overrides.put(key, value);
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1