From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/wicket/pages/ActivityPage.java | 55 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java index 99992ea..c505a66 100644 --- a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java +++ b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java @@ -29,23 +29,21 @@ import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.panel.Fragment; -import com.gitblit.GitBlit; import com.gitblit.Keys; import com.gitblit.models.Activity; +import com.gitblit.models.Menu.ParameterMenuItem; +import com.gitblit.models.NavLink.DropDownPageMenuNavLink; import com.gitblit.models.Metric; +import com.gitblit.models.NavLink; import com.gitblit.models.RepositoryModel; import com.gitblit.utils.ActivityUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.CacheControl; import com.gitblit.wicket.CacheControl.LastModified; -import com.gitblit.wicket.PageRegistration; -import com.gitblit.wicket.PageRegistration.DropDownMenuItem; -import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration; import com.gitblit.wicket.WicketUtils; -import com.gitblit.wicket.charting.GoogleChart; -import com.gitblit.wicket.charting.GoogleCharts; -import com.gitblit.wicket.charting.GoogleLineChart; -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.ActivityPanel; /** @@ -66,14 +64,19 @@ // parameters int daysBack = WicketUtils.getDaysBack(params); if (daysBack < 1) { - daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7); + daysBack = app().settings().getInteger(Keys.web.activityDuration, 7); } String objectId = WicketUtils.getObject(params); // determine repositories to view and retrieve the activity List<RepositoryModel> models = getRepositories(params); - List<Activity> recentActivity = ActivityUtils.getRecentActivity(models, - daysBack, objectId, getTimeZone()); + List<Activity> recentActivity = ActivityUtils.getRecentActivity( + app().settings(), + app().repositories(), + models, + daysBack, + objectId, + getTimeZone()); String headerPattern; if (daysBack == 1) { @@ -113,8 +116,8 @@ daysBack, totalCommits, totalAuthors))); // create the activity charts - if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) { - GoogleCharts charts = createCharts(recentActivity); + if (app().settings().getBoolean(Keys.web.generateActivityGraph, true)) { + Charts charts = createCharts(recentActivity); add(new HeaderContributor(charts)); add(new Fragment("chartsPanel", "chartsFragment", this)); } else { @@ -132,12 +135,12 @@ } @Override - protected void addDropDownMenus(List<PageRegistration> pages) { - DropDownMenuRegistration filters = new DropDownMenuRegistration("gb.filters", + protected void addDropDownMenus(List<NavLink> navLinks) { + DropDownPageMenuNavLink filters = new DropDownPageMenuNavLink("gb.filters", ActivityPage.class); PageParameters currentParameters = getPageParameters(); - int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7); + int daysBack = app().settings().getInteger(Keys.web.activityDuration, 7); if (currentParameters != null && !currentParameters.containsKey("db")) { currentParameters.put("db", daysBack); } @@ -150,9 +153,9 @@ if (filters.menuItems.size() > 0) { // Reset Filter - filters.menuItems.add(new DropDownMenuItem(getString("gb.reset"), null, null)); + filters.menuItems.add(new ParameterMenuItem(getString("gb.reset"))); } - pages.add(filters); + navLinks.add(filters); } /** @@ -162,7 +165,7 @@ * @param recentActivity * @return */ - private GoogleCharts createCharts(List<Activity> recentActivity) { + private Charts createCharts(List<Activity> recentActivity) { // activity metrics Map<String, Metric> repositoryMetrics = new HashMap<String, Metric>(); Map<String, Metric> authorMetrics = new HashMap<String, Metric>(); @@ -189,34 +192,36 @@ } } - // build google charts - GoogleCharts charts = new GoogleCharts(); + // build charts + Charts charts = new Flotr2Charts(); // sort in reverse-chronological order and then reverse that Collections.sort(recentActivity); Collections.reverse(recentActivity); // daily line chart - GoogleChart chart = new GoogleLineChart("chartDaily", getString("gb.dailyActivity"), "day", + Chart chart = charts.createLineChart("chartDaily", getString("gb.dailyActivity"), "day", getString("gb.commits")); SimpleDateFormat df = new SimpleDateFormat("MMM dd"); df.setTimeZone(getTimeZone()); for (Activity metric : recentActivity) { - chart.addValue(df.format(metric.startDate), metric.getCommitCount()); + chart.addValue(metric.startDate, metric.getCommitCount()); } charts.addChart(chart); // active repositories pie chart - chart = new GooglePieChart("chartRepositories", getString("gb.activeRepositories"), + 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