<AWT Dev> [9] Review request for 8003399: JFileChooser gives wrong path to selected file when saving to Libraries folder on Windows 7
Semyon Sadetsky
semyon.sadetsky at oracle.com
Tue May 19 15:45:35 UTC 2015
Hi Anton,
here is an updated version:
http://cr.openjdk.java.net/~ssadetsky/8003399/webrev.01/
--Semyon
On 5/8/2015 5:01 PM, Semyon Sadetsky wrote:
>
> On 5/8/2015 3:45 PM, Sergey Bylokhov wrote:
>> On 07.05.15 15:29, Semyon Sadetsky wrote:
>>> Hi Sergey,
>>>
>>> Yes, after the fix filedialog produces usual filesystem paths for
>>> libraries which are readable for java.io.
>> Just to clarify: after the fix, both Open and Save dialog works?
> Open file in library was not a problem, because an exicting file has
> real FS path already.
>
>>> But there are no possibility to reference files in libraries
>>> directly using new File(<library link>).
>>>
>>> --Semyon
>>>
>>> On 5/7/2015 11:26 AM, Sergey Bylokhov wrote:
>>>> Hi, Semyon.
>>>> Can you please raise the supportness of this in the java.io on the
>>>> core-libs alias.
>>>> Does the open filedialog will work after the fix?
>>>>
>>>> On 07.05.15 11:14, Semyon Sadetsky wrote:
>>>>> Hello,
>>>>>
>>>>> Please review fix for JDK9.
>>>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8003399/webrev.00/
>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8003399
>>>>>
>>>>> ***THE ROOT CAUSE
>>>>> JDK uses legacy WINAPI special folders calls while MS introduced a
>>>>> new interfaces IKnownFolder and IShellLibrary to manage special
>>>>> folder locations and the new Libraries functionality in Windows 7
>>>>> is not backward compatible with old special folders CSIDL.
>>>>>
>>>>> ***SOLUTION
>>>>> Since it is too expensive to migrate AWT shell to the new
>>>>> interfaces and still they are not supported in java.io the
>>>>> solution is to map virtual folder PIDL to the Known Folder GUID
>>>>> and replace libraries links with the default library save
>>>>> location. Thus the File save dialog will be able to work with any
>>>>> Libraries registered in the system (Windows Libraries concept
>>>>> assumes that Libraries can be added arbitrary).
>>>>> The resulting code should be compatible with older Windows
>>>>> versions because the new COM interfaces are called only if they
>>>>> are available and a Libraries link has been actually requested.
>>>>>
>>>>> ***TESTING
>>>>> A test scenario is added to check that all available Libraries
>>>>> links are converted into filesystem paths.
>>>>>
>>>>> --Semyon
>>>>>
>>>>
>>>>
>>>
>>
>>
>
More information about the awt-dev
mailing list