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/GitblitRegistration.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/com/gitblit/client/GitblitRegistration.java b/src/com/gitblit/client/GitblitRegistration.java
index cbd4324..05b23d0 100644
--- a/src/com/gitblit/client/GitblitRegistration.java
+++ b/src/com/gitblit/client/GitblitRegistration.java
@@ -16,9 +16,11 @@
 package com.gitblit.client;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import com.gitblit.models.FeedModel;
 import com.gitblit.utils.StringUtils;
 
 /**
@@ -37,7 +39,7 @@
 	char[] password;
 	boolean savePassword;
 	Date lastLogin;
-	List<String> feeds;
+	final List<FeedModel> feeds;
 
 	public GitblitRegistration(String name, String url, String account, char[] password) {
 		this.url = url;
@@ -49,6 +51,24 @@
 		} else {
 			this.name = name;
 		}
+		feeds = new ArrayList<FeedModel>();
+	}
+
+	public void updateSubscribedFeeds(List<FeedModel> list) {
+		for (FeedModel feed : list) {
+			if (feeds.contains(feed)) {
+				// possibly unsubscribe/remove feed
+				int index = feeds.indexOf(feed);
+				FeedModel existingFeed = feeds.get(index);
+				existingFeed.subscribed = feed.subscribed;
+				if (!existingFeed.subscribed) {
+					feeds.remove(index);
+				}
+			} else if (feed.subscribed) {
+				// new subscription
+				feeds.add(feed);
+			}
+		}
 	}
 
 	@Override

--
Gitblit v1.9.1