| Summary: | [Markers] Working set filtering is using infinite depth | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | ericsirianni | ||||
| Component: | IDE | Assignee: | Platform UI Triaged <platform-ui-triaged> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | eclipse, john.arthorne, markus.kell.r, Michael.Valenta, ross | ||||
| Version: | 3.1.2 | Keywords: | helpwanted | ||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | stalebug | ||||||
| Bug Depends on: | 162505 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
ericsirianni
Eric, can you give a concrete example how your project and your working set looks like? Sure. Create a new project with packages com.foo com.foo.bar com.foo.baz Create a Java working set with "com.foo" and "com.foo.baz" selected. Create a file Test.java in com.foo Create a file Warnings.java in com.foo.bar that contains an error. Filter the Problems view by that working set - you'll still see the error show up, even though that package "com.foo.bar" is not in the working set. Reproduced in 3.2RC2. The Navigator view correctly hides Test.java, so I think this is a problem in the Problems view. I have been having this issue also. I am currently using 3.2RC5 on Windows XP. It's really buggin' me too because we have some generated code that is full of warnings and I wanted to use a working set that includes all but the generated code for my filter but alas, it has no effect. The problem is the following code IMarker[] markers = resource.findMarkers(markerType.getId(), includeAllSubtypes.contains(markerType), depth); All of the children of the com.foo package will be included if we have it in the list as we are talking in terms of resources not working sets. Removing the 3.2.1 tag as this was an issue in 3.1.2 and it is only in a specific case. I'll need some help from Kim to consider a better strategy as working sets and resource trees are colliding here. CCing Michael - this is a logical->physical mapping problem. It sounds like ResourceTraversal.findMarkers should be used instead. Created attachment 43519 [details]
Patch
Here is a patch implementing John's suggestion. With this patch applied we get the same behaviour so I am not sure a ResourceTraversal will behave any differently
Sorry, I didn't explain it very well. It would need to obtain the traversal from the model object (java package). I'll let MV chime in with the details. The ResourceMapping#findMarkers method allows the model to determine which markers apply the the model object represented by the mapping. When the markers for a selection are being shown, the problems view should adapt the selected elements to ResourceMapping and then call the findMarkers method on the resulting mappings to determine which markers are visible. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. |