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