From 17820f3a1153250a325fed23dfc2da59ce6ba777 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 31 Oct 2011 22:47:21 -0400
Subject: [PATCH] More feeds work in Manager

---
 src/com/gitblit/client/GitblitManager.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/client/GitblitManager.java b/src/com/gitblit/client/GitblitManager.java
index 8f396f3..d9c2dcc 100644
--- a/src/com/gitblit/client/GitblitManager.java
+++ b/src/com/gitblit/client/GitblitManager.java
@@ -31,7 +31,6 @@
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
@@ -62,6 +61,7 @@
 
 import com.gitblit.Constants;
 import com.gitblit.GitBlitException.ForbiddenException;
+import com.gitblit.models.FeedModel;
 import com.gitblit.utils.StringUtils;
 
 /**
@@ -205,8 +205,8 @@
 				return;
 			}
 			// preserve feeds
-			newReg.feeds = reg.feeds;
-			
+			newReg.feeds.addAll(reg.feeds);
+
 			// use new reg
 			reg = newReg;
 		}
@@ -311,7 +311,11 @@
 				GitblitRegistration reg = new GitblitRegistration(server, url, account, password);
 				String[] feeds = config.getStringList("servers", server, "feeds");
 				if (feeds != null) {
-					reg.feeds = new ArrayList<String>(Arrays.asList(feeds));
+					// deserialize the field definitions
+					for (String definition : feeds) {
+						FeedModel feed = new FeedModel(definition);
+						reg.feeds.add(feed);
+					}
 				}
 				reg.lastLogin = lastLogin;
 				registrations.put(reg.name, reg);
@@ -343,8 +347,13 @@
 			if (reg.lastLogin != null) {
 				config.setString("servers", reg.name, "lastLogin", dateFormat.format(reg.lastLogin));
 			}
-			if (reg.feeds != null) {
-				config.setStringList("servers", reg.name, "feeds", reg.feeds);
+			// serialize the feed definitions
+			List<String> definitions = new ArrayList<String>();
+			for (FeedModel feed : reg.feeds) {
+				definitions.add(feed.toString());
+			}
+			if (definitions.size() > 0) {
+				config.setStringList("servers", reg.name, "feeds", definitions);
 			}
 			config.save();
 			return true;

--
Gitblit v1.9.1