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());
+               }
         }
         
     }


Reply via email to