From 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 26 Nov 2013 15:58:15 -0500
Subject: [PATCH] Remove artifact setting from manager dialog

---
 src/main/java/com/gitblit/IStoredSettings.java |   87 +++++++++++++++++++++++++++++++++----------
 1 files changed, 66 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/gitblit/IStoredSettings.java b/src/main/java/com/gitblit/IStoredSettings.java
index 790f8b6..33c36ac 100644
--- a/src/main/java/com/gitblit/IStoredSettings.java
+++ b/src/main/java/com/gitblit/IStoredSettings.java
@@ -28,9 +28,9 @@
 
 /**
  * Base class for stored settings implementations.
- * 
+ *
  * @author James Moger
- * 
+ *
  */
 public abstract class IStoredSettings {
 
@@ -53,7 +53,7 @@
 	/**
 	 * Returns the list of keys whose name starts with the specified prefix. If
 	 * the prefix is null or empty, all key names are returned.
-	 * 
+	 *
 	 * @param startingWith
 	 * @return list of keys
 	 */
@@ -78,7 +78,7 @@
 	 * Returns the boolean value for the specified key. If the key does not
 	 * exist or the value for the key can not be interpreted as a boolean, the
 	 * defaultValue is returned.
-	 * 
+	 *
 	 * @param key
 	 * @param defaultValue
 	 * @return key value or defaultValue
@@ -98,7 +98,7 @@
 	 * Returns the integer value for the specified key. If the key does not
 	 * exist or the value for the key can not be interpreted as an integer, the
 	 * defaultValue is returned.
-	 * 
+	 *
 	 * @param key
 	 * @param defaultValue
 	 * @return key value or defaultValue
@@ -123,7 +123,7 @@
 	 * Returns the long value for the specified key. If the key does not
 	 * exist or the value for the key can not be interpreted as an long, the
 	 * defaultValue is returned.
-	 * 
+	 *
 	 * @param key
 	 * @param defaultValue
 	 * @return key value or defaultValue
@@ -143,7 +143,7 @@
 		}
 		return defaultValue;
 	}
-	
+
 	/**
 	 * Returns an int filesize from a string value such as 50m or 50mb
 	 * @param name
@@ -158,10 +158,10 @@
 		}
 		return com.gitblit.utils.FileUtils.convertSizeToInt(val, defaultValue);
 	}
-	
+
 	/**
 	 * Returns an long filesize from a string value such as 50m or 50mb
-	 * @param name
+	 * @param n
 	 * @param defaultValue
 	 * @return a long filesize or defaultValue if the key does not exist or can
 	 *         not be parsed
@@ -178,7 +178,7 @@
 	 * 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
 	 * defaultValue is returned.
-	 * 
+	 *
 	 * @param key
 	 * @param defaultValue
 	 * @return key value or defaultValue
@@ -198,7 +198,7 @@
 	 * Returns the string value for the specified key. If the key does not exist
 	 * or the value for the key can not be interpreted as a string, the
 	 * defaultValue is returned.
-	 * 
+	 *
 	 * @param key
 	 * @param defaultValue
 	 * @return key value or defaultValue
@@ -213,11 +213,11 @@
 		}
 		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
 	 */
@@ -228,13 +228,13 @@
 			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.
-	 * 
+	 *
 	 * @param name
 	 * @return list of strings
 	 */
@@ -245,7 +245,7 @@
 	/**
 	 * Returns a list of strings from the specified key using the specified
 	 * string separator.
-	 * 
+	 *
 	 * @param name
 	 * @param separator
 	 * @return list of strings
@@ -259,10 +259,45 @@
 		}
 		return strings;
 	}
-	
+
+	/**
+	 * Returns a list of space-separated integers from the specified key.
+	 *
+	 * @param name
+	 * @return list of strings
+	 */
+	public List<Integer> getIntegers(String name) {
+		return getIntegers(name, " ");
+	}
+
+	/**
+	 * Returns a list of integers from the specified key using the specified
+	 * string separator.
+	 *
+	 * @param name
+	 * @param separator
+	 * @return list of integers
+	 */
+	public List<Integer> getIntegers(String name, String separator) {
+		List<Integer> ints = new ArrayList<Integer>();
+		Properties props = getSettings();
+		if (props.containsKey(name)) {
+			String value = props.getProperty(name);
+			List<String> strings = StringUtils.getStringsFromValue(value, separator);
+			for (String str : strings) {
+				try {
+					int i = Integer.parseInt(str);
+					ints.add(i);
+				} catch (NumberFormatException e) {
+				}
+			}
+		}
+		return ints;
+	}
+
 	/**
 	 * Returns a map of strings from the specified key.
-	 * 
+	 *
 	 * @param name
 	 * @return map of string, string
 	 */
@@ -271,7 +306,7 @@
 		for (String string : getStrings(name)) {
 			String[] kvp = string.split("=", 2);
 			String key = kvp[0];
-			String value = kvp[1];				
+			String value = kvp[1];
 			map.put(key,  value);
 		}
 		return map;
@@ -279,7 +314,7 @@
 
 	/**
 	 * Override the specified key with the specified value.
-	 * 
+	 *
 	 * @param key
 	 * @param value
 	 */
@@ -288,9 +323,19 @@
 	}
 
 	/**
+	 * Override the specified key with the specified value.
+	 *
+	 * @param key
+	 * @param value
+	 */
+	public void overrideSetting(String key, int 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

--
Gitblit v1.9.1