[ https://issues.apache.org/jira/browse/WW-5387?focusedWorklogId=899989&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-899989 ]
ASF GitHub Bot logged work on WW-5387: -------------------------------------- Author: ASF GitHub Bot Created on: 16/Jan/24 19:41 Start Date: 16/Jan/24 19:41 Worklog Time Spent: 10m Work Description: lukaszlenart opened a new pull request, #844: URL: https://github.com/apache/struts/pull/844 Fixes [WW-5387](https://issues.apache.org/jira/browse/WW-5387) Issue Time Tracking ------------------- Worklog Id: (was: 899989) Remaining Estimate: 0h Time Spent: 10m > ApplicationMap.remove does not remove the entry from the ServletContext > ----------------------------------------------------------------------- > > Key: WW-5387 > URL: https://issues.apache.org/jira/browse/WW-5387 > Project: Struts 2 > Issue Type: Bug > Components: Core > Affects Versions: 6.2.0, 6.3.0 > Reporter: Jon Pulice > Priority: Minor > Fix For: 6.4.0 > > Time Spent: 10m > Remaining Estimate: 0h > > When implementing {{ApplicationAware}} in an action, and calling > {{remove(key)}} on the injected Map, the removed object reappears on > subsequent actions, and the object is not removed from the ServletContext > (implementing a ServletContextAttributeListener will show that only "added" > and "replaced" events are triggered, but not "removed" events) > > > {code:java} > public class TestAction extends ActionSupport implements ApplicationAware { > > public static final String APPLICATION_MAP_TEST_KEY = > "com.testing.application.key"; > private Map<String, Object> applicationMap; > > @Override > public void withApplication(Map<String, Object> applicationMap) { > this.applicationMap = applicationMap; > } > protected void testPutToApplicationMap() { > applicationMap.put(APPLICATION_MAP_TEST_KEY, "Test application map > value"); //This works fine > } > > protected Object testRemoveFromApplicationMap() { > return applicationMap.remove(APPLICATION_MAP_TEST_KEY); //Does not > work > } > ... > } {code} > > > The issue appears to be the change to the remove method signature in WW-5196 > so that it no longer implements the Map interface (which specifies an > argument of Object, not String) -- This message was sent by Atlassian Jira (v8.20.10#820010)