From 255d3a3cf953736f172c25e9898f3518294aa05c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 12 Jun 2013 17:23:41 -0400
Subject: [PATCH] Add stats header to the dashboard activity feed

---
 src/main/java/com/gitblit/wicket/pages/DashboardPage.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
index 5d83839..284c9a5 100644
--- a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
@@ -201,8 +201,9 @@
 				}
 			}
 
-			GoogleCharts charts = createCharts(pushes, authorExclusions);
-			add(new HeaderContributor(charts));
+			addCharts(pushes, authorExclusions, daysBack);
+		} else {
+			add(new Label("feedheader").setVisible(false));
 		}
 		
 		// active repository list
@@ -371,14 +372,16 @@
 	 * and the active authors pie chart
 	 * 
 	 * @param recentPushes
-	 * @return
+	 * @param authorExclusions
+	 * @param daysBack
 	 */
-	private GoogleCharts createCharts(List<PushLogEntry> recentPushes, Set<String> authorExclusions) {
+	private void addCharts(List<PushLogEntry> recentPushes, Set<String> authorExclusions, int daysBack) {
 		// activity metrics
 		Map<String, Metric> repositoryMetrics = new HashMap<String, Metric>();
 		Map<String, Metric> authorMetrics = new HashMap<String, Metric>();
 
 		// aggregate repository and author metrics
+		int totalCommits = 0;
 		for (PushLogEntry push : recentPushes) {
 
 			// aggregate repository metrics
@@ -389,6 +392,7 @@
 			repositoryMetrics.get(repository).count += 1;
 			
 			for (RepositoryCommit commit : push.getCommits()) {
+				totalCommits++;
 				String author = StringUtils.removeNewlines(commit.getAuthorIdent().getName());
 				String authorName = author.toLowerCase();
 				String authorEmail = StringUtils.removeNewlines(commit.getAuthorIdent().getEmailAddress()).toLowerCase();
@@ -400,6 +404,9 @@
 				}
 			}
 		}
+		
+		add(new Label("feedheader", MessageFormat.format(getString("gb.recentActivityStats"),
+				daysBack, totalCommits, authorMetrics.size())));
 
 		// build google charts
 		GoogleCharts charts = new GoogleCharts();
@@ -422,7 +429,7 @@
 		chart.setShowLegend(false);
 		charts.addChart(chart);
 
-		return charts;
+		add(new HeaderContributor(charts));
 	}
 	
 	class RepoListItem implements Serializable {

--
Gitblit v1.9.1