This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch feature/http-params-case
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/feature/http-params-case by 
this push:
     new 7bea06045 WW-5370 Simplifies code
7bea06045 is described below

commit 7bea06045c4cb1b9fa324c3d5b452a634e5a44aa
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Tue Dec 12 09:46:38 2023 +0100

    WW-5370 Simplifies code
---
 .../java/org/apache/struts2/dispatcher/HttpParameters.java |  8 ++++----
 .../org/apache/struts2/dispatcher/HttpParametersTest.java  | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java 
b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
index e44f06273..f585c6555 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
@@ -49,7 +49,7 @@ public class HttpParameters implements Map<String, Parameter> 
{
 
     public HttpParameters remove(Set<String> paramsToRemove) {
         for (String paramName : paramsToRemove) {
-            parameters.entrySet().removeIf(p -> 
p.getKey().equalsIgnoreCase(paramName));
+            parameters.remove(paramName);
         }
         return this;
     }
@@ -112,10 +112,10 @@ public class HttpParameters implements Map<String, 
Parameter> {
 
     @Override
     public Parameter get(Object key) {
-        if (key != null && contains(String.valueOf(key))) {
-            return parameters.get(key);
+        if (key != null) {
+            return parameters.get(String.valueOf(key));
         } else {
-            return new Parameter.Empty(String.valueOf(key));
+            return null;
         }
     }
 
diff --git 
a/core/src/test/java/org/apache/struts2/dispatcher/HttpParametersTest.java 
b/core/src/test/java/org/apache/struts2/dispatcher/HttpParametersTest.java
index 7c2efbc12..b8b0a3038 100644
--- a/core/src/test/java/org/apache/struts2/dispatcher/HttpParametersTest.java
+++ b/core/src/test/java/org/apache/struts2/dispatcher/HttpParametersTest.java
@@ -23,6 +23,8 @@ import org.junit.Test;
 import java.util.HashMap;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 public class HttpParametersTest {
@@ -40,6 +42,18 @@ public class HttpParametersTest {
         assertEquals("value1", params.get("pAraM1").getValue());
     }
 
+    @Test
+    public void shouldRemoveBeCaseInsensitive() {
+        // given
+        HttpParameters params = HttpParameters.create(new HashMap<String, 
Object>() {{
+            put("param1", "value1");
+        }}).build();
+
+        // then
+        assertFalse(params.remove("Param1").contains("param1"));
+        assertNull(params.get("param1"));
+    }
+
     @Test
     public void shouldAppendSameParamsIgnoringCase() {
         // given

Reply via email to