From f3ce6e80794ff3a234dbd8850c8501abda95cedb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 11 Jul 2012 17:14:30 -0400
Subject: [PATCH] Fixes and adjustments to test suite

---
 src/com/gitblit/GitBlit.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index dc53540..27d43c8 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -512,9 +512,15 @@
 				userCookie = new Cookie(Constants.NAME, "");
 			} else {
 				// set cookie for login
-				char[] cookie = userService.getCookie(user);
-				userCookie = new Cookie(Constants.NAME, new String(cookie));
-				userCookie.setMaxAge(Integer.MAX_VALUE);
+				String cookie = userService.getCookie(user);
+				if (StringUtils.isEmpty(cookie)) {
+					// create empty cookie
+					userCookie = new Cookie(Constants.NAME, "");
+				} else {
+					// create real cookie
+					userCookie = new Cookie(Constants.NAME, cookie);
+					userCookie.setMaxAge(Integer.MAX_VALUE);
+				}
 			}
 			userCookie.setPath("/");
 			response.addCookie(userCookie);
@@ -1823,9 +1829,13 @@
 		// ensure that the current values are updated in the setting models
 		for (String key : settings.getAllKeys(null)) {
 			SettingModel setting = settingsModel.get(key);
-			if (setting != null) {
-				setting.currentValue = settings.getString(key, "");
+			if (setting == null) {
+				// unreferenced setting, create a setting model
+				setting = new SettingModel();
+				setting.name = key;
+				settingsModel.add(setting);
 			}
+			setting.currentValue = settings.getString(key, "");			
 		}
 		settingsModel.pushScripts = getAllScripts();
 		return settingsModel;

--
Gitblit v1.9.1