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

Bug 342092

Summary: Extending AbstractAllContainerState requries copying of resourceChanged
Product: [Modeling] TMF Reporter: Henrik Lindberg <henrik.lindberg>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: sebastian.zarnekow
Version: 2.0.0Flags: sebastian.zarnekow: juno+
Target Milestone: M7   
Hardware: All   
OS: All   
Whiteboard:

Description Henrik Lindberg CLA 2011-04-06 19:39:59 EDT
When extending WorkspaceProjectState to include visibility of other projects based on manifest files (these are specific to the domain language) I found that I have to make a copy of the AbstractAllContainerState#resourceChanged method to be able to hook it with a check if a manifest file has been modified. (If I do not override, I need to interpret the same change again, and even perform an initialization even if the logic in AbstractAllContainerState has done so already.

Adding a method such as:
protected boolean doesThisDeltaRequireClear(IResourceDelta delta) { return false; }
and hooking it on line 217, after a check has been made if the delta is a Project description change, would be an improvement. It would do something like:

if(doesThisDeltaRequireClear(delta)) { clear.set(Boolean.TRUE); return false; }
Comment 1 Sebastian Zarnekow CLA 2012-04-03 17:56:26 EDT
Introduced #isAffectingContainerState(IResourceDelta) which may be overwritten by clients.
Comment 2 Karsten Thoms CLA 2017-09-19 18:05:32 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 3 Karsten Thoms CLA 2017-09-19 18:15:24 EDT
Closing all bugs that were set to RESOLVED before Neon.0