Author: tmjee Date: Sat Sep 16 10:33:39 2006 New Revision: 446903 URL: http://svn.apache.org/viewvc?view=rev&rev=446903 Log: WW-1448 - SessionAware Session map clear() method not functioning correctly - added statement to nullify entries member variable, such that entrySet will not used invalid entries after clear() is called - use a better way to remove session attribute in clear() method.
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java?view=diff&rev=446903&r1=446902&r2=446903 ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java Sat Sep 16 10:33:39 2006 @@ -85,11 +85,11 @@ } synchronized (session) { + entries = null; Enumeration<String> attributeNamesEnum = session.getAttributeNames(); - String[] attributeNames = Collections.<String>list(attributeNamesEnum).toArray(new String[0]); - for (int a=0; a< attributeNames.length; a++) { - session.removeAttribute(attributeNames[a]); - } + while(attributeNamesEnum.hasMoreElements()) { + session.removeAttribute(attributeNamesEnum.nextElement()); + } } }