From 4c835e61e8ea2d5af2acf0c85c3c1f0d06f419df Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 26 Oct 2011 17:19:55 -0400
Subject: [PATCH] Documentation.

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

diff --git a/src/com/gitblit/client/GitblitManager.java b/src/com/gitblit/client/GitblitManager.java
index e5b6b43..524c213 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;
@@ -64,6 +65,7 @@
 import org.eclipse.jgit.util.FS;
 
 import com.gitblit.Constants;
+import com.gitblit.GitBlitException.ForbiddenException;
 import com.gitblit.utils.StringUtils;
 
 /**
@@ -272,7 +274,19 @@
 					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 if (cause instanceof ForbiddenException) {
+						JOptionPane
+								.showMessageDialog(
+										GitblitManager.this,
+										"This Gitblit server does not allow RPC Management or Administration",
+										Translation.get("gb.error"), JOptionPane.ERROR_MESSAGE);
+					} else {
+						Utils.showException(GitblitManager.this, t);
+					}
 				} finally {
 					setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 				}
@@ -316,9 +330,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