Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 344333

Summary: Fix SessionStoreImpl
Product: [RT] RAP Reporter: Rüdiger Herrmann <ruediger.herrmann>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: 1.5 M1   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 344332    
Bug Blocks: 345604    
Attachments:
Description Flags
Fix none

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.