Hybris95
2014-04-22 3f5b8f5d9203aa7ffb7fbe9cdbaf9dba3da6cae6
src/main/java/com/gitblit/wicket/pages/ActivityPage.java
@@ -29,7 +29,6 @@
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;
@@ -42,10 +41,9 @@
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 {
@@ -137,7 +140,7 @@
            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);
      }
@@ -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"),
      // active repositories pie 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);