Author: jleroux
Date: Mon May 31 16:40:34 2010 New Revision: 949802 URL: http://svn.apache.org/viewvc?rev=949802&view=rev Log: A patch from Sascha Rodekamp "Encapsulate Methods in the UtilHttp Method" (https://issues.apache.org/jira/browse/OFBIZ-3788) - OFBIZ-3788 The Methods getQueryStringOnlyParameterMap, getPathInfoOnlyParameterMap and getUrlOnlyParameterMap can be better encapsulated. It does not affect the workflow but makes it easier to use the API. Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java?rev=949802&r1=949801&r2=949802&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java Mon May 31 16:40:34 2010 @@ -154,8 +154,11 @@ public class UtilHttp { } public static Map<String, Object> getQueryStringOnlyParameterMap(HttpServletRequest request) { + return getQueryStringOnlyParameterMap(request.getQueryString()); + } + + public static Map<String, Object> getQueryStringOnlyParameterMap(String queryString) { Map<String, Object> paramMap = FastMap.newInstance(); - String queryString = request.getQueryString(); if (UtilValidate.isNotEmpty(queryString)) { StringTokenizer queryTokens = new StringTokenizer(queryString, "&"); while (queryTokens.hasMoreTokens()) { @@ -169,7 +172,7 @@ public class UtilHttp { String name = token; if (equalsIndex > 0) { name = token.substring(0, equalsIndex); - paramMap.put(name, request.getParameter(name)); + paramMap.put(name, token.substring(equalsIndex + 1)); } } } @@ -177,12 +180,15 @@ public class UtilHttp { } public static Map<String, Object> getPathInfoOnlyParameterMap(HttpServletRequest request, Set<? extends String> nameSet, Boolean onlyIncludeOrSkip) { + return getPathInfoOnlyParameterMap(request.getPathInfo(), nameSet, onlyIncludeOrSkip); + } + + public static Map<String, Object> getPathInfoOnlyParameterMap(String pathInfoStr, Set<? extends String> nameSet, Boolean onlyIncludeOrSkip) { boolean onlyIncludeOrSkipPrim = onlyIncludeOrSkip == null ? true : onlyIncludeOrSkip.booleanValue(); Map<String, Object> paramMap = FastMap.newInstance(); // now add in all path info parameters /~name1=value1/~name2=value2/ // note that if a parameter with a given name already exists it will be put into a list with all values - String pathInfoStr = request.getPathInfo(); if (UtilValidate.isNotEmpty(pathInfoStr)) { // make sure string ends with a trailing '/' so we get all values @@ -224,9 +230,13 @@ public class UtilHttp { } public static Map<String, Object> getUrlOnlyParameterMap(HttpServletRequest request) { + return getUrlOnlyParameterMap(request.getQueryString(), request.getPathInfo()); + } + + public static Map<String, Object> getUrlOnlyParameterMap(String queryString, String pathInfo) { // NOTE: these have already been through canonicalizeParameterMap, so not doing it again here - Map<String, Object> paramMap = getQueryStringOnlyParameterMap(request); - paramMap.putAll(getPathInfoOnlyParameterMap(request, null, null)); + Map<String, Object> paramMap = getQueryStringOnlyParameterMap(queryString); + paramMap.putAll(getPathInfoOnlyParameterMap(pathInfo, null, null)); return paramMap; } |
Free forum by Nabble | Edit this page |