James Moger
2011-10-26 a70b43cde76b4baab82b4ce0d9ff82883f80b8df
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;
/**
@@ -98,6 +100,11 @@
         @Override
         public void windowClosing(WindowEvent event) {
            saveSizeAndPosition();
         }
         @Override
         public void windowOpened(WindowEvent event) {
            manageRegistrations();
         }
      });
@@ -272,7 +279,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 +335,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);