From f7df31e369b7ddd0f7d2e61b4328a2fc4c377451 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 03 Mar 2014 17:28:19 -0500
Subject: [PATCH] Reduce use of final to avoid Wicket serialization issues in reflogs

---
 src/main/java/com/gitblit/wicket/panels/DigestsPanel.java |   26 ++++++++------------------
 1 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java b/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
index 10d5d1b..ee97635 100644
--- a/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/DigestsPanel.java
@@ -19,7 +19,6 @@
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
@@ -31,7 +30,6 @@
 import org.eclipse.jgit.lib.PersonIdent;
 
 import com.gitblit.Constants;
-import com.gitblit.GitBlit;
 import com.gitblit.Keys;
 import com.gitblit.models.DailyLogEntry;
 import com.gitblit.models.RepositoryCommit;
@@ -56,14 +54,6 @@
 		super(wicketId);
 		hasChanges = digests.size() > 0;
 
-		final int hashLen = GitBlit.getInteger(Keys.web.shortCommitIdLength, 6);
-
-		String dateFormat = GitBlit.getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy");
-		final TimeZone timezone = getTimeZone();
-		final DateFormat df = new SimpleDateFormat(dateFormat);
-		df.setTimeZone(timezone);
-		final Calendar cal = Calendar.getInstance(timezone);
-
 		ListDataProvider<DailyLogEntry> dp = new ListDataProvider<DailyLogEntry>(digests);
 		DataView<DailyLogEntry> pushView = new DataView<DailyLogEntry>("change", dp) {
 			private static final long serialVersionUID = 1L;
@@ -71,6 +61,12 @@
 			@Override
 			public void populateItem(final Item<DailyLogEntry> logItem) {
 				final DailyLogEntry change = logItem.getModelObject();
+
+				String dateFormat = app().settings().getString(Keys.web.datestampLongFormat, "EEEE, MMMM d, yyyy");
+				TimeZone timezone = getTimeZone();
+				DateFormat df = new SimpleDateFormat(dateFormat);
+				df.setTimeZone(timezone);
+
 				String fullRefName = change.getChangedRefs().get(0);
 				String shortRefName = fullRefName;
 				boolean isTag = false;
@@ -89,13 +85,6 @@
 				} else if (TimeUtils.isYesterday(pushDate, timezone)) {
 					fuzzydate = tu.yesterday();
 				} else {
-					// calculate a fuzzy time ago date
-                	cal.setTime(pushDate);
-                	cal.set(Calendar.HOUR_OF_DAY, 0);
-                	cal.set(Calendar.MINUTE, 0);
-                	cal.set(Calendar.SECOND, 0);
-                	cal.set(Calendar.MILLISECOND, 0);
-                	pushDate = cal.getTime();
 					fuzzydate = getTimeUtils().timeAgo(pushDate);
 				}
 				logItem.add(new Label("whenChanged", fuzzydate + ", " + df.format(pushDate)));
@@ -203,7 +192,7 @@
 					logItem.add(new LinkPanel("compareLink", null, compareLinkText, ComparePage.class, WicketUtils.newRangeParameter(change.repository, startRangeId, endRangeId)));
 				}
 
-				final boolean showSwatch = GitBlit.getBoolean(Keys.web.repositoryListSwatches, true);
+				final boolean showSwatch = app().settings().getBoolean(Keys.web.repositoryListSwatches, true);
 
 				ListDataProvider<RepositoryCommit> cdp = new ListDataProvider<RepositoryCommit>(commits);
 				DataView<RepositoryCommit> commitsView = new DataView<RepositoryCommit>("commit", cdp) {
@@ -241,6 +230,7 @@
 						commitItem.add(shortlog);
 
 						// commit hash link
+						int hashLen = app().settings().getInteger(Keys.web.shortCommitIdLength, 6);
 						LinkPanel commitHash = new LinkPanel("hashLink", null, commit.getName().substring(0, hashLen),
 								CommitPage.class, WicketUtils.newObjectParameter(
 										change.repository, commit.getName()));

--
Gitblit v1.9.1