| Summary: | EventManager should be serializable | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Rüdiger Herrmann <ruediger.herrmann> | ||||||
| Component: | Runtime | Assignee: | platform-runtime-inbox <platform-runtime-inbox> | ||||||
| Status: | NEW --- | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | CC: | fwaibel, ob1.eclipse, pwebster, ruediger.herrmann, tjwatson | ||||||
| Version: | 3.7.1 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | 486067 | ||||||||
| Bug Blocks: | 352926 | ||||||||
| Attachments: |
|
||||||||
|
Description
Rüdiger Herrmann
org.eclipse.core.commands is in the Platform->UI git repo. It would start with ListenerList (core.runtime) being serializable ... but the events that this class stores aren't guaranteed to be seralizable, they're just any old Object, no? PW (In reply to comment #2) > It would start with ListenerList (core.runtime) being serializable ... but the > events that this class stores aren't guaranteed to be seralizable, they're just > any old Object, no? Right, the objects that this class stores aren't necessarily serializable. But as ListenerList is mainly used as a utility class instead of directly being exposed, the calling code can ensure that only serializable objects are stored. Like Viewer.addSelectionChangedListener() makes sure that only ISelectionChangedListeners are stored. Created attachment 203597 [details]
Patch to make ListenerList serializable
This change makes org.eclipse.core.runtime.ListenerList in bundle org.eclipse.equinox.common serializable
Created attachment 203601 [details]
Patch to make EventManager serializable
The EventManager was made serializable.
The current compiler setting is to handle serializable classes without a serialVersionUID as an error. To avoid touching all classes that inherit from EventManager, I changed the problem severity to 'ignore' for now. How would you like this case to be handled? Should I declare serialVersionUID for all affected classes?
|