From 284a7bd54e9cddb0eabcd77148ee64639010d2ee Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 26 Oct 2011 17:11:12 -0400
Subject: [PATCH] Return management-level settings if web.enableRpcAdministration=false

---
 src/com/gitblit/client/GitblitManager.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/com/gitblit/client/GitblitManager.java b/src/com/gitblit/client/GitblitManager.java
index e5b6b43..d902c59 100644
--- a/src/com/gitblit/client/GitblitManager.java
+++ b/src/com/gitblit/client/GitblitManager.java
@@ -29,6 +29,7 @@
 import java.awt.event.WindowEvent;
 import java.io.File;
 import java.io.IOException;
+import java.net.ConnectException;
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -272,7 +273,13 @@
 					registrations.put(reg.name, reg);
 					rebuildRecentMenu();
 				} catch (Throwable t) {
-					Utils.showException(GitblitManager.this, t);
+					Throwable cause = t.getCause();
+					if (cause instanceof ConnectException) {
+						JOptionPane.showMessageDialog(GitblitManager.this, cause.getMessage(),
+								Translation.get("gb.error"), JOptionPane.ERROR_MESSAGE);
+					} else {
+						Utils.showException(GitblitManager.this, t);
+					}
 				} finally {
 					setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 				}
@@ -316,9 +323,14 @@
 				Date lastLogin = dateFormat.parse(config.getString("servers", server, "lastLogin"));
 				String url = config.getString("servers", server, "url");
 				String account = config.getString("servers", server, "account");
-				// FIXME this is pretty lame
-				char[] password = new String(Base64.decode(config.getString("servers", server,
-						"password"))).toCharArray();
+				char[] password;
+				String pw = config.getString("servers", server, "password");
+				if (StringUtils.isEmpty(pw)) {
+					password = new char[0];
+				} else {
+					// FIXME this is pretty lame
+					password = new String(Base64.decode(pw)).toCharArray();
+				}
 				GitblitRegistration reg = new GitblitRegistration(server, url, account, password);
 				reg.lastLogin = lastLogin;
 				registrations.put(reg.name, reg);

--
Gitblit v1.9.1