Skip to content

Commit

Permalink
WW-5370 Adds proper logic to handle null
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszlenart committed Dec 12, 2023
1 parent 4eaab8a commit 102e040
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,11 @@ public boolean containsValue(Object value) {

@Override
public Parameter get(Object key) {
if (key != null) {
return parameters.get(String.valueOf(key));
} else {
return null;
if (key == null) {
return new Parameter.Empty("null");
}
Parameter val = parameters.get(key.toString());
return val != null ? val : new Parameter.Empty(key.toString());
}

@Override
Expand Down
13 changes: 13 additions & 0 deletions core/src/main/java/org/apache/struts2/dispatcher/Parameter.java
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,19 @@ public String toString() {
"name='" + name + '\'' +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Empty)) return false;
Empty empty = (Empty) o;
return Objects.equals(name, empty.name);
}

@Override
public int hashCode() {
return Objects.hash(name);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

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 {
Expand All @@ -51,7 +50,7 @@ public void shouldRemoveBeCaseInsensitive() {

// then
assertFalse(params.remove("Param1").contains("param1"));
assertNull(params.get("param1"));
assertEquals(new Parameter.Empty("param1"), params.get("param1"));
}

@Test
Expand Down

0 comments on commit 102e040

Please sign in to comment.