From 07eb0963cae3a403f8774f65afa20c940ce7124f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 13 Jun 2014 08:57:41 -0400
Subject: [PATCH] Merged #103 "flotr2 throws exception on small dashboards"

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

diff --git a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
index 5c72b8b..9853449 100644
--- a/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/DashboardPage.java
@@ -34,7 +34,6 @@
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.eclipse.jgit.lib.Repository;
 
-import com.gitblit.GitBlit;
 import com.gitblit.Keys;
 import com.gitblit.models.DailyLogEntry;
 import com.gitblit.models.Metric;
@@ -49,9 +48,9 @@
 import com.gitblit.wicket.PageRegistration;
 import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
 import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
-import com.gitblit.wicket.charting.GoogleChart;
-import com.gitblit.wicket.charting.GoogleCharts;
-import com.gitblit.wicket.charting.GooglePieChart;
+import com.gitblit.wicket.charting.Chart;
+import com.gitblit.wicket.charting.Charts;
+import com.gitblit.wicket.charting.Flotr2Charts;
 import com.gitblit.wicket.panels.DigestsPanel;
 import com.gitblit.wicket.panels.LinkPanel;
 
@@ -83,7 +82,7 @@
 				continue;
 			}
 			if (model.hasCommits && model.lastChange.after(minimumDate)) {
-				Repository repository = GitBlit.self().getRepository(model.name);
+				Repository repository = app().repositories().getRepository(model.name);
 				List<DailyLogEntry> entries = RefLogUtils.getDailyLogByRef(model.name, repository, minimumDate, timezone);
 				digests.addAll(entries);
 				repository.close();
@@ -123,7 +122,7 @@
 		if (!ArrayUtils.isEmpty(digests)) {
 			// aggregate author exclusions
 			Set<String> authorExclusions = new TreeSet<String>();
-			for (String author : GitBlit.getStrings(Keys.web.metricAuthorExclusions)) {
+			for (String author : app().settings().getStrings(Keys.web.metricAuthorExclusions)) {
 				authorExclusions.add(author.toLowerCase());
 			}
 			for (RepositoryModel model : repositories) {
@@ -146,7 +145,7 @@
 		PageParameters params = getPageParameters();
 
 		DropDownMenuRegistration menu = new DropDownMenuRegistration("gb.filters",
-				GitBlitWebApp.HOME_PAGE_CLASS);
+				GitBlitWebApp.get().getHomePage());
 
 		// preserve repository filter option on time choices
 		menu.menuItems.addAll(getTimeFilterItems(params));
@@ -217,21 +216,23 @@
 		frag.add(new Label("feedheader", MessageFormat.format(headerPattern,
 				daysBack, totalCommits, authorMetrics.size())));
 
-		if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {
+		if (app().settings().getBoolean(Keys.web.generateActivityGraph, true)) {
 			// build google charts
-			GoogleCharts charts = new GoogleCharts();
+			Charts charts = new Flotr2Charts();
 
 			// active repositories pie chart
-			GoogleChart chart = new GooglePieChart("chartRepositories", getString("gb.activeRepositories"),
+			Chart chart = charts.createPieChart("chartRepositories", getString("gb.activeRepositories"),
 					getString("gb.repository"), getString("gb.commits"));
 			for (Metric metric : repositoryMetrics.values()) {
 				chart.addValue(metric.name, metric.count);
 			}
 			chart.setShowLegend(false);
+			String url = urlFor(SummaryPage.class, null).toString() + "?r=";
+			chart.setClickUrl(url);
 			charts.addChart(chart);
 
 			// active authors pie chart
-			chart = new GooglePieChart("chartAuthors", getString("gb.activeAuthors"),
+			chart = charts.createPieChart("chartAuthors", getString("gb.activeAuthors"),
 					getString("gb.author"), getString("gb.commits"));
 			for (Metric metric : authorMetrics.values()) {
 				chart.addValue(metric.name, metric.count);

--
Gitblit v1.9.1