From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:34:05 -0500 Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders --- src/com/gitblit/client/GitblitRegistration.java | 36 +++++++++++++++++++++++++++++++++--- 1 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/client/GitblitRegistration.java b/src/com/gitblit/client/GitblitRegistration.java index bdd8b23..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; /** @@ -28,29 +31,56 @@ */ public class GitblitRegistration implements Serializable, Comparable<GitblitRegistration> { - public static final GitblitRegistration LOCALHOST = new GitblitRegistration("localhost", - "https://localhost:8443", "admin", "admin".toCharArray()); 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.compareTo(o.name); + return name.toLowerCase().compareTo(o.name.toLowerCase()); + } + + @Override + public String toString() { + return name + " (" + url + ")"; } } -- Gitblit v1.9.1