Skip to content

Commit

Permalink
#116: Make getViewParameterMap() and getRequestQueryStringMap() mutable
Browse files Browse the repository at this point in the history
  • Loading branch information
Bauke Scholtz committed Sep 26, 2015
1 parent 54fad1d commit fb56f82
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
8 changes: 5 additions & 3 deletions src/main/java/org/omnifaces/util/FacesLocal.java
Expand Up @@ -12,6 +12,7 @@
*/
package org.omnifaces.util;

import static java.util.Arrays.asList;
import static javax.servlet.http.HttpServletResponse.SC_MOVED_PERMANENTLY;
import static org.omnifaces.util.Servlets.prepareRedirectURL;
import static org.omnifaces.util.Utils.encodeURL;
Expand All @@ -29,6 +30,7 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
Expand Down Expand Up @@ -306,18 +308,18 @@ public static Map<String, List<String>> getViewParameterMap(FacesContext context
Collection<UIViewParameter> viewParameters = getViewParameters(context);

if (viewParameters.isEmpty()) {
return Collections.<String, List<String>>emptyMap();
return new LinkedHashMap<>(0);
}

Map<String, List<String>> parameterMap = new HashMap<>();
Map<String, List<String>> parameterMap = new LinkedHashMap<>(viewParameters.size());

for (UIViewParameter viewParameter : viewParameters) {
String value = viewParameter.getStringValue(context);

if (value != null) {
// <f:viewParam> doesn't support multiple values anyway, so having multiple <f:viewParam> on the
// same request parameter shouldn't end up in repeated parameters in action URL.
parameterMap.put(viewParameter.getName(), Collections.singletonList(value));
parameterMap.put(viewParameter.getName(), asList(value));
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/main/java/org/omnifaces/util/Servlets.java
Expand Up @@ -28,7 +28,6 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -200,7 +199,7 @@ public static Map<String, List<String>> getRequestQueryStringMap(HttpServletRequ
String queryString = request.getQueryString();

if (isEmpty(queryString)) {
return Collections.<String, List<String>>emptyMap();
return new LinkedHashMap<>(0);
}

return toParameterMap(queryString);
Expand Down

0 comments on commit fb56f82

Please sign in to comment.