Hi Kevin,

attached please find a revised patch that contains the corrections you 
requested. The patch is now applicable to the new module structure (modues with 
'javafx.' prefix).

Regards,
Alexander


> Am 12.08.2016 um 00:00 schrieb Kevin Rushforth <kevin.rushfo...@oracle.com>:
> 
> 
> 
> Alexander Nyssen wrote:
>> 
>> Hi Kevin,
>> 
>> thanks for your feedback. Please fin my comments inline.
>> 
>>   
>>> Am 09.08.2016 um 03:10 schrieb Kevin Rushforth <kevin.rushfo...@oracle.com> 
>>> <mailto:kevin.rushfo...@oracle.com>:
>>> 
>>> I uploaded the patch, reviewed it, and provided comments in the bug report. 
>>> The short version is:
>>> 
>>> * The new API looks good
>>> 
>>> * There is a missing '@since 9' in the javadoc comments along with a few 
>>> typos / style issues
>>>     
>> I will take care of it. Is there a style guide?
>>   
> 
> Not a current one. The ones I pointed out in the JBS issue were either 
> grammatical or capitalization (other than the '@since' which is required for 
> all new API).
> 
>>> * Rather than using reflection and setAccessible in the implementation, 
>>> please add a public getHostContainer method to EmbeddedWindow (since it is 
>>> an internal method, there is no concern with doing that -- it isn't API).
>>>     
>> Such a getHost() method was already introduced to EmbeddedWindow as part of 
>> the patch (to obtain the HostContainer from it). The reflection code within 
>> getFXCanvas() is used to access the enclosing instance (i.e. the FXCanvas) 
>> of the HostContainer. We could only circumvent this by introducing a 
>> constructor to HostContainer and by passing in the enclosing FXCanvas 
>> instance explicitly (so we can query it via an explicit getter, which would 
>> have to be introduced in addition). Would you prefer that?
>>   
> 
> Ah, I see what you are doing now. There is an easier way, then. Just add a 
> default (package) scope 'fxCanvas' variable in the inner class initialized to 
> 'FXCanvas.this' and you will be able to access it directly, since an instance 
> of an inner class can always get access to the instance of the enclosing 
> class.
> 
>     private class HostContainer implements HostInterface {
>         final FXCanvas fxCanvas = FXCanvas.this;
>         ...
> 
> I updated the bug report with this and the other style issues. I haven't 
> tested it yet, but other than the listed issues it looks very close to being 
> done.
> 
> -- Kevin
>     
> 
>>   
>>> Additionally, I requested JDK 9 release team approval for this. The 
>>> approval process can proceed in parallel with your addressing the issues I 
>>> raised.
>>> 
>>> — Kevin
>>>     
>> Regards,
>> Alexander
>> 
>>   
>>> Alexander Nyssen wrote:
>>>     
>>>> Hi Kevin,
>>>> 
>>>> attached please find a revised patch. My comments are inlined.
>>>> 
>>>>       
>>>>> Am 28.07.2016 um 18:03 schrieb Kevin Rushforth 
>>>>> <kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com> 
>>>>> <mailto:kevin.rushfo...@oracle.com> <mailto:kevin.rushfo...@oracle.com>>:
>>>>> 
>>>>> Hi
>>>>> 
>>>>> Alexander Nyssen wrote:
>>>>>         
>>>>>> Hi,
>>>>>> 
>>>>>> I have added my comments below:
>>>>>> 
>>>>>> 
>>>>>>           
>>>>>>> Am 28.07.2016 um 17:22 schrieb Kevin Rushforth 
>>>>>>> <kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com> 
>>>>>>> <mailto:kevin.rushfo...@oracle.com> 
>>>>>>> <mailto:kevin.rushfo...@oracle.com>>:
>>>>>>> 
>>>>>>> I got the attachment, since Alexander also CCed me directly. I will 
>>>>>>> attach it shortly.
>>>>>>>             
>>>>>> Thanks!
>>>>>>           
>>>>> Done.
>>>>> 
>>>>>         
>>>>>>> I do have two comments on this:
>>>>>>> 
>>>>>>> 1) We are past Feature Freeze, so all Enhancements need formal JDK 9 
>>>>>>> R-team approval [1][2]. In this case, the justification can be internal 
>>>>>>> API that is no longer accessible in JDK 9 due to Jigsaw (I would be 
>>>>>>> very reluctant to consider any other Enhancement request this late in 
>>>>>>> the process), but I will need to look at it and then take it through 
>>>>>>> the approval process, provided that I feel it is in scope.
>>>>>>>             
>>>>>> I was not aware about this, but I would of course appreciate if it could 
>>>>>> be included (due to Jigsaw). Thanks for considering it at least.
>>>>>>           
>>>>> I'll take a closer look tomorrow or Monday (no more time today). At first 
>>>>> glance it seems like something reasonable to take forward.
>>>>>         
>>>> That sounds promising. Thanks!
>>>> 
>>>>       
>>>>>>> 2) Some of the changes you list seem unrelated to this enhancement and 
>>>>>>> are better done as separate issues (e.g., the rework of the 
>>>>>>> SWTCursorsTest). Also, I am unconvinced of the need to force GTK 2; in 
>>>>>>> fact it seems at odds with the work we have done with JEP 283 [3].
>>>>>>>             
>>>>>> Well, the test case refactoring is somehow related, as I introduced the 
>>>>>> common SWT rule while introducing the second SWT test. However, I could 
>>>>>> provide it as a separate contribution if that was wished (and a JIRA 
>>>>>> issue was provided), but the rest of this contribution of course 
>>>>>> requires it as a prerequisite. If this enhancement could not be included 
>>>>>> in JDK 9, I would have to provide it as a separate contribution, as I 
>>>>>> would have to re-introduce FXCanvasTest in other succeeding bugfix 
>>>>>> contributions (JDK-8143596, JDK-8143596).
>>>>>>           
>>>>> I see. I did take a quick look at this and the test changes seem fine as 
>>>>> part of this. I see you created the new test with 'hg cp' (or similar) 
>>>>> which records it as a copy of the SWTCursorsTest.java file, which given 
>>>>> the number of changes is not needed (and not really useful), but that's 
>>>>> easy to fix.
>>>>>         
>>>> Done (I copied it within IntelliJ and the IDE seems to have applied hg 
>>>> copy).
>>>> 
>>>>       
>>>>> There are several white space changes in FXCanvas.java that should be 
>>>>> reverted. Our policy is that we do not make unrelated changes, including 
>>>>> white space changes, in portions of a file that aren't otherwise modified 
>>>>> by a patch.
>>>>>         
>>>> Done (I used the IntelliJ formatter). 
>>>>       
>>>>>> The GTK2 flag I introduced just affects SWT. As the swt library that is 
>>>>>> bundled is rather old (3.7.2) that seemed to be safer (we have observed 
>>>>>> quite a few problems when running SWT on GTK3). We can of course remove 
>>>>>> it if tests are not affected by it.
>>>>>>           
>>>>> We don't actually bundle swt itself, although we do download an old copy 
>>>>> to link against, and to run tests against. In any case, given that our 
>>>>> minimum Linux platform for JDK 9 is Ubuntu 16.04, it might not have GTK2 
>>>>> installed by default. Please revert this change to build.gradle. If test 
>>>>> issues arise on Linux we will deal with it at that time (possibly by 
>>>>> moving to a newer version of swt to run tests).
>>>>>         
>>>> I removed the SWT option. However, the previous logger message is no 
>>>> longer valid and should be removed, so the patch still contains a change 
>>>> to build.gradle.
>>>> 
>>>>       
>>>>> Thanks.
>>>>> 
>>>>> — Kevin
>>>>>         
>>>> Regards,
>>>> Alexander
>>>> 
>>>> 
>>>> ------------------------------------------------------------------------
>>>> 
>>>> 
>>>>       
>>>>>         
>>>>>>> — Kevin
>>>>>>>             
>>>>>> Regards,
>>>>>> Alexander
>>>>>> 
>>>>>>           
>>>>>>> [1] 
>>>>>>> http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004485.html 
>>>>>>> <http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004485.html>
>>>>>>> [2]  http://openjdk.java.net/projects/jdk9/fc-extension-process 
>>>>>>> <http://openjdk.java.net/projects/jdk9/fc-extension-process>
>>>>>>> [3] https://bugs.openjdk.java.net/browse/JDK-8145568 
>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8145568>
>>>>>>> 
>>>>>>> 
>>>>>>> Phil Race wrote:
>>>>>>>             
>>>>>>>> The mailing list rejects attachments so we got nothing.
>>>>>>>> 
>>>>>>>> -phil.
>>>>>>>> 
>>>>>>>> On 7/28/2016 8:06 AM, Alexander Nyssen wrote:
>>>>>>>>               
>>>>>>>>> Hi Kevin, all,
>>>>>>>>> 
>>>>>>>>> attached please find a patch that fixes JDK-8160325. The patch 
>>>>>>>>> comprises the following changes:
>>>>>>>>> 
>>>>>>>>> - Provided static FXCanvas#getFXCanvas(Scene) method to obtain the 
>>>>>>>>> FXCanvas instance embedding the given Scene instance.
>>>>>>>>> - Added EmbeddedWindow.getHost() so the HostInterface can be 
>>>>>>>>> retrieved.
>>>>>>>>> - Added FXCanvasTest with a test method to test correct behavior of 
>>>>>>>>> FXCanvas#getFXCanvas(Scene).
>>>>>>>>> - Introduced SwtTest JUnit MethodRule to have more concise tests and 
>>>>>>>>> ensure it is also used by SWTCursorsTest.
>>>>>>>>> - Ensured SWT tests are executed using GTK2 on Linux.
>>>>>>>>> 
>>>>>>>>> I reworked the existing SWTCursorsTest while introducing FXCanvasTest 
>>>>>>>>> to be more concise.
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Alexander
>>>>>>>>> 
>>>>>>>>>                 
>>   

Reply via email to