| Summary: | [Filters] Filters implementation and API cleanup | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Szymon Brandys <Szymon.Brandys> | ||||||||
| Component: | Resources | Assignee: | Szymon Brandys <Szymon.Brandys> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||
| Severity: | enhancement | ||||||||||
| Priority: | P3 | CC: | john.arthorne, serge | ||||||||
| Version: | 3.5 | ||||||||||
| Target Milestone: | 3.6 M7 | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Windows XP | ||||||||||
| Whiteboard: | |||||||||||
| Bug Depends on: | 293129, 293130, 294302, 297728, 297731, 304784 | ||||||||||
| Bug Blocks: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Szymon Brandys
Created attachment 149853 [details]
Work in progress 20091019
Changes include: - IResourceFilter#getArguments and all related methods work with Objects instead of Strings - ModelObjectWriter and ProjectDescriptionReader modified to persist filters in a gentle way Further issues are: - the filter ext. point should not use factories. I would use similar pattern to the builder extension, i.e. an abstract class implementing IExecutableExtension - the filter ext. point contributes matchers (not filters) that are used later by resource filters. This should be perhaps reflected in names. Filters in opposite to matchers carry the action (EXCLUDE, INCLUDE) that should be performed on matching resources. Serge, what do you think? Created attachment 149866 [details]
Work in progress
(In reply to comment #2) > Changes include: > - IResourceFilter#getArguments and all related methods work with Objects > instead of Strings > - ModelObjectWriter and ProjectDescriptionReader modified to persist filters in > a gentle way > I looked at the changes and it look fine. > Further issues are: > - the filter ext. point should not use factories. I would use similar pattern > to the builder extension, i.e. an abstract class implementing > IExecutableExtension I'm not sure exactly of what it would look like, but the general idea behind the use of a factory for the filter extension mechanism was to avoid using the extension manager for only creating an instance of a filter to perform the refresh operation. So as look as it doesn't cause a change in the performance characteristics, I guess it's fine. > - the filter ext. point contributes matchers (not filters) that are used later > by resource filters. This should be perhaps reflected in names. Filters in > opposite to matchers carry the action (EXCLUDE, INCLUDE) that should be > performed on matching resources. > > Serge, what do you think? I agree that the current terminology is confusing. You are right in the sense that the extension point really contributes a matcher, not a filter, so I'm not sure what should they be named, maybe a 'filterMatcher'? The other fields are quite specific to the resource filters, though (especially the argumentType). Created attachment 149964 [details]
Fix v01
(In reply to comment #5) > Created an attachment (id=149964) [details] > Fix v01 Fix v01 was released, but I forgot to mention that on the bug. I'm not sure if this bug is done, but just bumping milestone because we are essentially done with M4. All blocking bugs are already closed. Further cleanup can be done in M5, so moving it to M5 is fine. Marking FIXED. |