From 058ed1b58e54bf813754e72ca8c37296cf5f704d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 04 Mar 2014 09:56:23 -0500 Subject: [PATCH] Update contributors list --- src/main/java/com/gitblit/wicket/pages/ActivityPage.java | 66 +++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java index bceac8f..070caf3 100644 --- a/src/main/java/com/gitblit/wicket/pages/ActivityPage.java +++ b/src/main/java/com/gitblit/wicket/pages/ActivityPage.java @@ -27,14 +27,16 @@ import org.apache.wicket.PageParameters; import org.apache.wicket.behavior.HeaderContributor; 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.Metric; 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; @@ -48,10 +50,12 @@ /** * Activity Page shows a list of recent commits across all visible Gitblit * repositories. - * + * * @author James Moger - * + * */ + +@CacheControl(LastModified.ACTIVITY) public class ActivityPage extends RootPage { public ActivityPage(PageParameters params) { @@ -61,19 +65,42 @@ // parameters int daysBack = WicketUtils.getDaysBack(params); if (daysBack < 1) { - daysBack = 14; + 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) { + // today + if (recentActivity.size() == 0) { + headerPattern = getString("gb.todaysActivityNone"); + } else { + headerPattern = getString("gb.todaysActivityStats"); + } + } else { + // multiple days + if (recentActivity.size() == 0) { + headerPattern = getString("gb.recentActivityNone"); + } else { + headerPattern = getString("gb.recentActivityStats"); + } + } if (recentActivity.size() == 0) { // no activity, skip graphs and activity panel - add(new Label("subheader", MessageFormat.format(getString("gb.recentActivityNone"), + add(new Label("subheader", MessageFormat.format(headerPattern, daysBack))); + add(new Label("chartsPanel").setVisible(false)); add(new Label("activityPanel")); } else { // calculate total commits and total authors @@ -86,12 +113,17 @@ int totalAuthors = uniqueAuthors.size(); // add the subheader with stat numbers - add(new Label("subheader", MessageFormat.format(getString("gb.recentActivityStats"), + add(new Label("subheader", MessageFormat.format(headerPattern, daysBack, totalCommits, totalAuthors))); // create the activity charts - GoogleCharts charts = createCharts(recentActivity); - add(new HeaderContributor(charts)); + if (app().settings().getBoolean(Keys.web.generateActivityGraph, true)) { + GoogleCharts charts = createCharts(recentActivity); + add(new HeaderContributor(charts)); + add(new Fragment("chartsPanel", "chartsFragment", this)); + } else { + add(new Label("chartsPanel").setVisible(false)); + } // add activity panel add(new ActivityPanel("activityPanel", recentActivity)); @@ -109,7 +141,7 @@ ActivityPage.class); PageParameters currentParameters = getPageParameters(); - int daysBack = GitBlit.getInteger(Keys.web.activityDuration, 14); + int daysBack = app().settings().getInteger(Keys.web.activityDuration, 7); if (currentParameters != null && !currentParameters.containsKey("db")) { currentParameters.put("db", daysBack); } @@ -130,7 +162,7 @@ /** * Creates the daily activity line chart, the active repositories pie chart, * and the active authors pie chart - * + * * @param recentActivity * @return */ @@ -162,8 +194,6 @@ } // build google charts - int w = 310; - int h = 150; GoogleCharts charts = new GoogleCharts(); // sort in reverse-chronological order and then reverse that @@ -178,8 +208,6 @@ for (Activity metric : recentActivity) { chart.addValue(df.format(metric.startDate), metric.getCommitCount()); } - chart.setWidth(w); - chart.setHeight(h); charts.addChart(chart); // active repositories pie chart @@ -188,8 +216,7 @@ for (Metric metric : repositoryMetrics.values()) { chart.addValue(metric.name, metric.count); } - chart.setWidth(w); - chart.setHeight(h); + chart.setShowLegend(false); charts.addChart(chart); // active authors pie chart @@ -198,8 +225,7 @@ for (Metric metric : authorMetrics.values()) { chart.addValue(metric.name, metric.count); } - chart.setWidth(w); - chart.setHeight(h); + chart.setShowLegend(false); charts.addChart(chart); return charts; -- Gitblit v1.9.1