|Re: [eclipse-incubator-e4-dev] [resources] Resource Folder filters
Hi Terry, Terry Parker wrote:
An additional challenge of EFS implementation of filters is that the filtering code itself resides on the local machine, passed down from the resource extension point, which poses a problem with performance anyway with remote file systems since the filter has to have an IFileStore to inspect its relevant properties before deciding to filter it out or not.Hi Serge, Having filtering at the EFS level (which is analogous to have it at the Directory.Filter level discussed earlier in this thread) is a nice addition, although it is only as long as a method such as IFileStore. childStores(Filter, |int options, IProgressMonitor monitor) is faster than the regular |IFileStore. childStores(|int options, IProgressMonitor monitor).This may be true for EFS implementations for remote file systems. For local files, if we really get the resource filtering right I agree that EFS-level filtering doesn't add much.
This sounds like "groups" which we added to the core resource APIs (basically works the same way as a folder linked resource pointing to null), since they don't point to any IFileStore (and don't have any file system location).If I understand you correctly, the idea of IVisibleResource is really a linked resource, is that correct?IVisibleResource may not be the best name. I'm looking at IVisibleResource to serve non-global, application-specific needs. Currently IResource = IFileStore + metadata. IVisibleResource is stripped of the underlying one-to-one relationship with an IFileStore. It expreses logical parent/child relationships and contains an optional reference to an IResource or IResourceProxy that backs it.
They are used in the same way as Visual Studio 'filters' and CodeWarrior groups: to build the logical structure of the resources in a project.
You can read more about our contribution in the following blog entry: http://sergebeauchamp.blogspot.com/2008/09/improving-linked-resources-in-gandymede.html And in the following bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=229633 Serge.
Back to the top