| Summary: | Extending AbstractAllContainerState requries copying of resourceChanged | ||
|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Henrik Lindberg <henrik.lindberg> |
| Component: | Xtext | Assignee: | Project Inbox <tmf.xtext-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | sebastian.zarnekow |
| Version: | 2.0.0 | Flags: | sebastian.zarnekow:
juno+
|
| Target Milestone: | M7 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
Introduced #isAffectingContainerState(IResourceDelta) which may be overwritten by clients. Closing all bugs that were set to RESOLVED before Neon.0 Closing all bugs that were set to RESOLVED before Neon.0 |
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; }