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;
     }
 


Reply via email to