From f3ff376a5eb945f15329b66bbb7d69ed3ca2ce3f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 03 Aug 2012 20:39:50 -0400
Subject: [PATCH] Confirmed fix for GO settings manipulation (issue 85)
---
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