commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Boris Petrov (JIRA)" <>
Subject [jira] [Commented] (VFS-661) Ability to get "real"/"native"/"physical" file name
Date Wed, 18 Apr 2018 14:24:00 GMT


Boris Petrov commented on VFS-661:

I'm not sure what code sample you need. I can explain our use case - we are saving additional
metadata for each file in a file system in a database. We walk the file system, get each file
and use that as an ID in the DB. So in the DB we're going to have *smb://localhost/share/folder*
as an ID. Then, when someone requests a file, we get it from the filesystem and return the
metadata associated with it from the DB. However, you can imagine that when someone requests
*smb://localhost/share/FOLDER*, we do find the file but the DB doesn't return the metadata
as the ID is wrong and hence we return a wrong result to the user - we've found the correct
file but haven't found the correct metadata.

And, as I said, there is nothing we can do about it as VFS doesn't give us the "real" name
so we have no way of finding the metadata associated with it.

> Ability to get "real"/"native"/"physical" file name
> ---------------------------------------------------
>                 Key: VFS-661
>                 URL:
>             Project: Commons VFS
>          Issue Type: New Feature
>    Affects Versions: 2.2
>            Reporter: Boris Petrov
>            Priority: Major
> On case-insensitive file systems (local FS on Windows; Samba; etc) resolving a file ignores
the case that is used. For example, if there is a folder like: *smb://localhost/share/folder*
and is resolved with *smb://localhost/share/FOLDER* it would work and return the same folder.
However, there is no method in the *FileObject* interface that allows us to get the "real"/"physical"
name of the folder - i.e. *folder*. All of the methods would return *FOLDER* in this case.
> We have a major usecase where we need that. The only solution I can think of is getting
the parent folder, going through its children and thus finding the correct case but the performance
of that would be horrible.

This message was sent by Atlassian JIRA

View raw message