From cf17b2267bab439cadafbc1def298bae0d5ea659 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 30 May 2013 23:29:25 -0400
Subject: [PATCH] Added a Dashboard page with a daily ref log of starred/owned repos

---
 src/main/java/com/gitblit/models/PushLogEntry.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/models/PushLogEntry.java b/src/main/java/com/gitblit/models/PushLogEntry.java
index d8f0b09..8b006d9 100644
--- a/src/main/java/com/gitblit/models/PushLogEntry.java
+++ b/src/main/java/com/gitblit/models/PushLogEntry.java
@@ -54,6 +54,8 @@
 	private final Map<String, ReceiveCommand.Type> refUpdates;
 	
 	private final Map<String, String> refIdChanges;
+	
+	private int authorCount;
 
 	/**
 	 * Constructor for specified duration of push from start date.
@@ -72,6 +74,7 @@
 		this.commits = new LinkedHashSet<RepositoryCommit>();
 		this.refUpdates = new HashMap<String, ReceiveCommand.Type>();
 		this.refIdChanges = new HashMap<String, String>();
+		this.authorCount = -1;
 	}
 	
 	/**
@@ -152,6 +155,7 @@
 	public RepositoryCommit addCommit(String branch, RevCommit commit) {
 		RepositoryCommit commitModel = new RepositoryCommit(repository, branch, commit);
 		if (commits.add(commitModel)) {
+			authorCount = -1;
 			return commitModel;
 		}
 		return null;
@@ -165,6 +169,7 @@
 	 */
 	public void addCommits(List<RepositoryCommit> list) {
 		commits.addAll(list);
+		authorCount = -1;
 	}
 	
 	/**
@@ -254,6 +259,18 @@
 		return list;
 	}
 	
+	public int getAuthorCount() {
+		if (authorCount == -1) {
+			Set<String> authors = new HashSet<String>();
+			for (RepositoryCommit commit : commits) {
+				String name = commit.getAuthorIdent().getName();
+				authors.add(name);
+			}
+			authorCount = authors.size();
+		}
+		return authorCount;
+	}
+	
 	/**
 	 * The total number of commits in the push.
 	 * 

--
Gitblit v1.9.1