Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 344333 - Fix SessionStoreImpl
Summary: Fix SessionStoreImpl
Status: RESOLVED FIXED
Alias: None
Product: RAP
Classification: RT
Component: RWT (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 1.5 M1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 344332
Blocks: 345604
  Show dependency tree
 
Reported: 2011-04-29 14:21 EDT by Rüdiger Herrmann CLA
Modified: 2011-05-18 08:07 EDT (History)
0 users

See Also:


Attachments
Fix (47.75 KB, patch)
2011-04-29 14:28 EDT, Rüdiger Herrmann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rüdiger Herrmann CLA 2011-04-29 14:21:29 EDT
The current SessionStoreImpl has several issues:
* checks that prevent null-arguments being passed in are missing for these methods: getAttribute(), removeAttribute(), setAttribute()
* getAttributeNames() should operate on a safe copy, instead it operates directly on the internal data structure which may lead to ConcurrentModificationExceptions
* access to the attributes field is not always synchronized (i.e. createAttributeNameEnumeration)
* fields that represent internal state (i.e. bound, aboutUnbound) are not accessed in a thread-safe way
* the SessionStoreEvent should be a good citizen among the event state classes and inherit from EventObject
* handling exceptions that occur in valueBound and valueUnbound should be handled in the same way. Currently, they are not handled at all or handled differently
Comment 1 Rüdiger Herrmann CLA 2011-04-29 14:28:43 EDT
Created attachment 194391 [details]
Fix

The patch addresses the issues outlined in the description. Please note that bug 344332 needs to be resolved first in order to get the tests from this patch green.
Comment 2 Rüdiger Herrmann CLA 2011-05-18 08:07:56 EDT
Applied patch to CVS HEAD.