diff --git a/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java b/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java index ce26343acb..da74e23b3a 100644 --- a/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java +++ b/source/java/org/alfresco/web/scripts/DeclarativeWebScript.java @@ -27,24 +27,17 @@ package org.alfresco.web.scripts; import java.io.IOException; import java.io.Serializable; import java.io.Writer; -import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.alfresco.repo.content.MimetypeMap; -import org.alfresco.repo.jscript.ScriptNode; import org.alfresco.repo.jscript.ScriptableHashMap; import org.alfresco.repo.jscript.ValueConverter; -import org.alfresco.repo.template.TemplateNode; import org.alfresco.service.cmr.repository.ScriptLocation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.NativeArray; -import org.mozilla.javascript.Wrapper; /** diff --git a/source/java/org/alfresco/web/scripts/WebScriptServlet.java b/source/java/org/alfresco/web/scripts/WebScriptServlet.java index 77870ba0d2..dbd1a0d4c0 100644 --- a/source/java/org/alfresco/web/scripts/WebScriptServlet.java +++ b/source/java/org/alfresco/web/scripts/WebScriptServlet.java @@ -33,9 +33,7 @@ import javax.servlet.http.HttpServletResponse; import org.alfresco.config.Config; import org.alfresco.config.ConfigService; -import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.service.ServiceRegistry; -import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.web.config.ServerConfigElement; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/source/java/org/alfresco/web/scripts/WebScriptServletRequest.java b/source/java/org/alfresco/web/scripts/WebScriptServletRequest.java index 94e647c399..d434dfe53e 100644 --- a/source/java/org/alfresco/web/scripts/WebScriptServletRequest.java +++ b/source/java/org/alfresco/web/scripts/WebScriptServletRequest.java @@ -24,6 +24,8 @@ */ package org.alfresco.web.scripts; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.util.Set; import javax.servlet.http.HttpServletRequest; @@ -140,7 +142,14 @@ public class WebScriptServletRequest extends WebScriptRequestImpl // NOTE: Don't use req.getPathInfo() - it truncates the path at first semi-colon in Tomcat String requestURI = req.getRequestURI(); String pathInfo = requestURI.substring(getServiceContextPath().length()); - return pathInfo; + try + { + return URLDecoder.decode(pathInfo, "UTF-8"); + } + catch(UnsupportedEncodingException e) + { + throw new WebScriptException("Failed to retrieve path info", e); + } } /* (non-Javadoc) diff --git a/source/java/org/alfresco/web/scripts/WebScriptServletRuntime.java b/source/java/org/alfresco/web/scripts/WebScriptServletRuntime.java index 0ecfe217de..b91a20b66f 100644 --- a/source/java/org/alfresco/web/scripts/WebScriptServletRuntime.java +++ b/source/java/org/alfresco/web/scripts/WebScriptServletRuntime.java @@ -24,6 +24,9 @@ */ package org.alfresco.web.scripts; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -102,7 +105,14 @@ public class WebScriptServletRuntime extends WebScriptRuntime // NOTE: Don't use req.getPathInfo() - it truncates the path at first semi-colon in Tomcat String requestURI = req.getRequestURI(); String pathInfo = requestURI.substring((req.getContextPath() + req.getServletPath()).length()); - return pathInfo; + try + { + return URLDecoder.decode(pathInfo, "UTF-8"); + } + catch(UnsupportedEncodingException e) + { + throw new WebScriptException("Failed to retrieve path info", e); + } } /* (non-Javadoc)