From bab9c96e0f4730d52415469c45b92798e03f0733 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 03 Nov 2011 07:46:10 -0400
Subject: [PATCH] Differentiate new activity on feeds panel

---
 src/com/gitblit/client/GitblitClient.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/com/gitblit/client/GitblitClient.java b/src/com/gitblit/client/GitblitClient.java
index 2a08b85..cc2b458 100644
--- a/src/com/gitblit/client/GitblitClient.java
+++ b/src/com/gitblit/client/GitblitClient.java
@@ -51,6 +51,8 @@
 
 	private static final long serialVersionUID = 1L;
 
+	private static final Date NEVER = new Date(0);
+
 	protected final GitblitRegistration reg;
 
 	public final String url;
@@ -213,12 +215,14 @@
 		Set<SyndicatedEntryModel> allEntries = new HashSet<SyndicatedEntryModel>();
 		if (reg.feeds.size() > 0) {
 			for (FeedModel feed : reg.feeds) {
-				feed.lastRefresh = new Date();
+				feed.lastRefreshDate = feed.currentRefreshDate;
+				feed.currentRefreshDate = new Date();
 				List<SyndicatedEntryModel> entries = SyndicationUtils.readFeed(url,
 						feed.repository, feed.branch, -1, account, password);
 				allEntries.addAll(entries);
 			}
 		}
+		reg.cacheFeeds();
 		syndicatedEntries.clear();
 		syndicatedEntries.addAll(allEntries);
 		Collections.sort(syndicatedEntries);
@@ -241,6 +245,18 @@
 		}
 	}
 
+	public Date getLastFeedRefresh(String repository, String branch) {
+		FeedModel feed = new FeedModel();
+		feed.repository = repository;
+		feed.branch = branch;
+		if (reg.feeds.contains(feed)) {
+			int idx = reg.feeds.indexOf(feed);
+			feed = reg.feeds.get(idx);
+			return feed.lastRefreshDate;
+		}
+		return NEVER;
+	}
+
 	public boolean isSubscribed(RepositoryModel repository) {
 		return subscribedRepositories.contains(repository.name.toLowerCase());
 	}

--
Gitblit v1.9.1