So what is this? Are we keeping two CVS repositories updated? All anonymous SF CVS projects I'm updating work fine. No more problems using anon CVS. Maybe moving to java.net was a bad idea after all?
Cheers, Mathias ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, August 01, 2003 10:48 PM Subject: [Opensymphony-cvsmail] webwork/src/main/webwork/action/factory SessionMap.java,1.8,1.9 > Update of /cvsroot/opensymphony/webwork/src/main/webwork/action/factory > In directory sc8-pr-cvs1:/tmp/cvs-serv9493/src/main/webwork/action/factory > > Modified Files: > SessionMap.java > Log Message: > WW-239: making SessionMap synchronize access to the Session > > Index: SessionMap.java > =================================================================== > RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/action/factory/SessionMap.jav a,v > retrieving revision 1.8 > retrieving revision 1.9 > diff -u -d -r1.8 -r1.9 > --- SessionMap.java 12 Mar 2002 12:54:08 -0000 1.8 > +++ SessionMap.java 1 Aug 2003 20:47:57 -0000 1.9 > @@ -26,77 +26,88 @@ > > public Set entrySet() > { > - if (entries == null) > - { > - entries = new HashSet(); > + synchronized (session) { > + if (entries == null) > + { > + entries = new HashSet(); > > - Enumeration enum = session.getAttributeNames(); > - while (enum.hasMoreElements()) > - { > - final String key = enum.nextElement().toString(); > - final Object value = session.getAttribute(key); > - entries.add(new Map.Entry() > - { > - public boolean equals(Object obj) > - { > - Map.Entry entry = (Map.Entry)obj; > - return (key==null ? > - entry.getKey()==null : key.equals(entry.getKey())) && > - (value==null ? > - entry.getValue()==null : value.equals(entry.getValue())); > - } > + Enumeration enum = session.getAttributeNames(); > + while (enum.hasMoreElements()) > + { > + final String key = enum.nextElement().toString(); > + final Object value = session.getAttribute(key); > + entries.add(new Map.Entry() > + { > + public boolean equals(Object obj) > + { > + Map.Entry entry = (Map.Entry)obj; > + return (key==null ? > + entry.getKey()==null : key.equals(entry.getKey())) && > + (value==null ? > + entry.getValue()==null : value.equals(entry.getValue())); > + } > > - public int hashCode() > - { > - return (key==null ? 0 : key.hashCode()) ^ > - (value==null ? 0 : value.hashCode()); > - } > + public int hashCode() > + { > + return (key==null ? 0 : key.hashCode()) ^ > + (value==null ? 0 : value.hashCode()); > + } > > - public Object getKey() > - { > - return key; > - } > + public Object getKey() > + { > + return key; > + } > > - public Object getValue() > - { > - return value; > - } > + public Object getValue() > + { > + return value; > + } > > - public Object setValue(Object obj) > - { > - session.setAttribute(key.toString(), obj); > - return value; > - } > - }); > - } > - } > + public Object setValue(Object obj) > + { > + session.setAttribute(key.toString(), obj); > + return value; > + } > + }); > + } > + } > + } > > - return entries; > + return entries; > } > > public Object put(Object key, Object value) > { > - entries = null; > - session.setAttribute(key.toString(), value); > - return get(key); > + synchronized (session) { > + entries = null; > + session.setAttribute(key.toString(), value); > + return get(key); > + } > } > > public Object get(Object key) > { > - return session.getAttribute(key.toString()); > + synchronized (session) { > + return session.getAttribute(key.toString()); > + } > } > > - public Object remove(Object key) > - { > - entries = null; > - Object value = get(key); > - session.removeAttribute(key.toString()); > - return value; > - } > + public Object remove(Object key) { > + synchronized (session) { > + entries = null; > + > + Object value = get(key); > + session.removeAttribute(key.toString()); > + > + return value; > + } > + } > > public void clear() > { > - entries = null; > - session.invalidate(); > + synchronized (session) { > + entries = null; > + session.invalidate(); > + } > } > } > > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Opensymphony-cvsmail mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/opensymphony-cvsmail > > ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork