I'm still interested in this. I can see the idea of multiple roots being useful in an SMB file system, or local (Windows) file systems. Of course, for others there would only be a single "root" (namely "/"). I'm writing a custom provider which could be pointing to either Linux or Windows. Would it make sense to have a "getRoots" method in FileProvider?
public FileName[] getRoots(); or possibly: public FileObject[] getRoots(); which by default just returns a single entry with a path of "/"... Then the default (local) file system provider would just return the results of File.listRoots(); Then, Mark's idea of using an enum to get other user-relative directories could also be (sort of) accommodated with a "getUserRoot()" which returns the equivalent of "~" on *nix or OSX, and %USERPROFILE% on Windows (Java "user.home") property. The reason I think this is necessary is that, in order to do browsing of all the files in a system, you need to be able to get to all the relevant top-level locations. And for Samba (for a non-obvious example), there typically will be multiple shared folders on a system that you might want to pick from. I can probably provide a patch by next week. Should I write up a JIRA? ~Roger Whitcomb -----Original Message----- From: Mark Fortner [mailto:phidia...@gmail.com] Sent: Friday, February 08, 2013 4:07 PM To: Commons Developers List Subject: Re: [VFS] Support for File System Roots? Gary, I'm not aware of the tilde being used for any other purpose in any other file system. If a user had specified a directory like "~/mu~noz" as a home directory it should resolve to the appropriate directory i.e. "<User Home>/mu~noz". As for it being optional on a per file system basis, I suppose that's possible. Is there a way of storing/registering file system configurations (ala Spring Context)? I hadn't really thought about it's use for other file systems. Merely for use with the local file system. How would you use this in a distributed file system? What would happen if the remote file system did not have a home directory (or equivalent) for the current user? Mark Cheers, Mark On Sun, Jan 6, 2013 at 10:24 PM, Gary Gregory <garydgreg...@gmail.com>wrote: > Ok, that sounds interesting. Can you give us some examples? I sounds > like it makes sense for file:// only. Did you have it in mind for > other file systems? > > Should the treatment of '~' be optional? Is there a chance of it being > confused with any kind of legal file reference on any OS? > > Gary > > > On Sun, Jan 6, 2013 at 7:50 PM, Mark Fortner <phidia...@gmail.com> wrote: > > > Gary, > > The File#getRoots() method that you mentioned gets the file system > > roots and not user-specific directories like Documents, Downloads, > > Photos, > Music, > > etc. > > > > I ended up creating a solution with maps of directories for each > operating > > system (or relevant OS version in the case of Windows). I also > implemented > > a solution for resolving "~" as the home directory in URLs. I can > > check these into my project and send you the URLs for the files if > > you're interested. > > > > Cheers, > > > > Mark > > > > > > > > On Sun, Jan 6, 2013 at 3:18 PM, Roger L. Whitcomb < > > roger.whitc...@actian.com > > > wrote: > > > > > I'm actually working on a similar project to make a new version of > > > the Apache Pivot File Browser to use VFS. So, I'd also be > > > interested to > see > > > what suggestions the developers here have. > > > > > > ~Roger Whitcomb > > > > > > -----Original Message----- > > > From: Mark Fortner [mailto:phidia...@gmail.com] > > > Sent: Friday, December 28, 2012 11:54 AM > > > To: Commons Developers List > > > Subject: Re: [VFS] Support for File System Roots? > > > > > > Hi Gary, > > > This would be per operating system. So, if I call > > > *RootFactory.getRoot(RootNames.HOME) > > > *from a Linux box, that would resolve to */home/<username>*, on a > > > Windows box that might be */Users/<username>*. It would be driven > > > by the * > > > System.getProperty("user.home")* variable. The other roots, are > > > OS dependent and are subdirectories of the home directory. You > > > might also have another method like *getRoot(RootNames.HOME, > > > OS.LINUX)* that would let you get the value for Linux, even if you aren't on a Linux box. > > > > > > The URIs might look like "/Documents" which would resolve to > > > "file:///home/<username>/Documents". > > > > > > This came up because I'm reworking a Swing file manager using > > > JavaFX > and > > > I wanted to clean up the API some and minimize any VFS specific > > > workarounds I was doing. > > > > > > Cheers, > > > > > > Mark > > > > > > > > > > > > On Fri, Dec 28, 2012 at 11:42 AM, Gary Gregory > > > <garydgreg...@gmail.com>wrote: > > > > > > > Would this only be for Windows? What do URIs look like? > > > > > > > > Gary > > > > > > > > On Dec 28, 2012, at 14:18, Mark Fortner <phidia...@gmail.com> wrote: > > > > > > > > > I was wondering if there were any plans (or currently any way) > > > > > to support File System Roots. In addition to the standard > > > > > sorts of roots, there are roots like your home directory, the > > > > > Documents, Photos, Music, Downloads, etc. > > > > > > > > > > At a minimum it would be useful to have an Enum of the > > > > > different > > > > directory > > > > > names, with some way of resolving them. Something like: > > > > > > > > > > FileObject root = RootFactory.getRoot(RootNames.HOME); > > > > > > > > > > and > > > > > > > > > > Map<String, FileObject> rootMap = RootFactory.getRoots(); > > > > > > > > > > > > > > > Cheers, > > > > > > > > > > Mark > > > > > > > > ---------------------------------------------------------------- > > > > ----- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > > > > > > > > > ------------------------------------------------------------------ > > > --- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > > > > > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org JUnit in Action, > 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0 > Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org