From 79dd0bddbd939c85f002f3a33b95ae84d0bf38cb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 24 Jun 2013 09:36:19 -0400
Subject: [PATCH] Implemented commit cache for the dashboards, activity, and project pages

---
 src/main/java/com/gitblit/GitBlit.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java
index 3aaa8c6..6fd168a 100644
--- a/src/main/java/com/gitblit/GitBlit.java
+++ b/src/main/java/com/gitblit/GitBlit.java
@@ -114,6 +114,7 @@
 import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.Base64;
 import com.gitblit.utils.ByteFormat;
+import com.gitblit.utils.CommitCache;
 import com.gitblit.utils.ContainerUtils;
 import com.gitblit.utils.DeepCopier;
 import com.gitblit.utils.FederationUtils;
@@ -967,12 +968,24 @@
 		userService.logout(user);
 	}
 
+	/**
+	 * Encode the username for user in an url.
+	 * 
+	 * @param name
+	 * @return the encoded name
+	 */
 	protected String encodeUsername(String name) {
-		return name.replace("@", "%40");	
+		return name.replace("@", "%40").replace(" ", "%20").replace("\\", "%5C");	
 	}
 
+	/**
+	 * Decode a username from an encoded url.
+	 * 
+	 * @param name
+	 * @return the decoded name
+	 */
 	protected String decodeUsername(String name) {
-		return name.replace("%40", "@");	
+		return name.replace("%40", "@").replace("%20", " ").replace("%5C", "\\");
 	}
 	
 	/**
@@ -3390,6 +3403,8 @@
 		configureFanout();
 		configureGitDaemon();
 		
+		CommitCache.instance().setCacheDays(settings.getInteger(Keys.web.activityCacheDays, 14));
+		
 		ContainerUtils.CVE_2007_0450.test();
 	}
 	

--
Gitblit v1.9.1