Code: Select all
java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:334)
at org.apache.tomcat.util.http.Parameters.getParameterValues(Parameters.java:194)
at org.apache.catalina.connector.Request.getParameterValues(Request.java:1100)
at org.apache.catalina.connector.RequestFacade.getParameterValues(RequestFacade.java:396)
at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
at org.broadleafcommerce.openadmin.web.compatibility.JSCompatibilityRequestWrapper.getParameterValues(JSCompatibilityRequestWrapper.java:131)
at org.springframework.web.context.request.ServletWebRequest.getParameterValues(ServletWebRequest.java:117)
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:172)
Debugging it found JSCompatibilityRequestWrapper's getAttribute("requestParameterConversionMap") returns null:
Code: Select all
protected Map<String, String> getParameterNameConversionMap() {
if (getAttribute("requestParameterConversionMap") == null) {
Map<String, String> map = new HashMap<String, String>();
Enumeration enumeration = super.getParameterNames();
while (enumeration.hasMoreElements()) {
String temp = (String) enumeration.nextElement();
map.put(JSCompatibilityHelper.unencode(temp), temp);
}
setAttribute("requestParameterConversionMap", map);
}
return (Map<String, String>) getAttribute("requestParameterConversionMap");
}
@Override
public String[] getParameterValues(String name) {
String[] paramValues = super.getParameterValues(getParameterNameConversionMap().get(name));
if (!ArrayUtils.isEmpty(paramValues)) {
String[] temp = new String[paramValues.length];
int j = 0;
for (String val : paramValues) {
temp[j] = JSCompatibilityHelper.unencode(val);
j++;
}
return temp;
}
return paramValues;
}
Did I missed any setup steps?
Thanks.
-Charlie