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

lukaszlenart pushed a commit to branch fix/WW-5387-remove
in repository https://gitbox.apache.org/repos/asf/struts.git

commit e9738698a465aebb69d83f89e80792bf4bb349e0
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Tue Jan 16 20:36:00 2024 +0100

    WW-5387 Fixes remove() signature
---
 .../main/java/org/apache/struts2/dispatcher/ApplicationMap.java  | 9 +++++++--
 core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java | 9 +++++++--
 .../java/org/apache/struts2/portlet/PortletApplicationMap.java   | 9 +++++++--
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java 
b/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
index f0c5b4bf2..6b9053338 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
@@ -151,11 +151,16 @@ public class ApplicationMap extends AbstractMap<String, 
Object> implements Seria
      * @param key the attribute to remove.
      * @return the entry that was just removed.
      */
-    public Object remove(final String key) {
+    @Override
+    public Object remove(Object key) {
+        if (key == null) {
+            return null;
+        }
+
         entries = null;
 
         Object value = get(key);
-        context.removeAttribute(key);
+        context.removeAttribute(key.toString());
 
         return value;
     }
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java 
b/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
index b8e5b8e67..2af730d94 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
@@ -125,11 +125,16 @@ public class RequestMap extends AbstractMap<String, 
Object> implements Serializa
      * @param key the name of the attribute to remove.
      * @return the value that was removed or <tt>null</tt> if the value was 
not found (and hence, not removed).
      */
-    public Object remove(final String key) {
+    @Override
+    public Object remove(final Object key) {
+        if (key == null) {
+            return null;
+        }
+
         entries = null;
 
         Object value = get(key);
-        request.removeAttribute(key);
+        request.removeAttribute(key.toString());
 
         return value;
     }
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/PortletApplicationMap.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/PortletApplicationMap.java
index 701deb004..236e0aa67 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/PortletApplicationMap.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/PortletApplicationMap.java
@@ -197,11 +197,16 @@ public class PortletApplicationMap extends 
AbstractMap<String, Object> implement
      *            the attribute to remove.
      * @return the entry that was just removed.
      */
-    public Object remove(String key) {
+    @Override
+    public Object remove(Object key) {
+        if (key == null) {
+            return null;
+        }
+
         entries = null;
 
         Object value = get(key);
-        context.removeAttribute(key);
+        context.removeAttribute(key.toString());
 
         return value;
     }

Reply via email to