From a4231d30c4d2765c80f57df79cd1d4d39a9795ea Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 30 Oct 2012 17:05:30 -0400
Subject: [PATCH] Added null checkinng and logging for edit user permissions (issue 155)

---
 src/com/gitblit/utils/ActivityUtils.java |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/com/gitblit/utils/ActivityUtils.java b/src/com/gitblit/utils/ActivityUtils.java
index 61b6242..e389e64 100644
--- a/src/com/gitblit/utils/ActivityUtils.java
+++ b/src/com/gitblit/utils/ActivityUtils.java
@@ -27,6 +27,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TimeZone;
 
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.ObjectId;
@@ -60,10 +61,12 @@
 	 * @param objectId
 	 *            the branch to retrieve. If this value is null or empty all
 	 *            branches are queried.
+	 * @param timezone
+	 *            the timezone for aggregating commits
 	 * @return
 	 */
 	public static List<Activity> getRecentActivity(List<RepositoryModel> models, int daysBack,
-			String objectId) {
+			String objectId, TimeZone timezone) {
 
 		// Activity panel shows last daysBack of activity across all
 		// repositories.
@@ -72,13 +75,16 @@
 		// Build a map of DailyActivity from the available repositories for the
 		// specified threshold date.
 		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-		df.setTimeZone(GitBlit.getTimezone());
+		df.setTimeZone(timezone);
 		Calendar cal = Calendar.getInstance();
-		cal.setTimeZone(GitBlit.getTimezone());
+		cal.setTimeZone(timezone);
 
 		Map<String, Activity> activity = new HashMap<String, Activity>();
 		for (RepositoryModel model : models) {
 			if (model.hasCommits && model.lastChange.after(thresholdDate)) {
+				if (model.isCollectingGarbage) {
+					continue;
+				}
 				Repository repository = GitBlit.self()
 						.getRepository(model.name);
 				List<String> branches = new ArrayList<String>();
@@ -91,7 +97,7 @@
 					branches.add(objectId);
 				}
 				Map<ObjectId, List<RefModel>> allRefs = JGitUtils
-						.getAllRefs(repository);
+						.getAllRefs(repository, model.showRemoteBranches);
 
 				for (String branch : branches) {
 					String shortName = branch;
@@ -148,16 +154,16 @@
 	 * @param email
 	 *            address to query Gravatar
 	 * @param width
-	 *            size of thumbnail. if width <= 0, the defalt of 60 is used.
+	 *            size of thumbnail. if width <= 0, the default of 50 is used.
 	 * @return
 	 */
 	public static String getGravatarThumbnailUrl(String email, int width) {
 		if (width <= 0) {
-			width = 60;
+			width = 50;
 		}
 		String emailHash = StringUtils.getMD5(email);
 		String url = MessageFormat.format(
-				"http://www.gravatar.com/avatar/{0}?s={1,number,0}&d=identicon", emailHash, width);
+				"https://www.gravatar.com/avatar/{0}?s={1,number,0}&d=identicon", emailHash, width);
 		return url;
 	}
 
@@ -171,7 +177,7 @@
 	 * @throws IOException
 	 */
 	public static GravatarProfile getGravatarProfile(String hash) throws IOException {
-		String url = MessageFormat.format("http://www.gravatar.com/{0}.json", hash);
+		String url = MessageFormat.format("https://www.gravatar.com/{0}.json", hash);
 		// Gravatar has a complex json structure
 		Type profileType = new TypeToken<Map<String, List<GravatarProfile>>>() {
 		}.getType();

--
Gitblit v1.9.1