[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [eclipse-incubator-e4-dev] [resources] Resource Folder filters
 | 
Hi Terry,
Terry Parker wrote:
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.
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.
    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. 
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).
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.