From e92cef5abcbf6989e8ce58093b34b3ed909da4b8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 30 Dec 2013 13:51:53 -0500
Subject: [PATCH] Do not serialize the Logger instance

---
 src/main/java/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java b/src/main/java/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
index fb86fb0..4f67a4a 100644
--- a/src/main/java/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
+++ b/src/main/java/com/gitblit/wicket/GitblitParamUrlCodingStrategy.java
@@ -25,26 +25,28 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.gitblit.GitBlit;
+import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
 
 /**
  * Simple subclass of mixed parameter url coding strategy that works around the
  * encoded forward-slash issue that is present in some servlet containers.
- * 
+ *
  * https://issues.apache.org/jira/browse/WICKET-1303
  * http://tomcat.apache.org/security-6.html
- * 
+ *
  * @author James Moger
- * 
+ *
  */
 public class GitblitParamUrlCodingStrategy extends MixedParamUrlCodingStrategy {
 
 	private Logger logger = LoggerFactory.getLogger(GitblitParamUrlCodingStrategy.class);
 
+	private IStoredSettings settings;
+
 	/**
 	 * Construct.
-	 * 
+	 *
 	 * @param <C>
 	 * @param mountPath
 	 *            mount path (not empty)
@@ -53,20 +55,25 @@
 	 * @param parameterNames
 	 *            the parameter names (not null)
 	 */
-	public <C extends Page> GitblitParamUrlCodingStrategy(String mountPath,
+	public <C extends Page> GitblitParamUrlCodingStrategy(
+			IStoredSettings settings,
+			String mountPath,
 			Class<C> bookmarkablePageClass, String[] parameterNames) {
+
 		super(mountPath, bookmarkablePageClass, parameterNames);
+		this.settings = settings;
 	}
 
 	/**
 	 * Url encodes a string that is mean for a URL path (e.g., between slashes)
-	 * 
+	 *
 	 * @param string
 	 *            string to be encoded
 	 * @return encoded string
 	 */
+	@Override
 	protected String urlEncodePathComponent(String string) {
-		char altChar = GitBlit.getChar(Keys.web.forwardSlashCharacter, '/');
+		char altChar = settings.getChar(Keys.web.forwardSlashCharacter, '/');
 		if (altChar != '/') {
 			string = string.replace('/', altChar);
 		}
@@ -76,12 +83,13 @@
 	/**
 	 * Returns a decoded value of the given value (taken from a URL path
 	 * section)
-	 * 
+	 *
 	 * @param value
 	 * @return Decodes the value
 	 */
+	@Override
 	protected String urlDecodePathComponent(String value) {
-		char altChar = GitBlit.getChar(Keys.web.forwardSlashCharacter, '/');
+		char altChar = settings.getChar(Keys.web.forwardSlashCharacter, '/');
 		if (altChar != '/') {
 			value = value.replace(altChar, '/');
 		}
@@ -90,7 +98,7 @@
 
 	/**
 	 * Gets the decoded request target.
-	 * 
+	 *
 	 * @param requestParameters
 	 *            the request parameters
 	 * @return the decoded request target

--
Gitblit v1.9.1