<AWT Dev> [9] Review request for 8003399: JFileChooser gives wrong path to selected file when saving to Libraries folder on Windows 7

Anton Tarasov anton.tarasov at oracle.com
Thu May 21 15:15:06 UTC 2015


So, it looks fine to me now. Thanks.

Anton.

On 20/05/15 17:12, Semyon Sadetsky wrote:
> Hi Anton,
>
> http://cr.openjdk.java.net/~ssadetsky/8003399/webrev.02/
> I have added the macro you requested.
>
> --Semyon
>
> On 5/20/2015 3:34 PM, Anton V. Tarasov wrote:
>> Hi Semyon,
>>
>> I'm fine with it, but don't you want to define a simple macro for this:
>>
>> +    jfieldID field_guid = env->GetFieldID(cl, "guid", "Ljava/lang/String;");
>> +    DASSERT(field_guid != NULL);
>> +    CHECK_NULL_RETURN(field_guid, NULL);
>>
>> To call it like:
>>
>> DEFINE_FIELD_ID(field_guid, cl, "guid", "Ljava/lang/String;");
>>
>> You would reduce the code a lot and make it more readable.
>>
>> Regards,
>> Anton.
>>
>> On 19.05.2015 18:45, Semyon Sadetsky wrote:
>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150521/f0756671/attachment-0001.html>


More information about the awt-dev mailing list