Community
Participate
Working Groups
Build ID: I20080502-0100 I am a performance analyst of an adopter product. I was investigating an issue in the class: org.eclipse.ui.internal.navigator.extensions.Binding and noticed that my idea of caching the extensionId pattern match results was already implemented in the latest version. However, in the process I realized that the entire variable 'excludePatterns' has no effect (unless it is only there for subclasses, of which I found none). In the method isVisibleExtension(..), once you have looped through all the inclusion patterns and not found a match, there is no way to return true, you always return false, so we might as well stop and return false and not loop through the exclusion patterns. Otherwise, there is a functional issue here and the exclusion patterns are not being respected (should be processed before the inclusion patterns?). I may be missing something here, so let me know if I have, otherwise we can save any processing having to do with exclusion patterns.
I need to exclude some content binding and the content provider is still called. I have a include pattern like this "org.talend.repository.viewer.root.*" and an excludes pattern is "org.talend.repository.viewer.root.content.BusinessModelContent" but the BusinessModelContent Contetenr provider class is instanciated and called for root elements. Looking at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getElements(Object){ Set rootContentExtensions = contentService.findRootContentExtensions(anInputElement); return internalGetChildren(anInputElement, anInputElement, rootContentExtensions, ELEMENTS); } the findRootContentExtensions does not filters the excluded content providers.
I think this should be marked as a duplicate of bug 425867 and closed.
*** This bug has been marked as a duplicate of bug 425867 ***