James Moger
2013-06-12 255d3a3cf953736f172c25e9898f3518294aa05c
Add stats header to the dashboard activity feed
2 files modified
18 ■■■■ changed files
src/main/java/com/gitblit/wicket/pages/DashboardPage.html 1 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/DashboardPage.java 17 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/DashboardPage.html
@@ -11,6 +11,7 @@
    
    <div class="row">
        <div class="span7">
            <div style="color:#888;font-size:1.75em;padding-bottom:5px;" wicket:id="feedheader"></div>
            <div class="hidden-phone hidden-tablet"  style="text-align:center;">
                <table>
                    <tr>
src/main/java/com/gitblit/wicket/pages/DashboardPage.java
@@ -201,8 +201,9 @@
                }
            }
            GoogleCharts charts = createCharts(pushes, authorExclusions);
            add(new HeaderContributor(charts));
            addCharts(pushes, authorExclusions, daysBack);
        } else {
            add(new Label("feedheader").setVisible(false));
        }
        
        // active repository list
@@ -371,14 +372,16 @@
     * and the active authors pie chart
     * 
     * @param recentPushes
     * @return
     * @param authorExclusions
     * @param daysBack
     */
    private GoogleCharts createCharts(List<PushLogEntry> recentPushes, Set<String> authorExclusions) {
    private void addCharts(List<PushLogEntry> recentPushes, Set<String> authorExclusions, int daysBack) {
        // activity metrics
        Map<String, Metric> repositoryMetrics = new HashMap<String, Metric>();
        Map<String, Metric> authorMetrics = new HashMap<String, Metric>();
        // aggregate repository and author metrics
        int totalCommits = 0;
        for (PushLogEntry push : recentPushes) {
            // aggregate repository metrics
@@ -389,6 +392,7 @@
            repositoryMetrics.get(repository).count += 1;
            
            for (RepositoryCommit commit : push.getCommits()) {
                totalCommits++;
                String author = StringUtils.removeNewlines(commit.getAuthorIdent().getName());
                String authorName = author.toLowerCase();
                String authorEmail = StringUtils.removeNewlines(commit.getAuthorIdent().getEmailAddress()).toLowerCase();
@@ -400,6 +404,9 @@
                }
            }
        }
        add(new Label("feedheader", MessageFormat.format(getString("gb.recentActivityStats"),
                daysBack, totalCommits, authorMetrics.size())));
        // build google charts
        GoogleCharts charts = new GoogleCharts();
@@ -422,7 +429,7 @@
        chart.setShowLegend(false);
        charts.addChart(chart);
        return charts;
        add(new HeaderContributor(charts));
    }
    
    class RepoListItem implements Serializable {