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 | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/client/GitblitRegistration.java b/src/com/gitblit/client/GitblitRegistration.java index 482bf8f..f9d0748 100644 --- a/src/com/gitblit/client/GitblitRegistration.java +++ b/src/com/gitblit/client/GitblitRegistration.java @@ -16,7 +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; /** @@ -25,23 +29,58 @@ * @author James Moger * */ -public class GitblitRegistration implements Serializable { - +public class GitblitRegistration implements Serializable, Comparable<GitblitRegistration> { + private static final long serialVersionUID = 1L; - + String name; String url; String account; char[] password; + boolean savePassword; + Date lastLogin; + final List<FeedModel> feeds; public GitblitRegistration(String name, String url, String account, char[] password) { this.url = url; this.account = account; this.password = password; + this.savePassword = password != null && password.length > 0; if (StringUtils.isEmpty(name)) { this.name = url.substring(url.indexOf("//") + 2); } 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