WW-5370 Adds proper logic to handle null

This commit is contained in:
Lukasz Lenart
2023-12-12 10:00:31 +01:00
parent 4eaab8a79d
commit 102e040e09
3 changed files with 18 additions and 6 deletions
@@ -111,11 +111,11 @@ public class HttpParameters implements Map<String, Parameter> {
@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
@@ -166,6 +166,19 @@ public interface Parameter {
"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);
}
}
}
@@ -24,7 +24,6 @@ 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 {
@@ -51,7 +50,7 @@ public class HttpParametersTest {
// then
assertFalse(params.remove("Param1").contains("param1"));
assertNull(params.get("param1"));
assertEquals(new Parameter.Empty("param1"), params.get("param1"));
}
@Test