From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/client/GitblitRegistration.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/com/gitblit/client/GitblitRegistration.java b/src/com/gitblit/client/GitblitRegistration.java
index 0463c12..f9d0748 100644
--- a/src/com/gitblit/client/GitblitRegistration.java
+++ b/src/com/gitblit/client/GitblitRegistration.java
@@ -16,8 +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;
 
 /**
@@ -36,6 +39,7 @@
 	char[] password;
 	boolean savePassword;
 	Date lastLogin;
+	final List<FeedModel> feeds;
 
 	public GitblitRegistration(String name, String url, String account, char[] password) {
 		this.url = url;
@@ -47,10 +51,36 @@
 		} 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);
+			}
+		}
+	}
+
+	protected void cacheFeeds() {
 	}
 
 	@Override
 	public int compareTo(GitblitRegistration o) {
 		return name.toLowerCase().compareTo(o.name.toLowerCase());
 	}
+
+	@Override
+	public String toString() {
+		return name + " (" + url + ")";
+	}
 }

--
Gitblit v1.9.1