On Fri, 26 May 2023 14:38:54 GMT, Tejesh R <[email protected]> wrote:

>>> So now two modifications are required.
>>> 
>>> 1. Modify `isLink` of win32ShellFolder class to return true only if its  
>>> `.lnk`.
>> 
>> This should be enough to fix this bug.
>> 
>> This should enable the support for Windows junctions too.
>> 
>>> 2. isFileSystem of FileSystemView to return true only if its valid 
>>> fileSystem, except isLink which actually solves the problem of isFileSystem 
>>> returning false for links (hard/soft).
>> 
>> This is automatically resolved by the first change.
>> 
>> Currently, `isFileSystem` returns `false` when both `isLink` and 
>> `isDirectory` return `true`, which is the case for symbolic links and 
>> junctions.
>> 
>> Then you have to remove the additional conditions that you added in 
>> [JDK-8281966](https://bugs.openjdk.org/browse/JDK-8281966).
>
> Yeah, this should do the work.

To re-iterate:

> Currently, `isFileSystem` returns `false` when both `isLink` and 
> `isDirectory` return `true`, which is the case for symbolic links and 
> junctions.

This is the root cause why symbolic links need special handling.

So, if you make `isLink` return `false` for symbolic links and junctions, 
`isFileSystem` will return `true`. That's what we want: neither symbolic links 
nor junctions need special handling.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13998#discussion_r1206905684

Reply via email to