James Moger
2012-10-18 13417cf9c6eec555b51da49742e47939d2f5715b
src/com/gitblit/wicket/pages/MetricsPage.java
@@ -40,24 +40,28 @@
import com.gitblit.models.Metric;
import com.gitblit.utils.MetricUtils;
import com.gitblit.utils.TimeUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
public class MetricsPage extends RepositoryPage {
   public MetricsPage(PageParameters params) {
      super(params);
      super(params);
      Repository r = getRepository();
      add(new Label("branchTitle", objectId));
      if (StringUtils.isEmpty(objectId)) {
         add(new Label("branchTitle", getRepositoryModel().HEAD));
      } else {
         add(new Label("branchTitle", objectId));
      }
      Metric metricsTotal = null;
      List<Metric> metrics = MetricUtils.getDateMetrics(r, objectId, true, null);
      List<Metric> metrics = MetricUtils.getDateMetrics(r, objectId, true, null, getTimeZone());
      metricsTotal = metrics.remove(0);
      if (metricsTotal == null) {
         add(new Label("branchStats", ""));
         add(new Label("branchStats", ""));
      } else {
         add(new Label("branchStats", MessageFormat.format(
               "{0} commits and {1} tags in {2}", metricsTotal.count, metricsTotal.tag,
               TimeUtils.duration(metricsTotal.duration))));
         add(new Label("branchStats",
               MessageFormat.format(getString("gb.branchStats"), metricsTotal.count,
                     metricsTotal.tag, getTimeUtils().duration(metricsTotal.duration))));
      }
      insertLinePlot("commitsChart", metrics);
      insertBarPlot("dayOfWeekChart", getDayOfWeekMetrics(r, objectId));
@@ -68,7 +72,7 @@
      if ((metrics != null) && (metrics.size() > 0)) {
         IChartData data = WicketUtils.getChartData(metrics);
         ChartProvider provider = new ChartProvider(new Dimension(500, 100), ChartType.LINE,
         ChartProvider provider = new ChartProvider(new Dimension(400, 100), ChartType.LINE,
               data);
         ChartAxis dateAxis = new ChartAxis(ChartAxisType.BOTTOM);
         dateAxis.setLabels(new String[] { metrics.get(0).name,
@@ -93,7 +97,7 @@
      if ((metrics != null) && (metrics.size() > 0)) {
         IChartData data = WicketUtils.getChartData(metrics);
         ChartProvider provider = new ChartProvider(new Dimension(500, 100),
         ChartProvider provider = new ChartProvider(new Dimension(400, 100),
               ChartType.BAR_VERTICAL_SET, data);
         ChartAxis dateAxis = new ChartAxis(ChartAxisType.BOTTOM);
         List<String> labels = new ArrayList<String>();
@@ -121,7 +125,7 @@
         for (Metric metric : metrics) {
            labels.add(metric.name);
         }
         ChartProvider provider = new ChartProvider(new Dimension(500, 200), ChartType.PIE, data);
         ChartProvider provider = new ChartProvider(new Dimension(800, 200), ChartType.PIE, data);
         provider.setPieLabels(labels.toArray(new String[labels.size()]));
         add(new Chart(wicketId, provider));
      } else {
@@ -130,11 +134,11 @@
   }
   private List<Metric> getDayOfWeekMetrics(Repository repository, String objectId) {
      List<Metric> list = MetricUtils.getDateMetrics(repository, objectId, false, "E");
      List<Metric> list = MetricUtils.getDateMetrics(repository, objectId, false, "E", getTimeZone());
      SimpleDateFormat sdf = new SimpleDateFormat("E");
      Calendar cal = Calendar.getInstance();
      List<Metric> sorted = new ArrayList<Metric>(7);
      List<Metric> sorted = new ArrayList<Metric>();
      int firstDayOfWeek = cal.getFirstDayOfWeek();
      int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
@@ -144,7 +148,7 @@
         String day = sdf.format(cal.getTime());
         for (Metric metric : list) {
            if (metric.name.equals(day)) {
               sorted.add(i, metric);
               sorted.add(metric);
               list.remove(metric);
               break;
            }