From cedf138f3c9afeae7bcbda5dbb0511ebec297d10 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 10 Jun 2013 18:45:32 -0400 Subject: [PATCH] Globl and per-repository setting to exclude authors form metrics (issue-251) --- src/main/java/com/gitblit/utils/ActivityUtils.java | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gitblit/utils/ActivityUtils.java b/src/main/java/com/gitblit/utils/ActivityUtils.java index 015e8d3..edeb01a 100644 --- a/src/main/java/com/gitblit/utils/ActivityUtils.java +++ b/src/main/java/com/gitblit/utils/ActivityUtils.java @@ -27,7 +27,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TimeZone; +import java.util.TreeSet; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; @@ -35,6 +37,7 @@ import org.eclipse.jgit.revwalk.RevCommit; import com.gitblit.GitBlit; +import com.gitblit.Keys; import com.gitblit.models.Activity; import com.gitblit.models.GravatarProfile; import com.gitblit.models.RefModel; @@ -78,6 +81,15 @@ df.setTimeZone(timezone); Calendar cal = Calendar.getInstance(); cal.setTimeZone(timezone); + + // aggregate author exclusions + Set<String> authorExclusions = new TreeSet<String>(); + authorExclusions.addAll(GitBlit.getStrings(Keys.web.metricAuthorExclusions)); + for (RepositoryModel model : models) { + if (!ArrayUtils.isEmpty(model.metricAuthorExclusions)) { + authorExclusions.addAll(model.metricAuthorExclusions); + } + } Map<String, Activity> activity = new HashMap<String, Activity>(); for (RepositoryModel model : models) { @@ -124,7 +136,9 @@ cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); - activity.put(dateStr, new Activity(cal.getTime())); + Activity a = new Activity(cal.getTime()); + a.excludeAuthors(authorExclusions); + activity.put(dateStr, a); } RepositoryCommit commitModel = activity.get(dateStr) .addCommit(model.name, shortName, commit); -- Gitblit v1.9.1