[9] Review request for 8164096: ListChangeListener on ReadOnlyListWrapper's getReadOnlyProperty() does not reset change

2016-08-17 Thread Vadim Pakhnushev

Hi Chien,

Could you please review the fix:
https://bugs.openjdk.java.net/browse/JDK-8164096
http://cr.openjdk.java.net/~vadim/8164096/webrev.00/

Thanks,
Vadim


Re: Exception running FXMark with JavaFX 9

2016-08-17 Thread Felix Bembrick
OK, I have read the article and followed Rahman's advice (thanks!) and here
are my VM args now:

-Djavafx.animation.fullspeed=true
-addmods ALL-DEFAULT,java.se.ee
-XaddExports:javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.perf=ALL-UNNAMED

But, when I run FXMark I now get this error:

Error occurred during initialization of VM
java.lang.IllegalArgumentException: package com.sun.javafx.perf not in
contents
 at java.lang.reflect.Module.implAddExports(java.base@9-ea/Module.java:591)
 at java.lang.reflect.Module.access$400(java.base@9-ea/Module.java:86)
 at java.lang.reflect.Module$1.addExportsToAllUnnamed(java.base@9-ea
/Module.java:1109)
 at jdk.internal.module.Modules.addExportsToAllUnnamed(java.base@9-ea
/Modules.java:124)
 at jdk.internal.module.ModuleBootstrap.addExtraExports(java.base@9-ea
/ModuleBootstrap.java:476)
 at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea
/ModuleBootstrap.java:322)
 at java.lang.System.initPhase2(java.base@9-ea/System.java:1930)

Can anyone point out what I am doing wrong?

Cheers,

Felix


On 17 August 2016 at 00:22, Rahman USTA  wrote:

> Dear Felix;
>
> I'm running AsciidocFX with the following JVM parameters. They can help
> you.
>
> -Djava.awt.headless=false
> -XaddExports:javafx.graphics/
> com.sun.javafx.stage=ALL-UNNAMED -addmods ALL-DEFAULT,java.se.ee
> -XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
> -XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
> -XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
> -XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
> -addmods javafx.deploy,ALL-SYSTEM
>
> I thought that the followings may help you
>
> -addmods ALL-DEFAULT,java.se.ee -XaddExports:javafx.base/com.
> sun.javafx.perf=ALL-UNNAMED
>
> Thanks.
>
> 2016-08-16 8:50 GMT+03:00 Felix Bembrick :
>
>> I am trying to port FXMark from Java 8 to Java 9 but encounter this
>> exception:
>>
>> Caused by: java.lang.IllegalAccessError: class com.bembrick.fxmark.HUD (in
>> unnamed module @0x59223fd5) cannot access class
>> com.sun.javafx.perf.PerformanceTracker (in module javafx.graphics)
>> because
>> module javafx.graphics does not export com.sun.javafx.perf to unnamed
>> module @0x59223fd5
>>
>> How do I access PerformanceTracker in Java/JavaFX 9?
>>
>> Thanks,
>>
>> Felix
>>
>
>
>
> --
> Rahman USTA
> Istanbul JUG
> https://github.com/rahmanusta 
>


Re: Exception running FXMark with JavaFX 9

2016-08-17 Thread Vadim Pakhnushev

Felix,

The com.sun.javafx.perf.PerformanceTracker is in the javafx.graphics module.

Vadim

On 17.08.2016 10:50, Felix Bembrick wrote:

OK, I have read the article and followed Rahman's advice (thanks!) and here
are my VM args now:

-Djavafx.animation.fullspeed=true
-addmods ALL-DEFAULT,java.se.ee
-XaddExports:javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
-XaddExports:javafx.base/com.sun.javafx.perf=ALL-UNNAMED

But, when I run FXMark I now get this error:

Error occurred during initialization of VM
java.lang.IllegalArgumentException: package com.sun.javafx.perf not in
contents
  at java.lang.reflect.Module.implAddExports(java.base@9-ea/Module.java:591)
  at java.lang.reflect.Module.access$400(java.base@9-ea/Module.java:86)
  at java.lang.reflect.Module$1.addExportsToAllUnnamed(java.base@9-ea
/Module.java:1109)
  at jdk.internal.module.Modules.addExportsToAllUnnamed(java.base@9-ea
/Modules.java:124)
  at jdk.internal.module.ModuleBootstrap.addExtraExports(java.base@9-ea
/ModuleBootstrap.java:476)
  at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea
/ModuleBootstrap.java:322)
  at java.lang.System.initPhase2(java.base@9-ea/System.java:1930)

Can anyone point out what I am doing wrong?

Cheers,

Felix


On 17 August 2016 at 00:22, Rahman USTA  wrote:


Dear Felix;

I'm running AsciidocFX with the following JVM parameters. They can help
you.

-Djava.awt.headless=false
 -XaddExports:javafx.graphics/
com.sun.javafx.stage=ALL-UNNAMED -addmods ALL-DEFAULT,java.se.ee
-XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
 -XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
 -XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
 -XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
-addmods javafx.deploy,ALL-SYSTEM

I thought that the followings may help you

-addmods ALL-DEFAULT,java.se.ee -XaddExports:javafx.base/com.
sun.javafx.perf=ALL-UNNAMED

Thanks.

2016-08-16 8:50 GMT+03:00 Felix Bembrick :


I am trying to port FXMark from Java 8 to Java 9 but encounter this
exception:

Caused by: java.lang.IllegalAccessError: class com.bembrick.fxmark.HUD (in
unnamed module @0x59223fd5) cannot access class
com.sun.javafx.perf.PerformanceTracker (in module javafx.graphics)
because
module javafx.graphics does not export com.sun.javafx.perf to unnamed
module @0x59223fd5

How do I access PerformanceTracker in Java/JavaFX 9?

Thanks,

Felix




--
Rahman USTA
Istanbul JUG
https://github.com/rahmanusta 





Re: Exception running FXMark with JavaFX 9

2016-08-17 Thread Felix Bembrick
Ah, thanks Vadim.

That would certainly explain the exception!

Cheers,

Felix

> On 17 Aug 2016, at 22:45, Vadim Pakhnushev  
> wrote:
> 
> Felix,
> 
> The com.sun.javafx.perf.PerformanceTracker is in the javafx.graphics module.
> 
> Vadim
> 
>> On 17.08.2016 10:50, Felix Bembrick wrote:
>> OK, I have read the article and followed Rahman's advice (thanks!) and here
>> are my VM args now:
>> 
>> -Djavafx.animation.fullspeed=true
>> -addmods ALL-DEFAULT,java.se.ee
>> -XaddExports:javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED
>> -XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
>> -XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
>> -XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
>> -XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
>> -XaddExports:javafx.base/com.sun.javafx.perf=ALL-UNNAMED
>> 
>> But, when I run FXMark I now get this error:
>> 
>> Error occurred during initialization of VM
>> java.lang.IllegalArgumentException: package com.sun.javafx.perf not in
>> contents
>>  at java.lang.reflect.Module.implAddExports(java.base@9-ea/Module.java:591)
>>  at java.lang.reflect.Module.access$400(java.base@9-ea/Module.java:86)
>>  at java.lang.reflect.Module$1.addExportsToAllUnnamed(java.base@9-ea
>> /Module.java:1109)
>>  at jdk.internal.module.Modules.addExportsToAllUnnamed(java.base@9-ea
>> /Modules.java:124)
>>  at jdk.internal.module.ModuleBootstrap.addExtraExports(java.base@9-ea
>> /ModuleBootstrap.java:476)
>>  at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea
>> /ModuleBootstrap.java:322)
>>  at java.lang.System.initPhase2(java.base@9-ea/System.java:1930)
>> 
>> Can anyone point out what I am doing wrong?
>> 
>> Cheers,
>> 
>> Felix
>> 
>> 
>>> On 17 August 2016 at 00:22, Rahman USTA  wrote:
>>> 
>>> Dear Felix;
>>> 
>>> I'm running AsciidocFX with the following JVM parameters. They can help
>>> you.
>>> 
>>> -Djava.awt.headless=false
>>> -XaddExports:javafx.graphics/
>>> com.sun.javafx.stage=ALL-UNNAMED -addmods ALL-DEFAULT,java.se.ee
>>> -XaddExports:javafx.base/com.sun.javafx.collections=ALL-UNNAMED
>>> -XaddExports:javafx.base/com.sun.javafx.property=ALL-UNNAMED
>>> -XaddExports:javafx.base/com.sun.javafx=ALL-UNNAMED
>>> -XaddExports:javafx.base/com.sun.javafx.event=ALL-UNNAMED
>>> -addmods javafx.deploy,ALL-SYSTEM
>>> 
>>> I thought that the followings may help you
>>> 
>>> -addmods ALL-DEFAULT,java.se.ee -XaddExports:javafx.base/com.
>>> sun.javafx.perf=ALL-UNNAMED
>>> 
>>> Thanks.
>>> 
>>> 2016-08-16 8:50 GMT+03:00 Felix Bembrick :
>>> 
 I am trying to port FXMark from Java 8 to Java 9 but encounter this
 exception:
 
 Caused by: java.lang.IllegalAccessError: class com.bembrick.fxmark.HUD (in
 unnamed module @0x59223fd5) cannot access class
 com.sun.javafx.perf.PerformanceTracker (in module javafx.graphics)
 because
 module javafx.graphics does not export com.sun.javafx.perf to unnamed
 module @0x59223fd5
 
 How do I access PerformanceTracker in Java/JavaFX 9?
 
 Thanks,
 
 Felix
>>> 
>>> 
>>> --
>>> Rahman USTA
>>> Istanbul JUG
>>> https://github.com/rahmanusta 
> 


[PATCH] 8143596: FXCanvas does not forward touch gestures to embedded scene

2016-08-17 Thread Alexander Nyssen
Hi all, Kevin,

attached please find a patch for JDK-8143596 
 (FXCanvas does not forward 
touch gestures to embedded scene). The patch depends on the most recent patch I 
provided for JDK-8161282 (revision 15_08_16, which was already uploaded). I 
developed and tested it on MacOSX, as SWT does not support any gestures on 
Linux. I could not test it on Windows yet, but will try to do so tomorrow (I 
cannot use my virtual machine but need to get hold of a windows device with 
touch support). I have added a simple manual test but no automated test yet.

Best Regards,
Alexander



End-to-end performance tests for distributed JavaFX application

2016-08-17 Thread Daniel Glöckner
Hi,

We're looking at developing a performance benchmark suite for our distributed 
JavaFX application.

We want end-to-end metrics which include rendering / event processing in the UI.
Example 1) @T_0 server sends update to client, @T_1 client receives the update, 
@T_2 the update is rendered. Measure T_2 - T_0.
Example 2) @T_0 user clicks on a button which triggers a remote action, @T_1 UI 
has performed the remote call, @T_2 the server has reacted to the call. Measure 
T_2 - T_0.

We want to automate the performance tests so we would need some kind of test 
driver which would start the UI and "click buttons". Maybe TestFX 
(https://github.com/TestFX/TestFX), Automaton 
(https://github.com/renatoathaydes/Automaton) or JemmyFX 
(https://jemmy.java.net/JemmyFXGuide/jemmy-guide.html) would be a good 
candidate for this job (example 2). 

Also, we would need to detect when an update is rendered (example 1).

Does anyone on this list have experience with such performance measurements? 
Any hints appreciated ;)

Kind regards,
Daniel


Re: [PATCH] 8161282: FXCanvas does not forward horizontal mouse scroll events to the embedded scene

2016-08-17 Thread Kevin Rushforth

Uploaded the new version.

Alexander Zvegintsev will sponsor this patch, and I will review it.

My one quick comment -- in addition to the wild-card imports which 
Alexander Z caught, and said he would take care of -- is that the format 
of the commit message is not quite right. See the following page for 
formatting rules on the changeset commit message:


http://openjdk.java.net/guide/producingChangeset.html

Thanks.

-- Kevin



Alexander Nyssen wrote:
You might even take the one I attached. I just recognized I still had 
some unused imports in the manual test case (I am still not familiar 
with IntelliJ).


Regards,
Alexander





Am 15.08.2016 um 19:26 schrieb Kevin Rushforth 
mailto:kevin.rushfo...@oracle.com>>:


OK, I'll upload this revised version of the patch today.

-- Kevin


Alexander Nyssen wrote:

Hi Kevin,

please consider the following updated patch instead, which contains 
an additional null-check.


Regards
Alexander





Am 12.08.2016 um 16:04 schrieb Alexander Nyssen 
mailto:alexan...@nyssen.org>>:


Hi Kevin,

attached please find an initial patch 
for https://bugs.openjdk.java.net/browse/JDK-8161282.


The patch is not as minimal as I had hoped, as the 
EmbeddedSceneInterface had to be changed to differentiate between 
mouse and scroll events (while up to now, scroll events are handled 
as mouse events), but for me this seemed necessary to fix this 
issue properly. As a result, JFXPanel had to be adjusted as well to 
comply to the changes in the EmbeddedSceneInterface, while its 
behavior should not have changed.


As horizontal mouse events cannot be synthesized via 
Display.post(Event) yet (an open issue for SWT), I did not add an 
automated test, but instead added a manual one 
(FXCanvasMouseWheelEventsTest). Therefore, this patch does not 
depend on the patch I provided earlier for JDK-8160325.


Best Regards,
Alexander






=


=


Re: [PATCH] 8143596: FXCanvas does not forward touch gestures to embedded scene

2016-08-17 Thread Kevin Rushforth
I uploaded the patch. I also added a comment [1] to the bug report with 
a concern about updating the dependent SWT library. You can read the 
details in the bug report.


-- Kevin

[1] 
https://bugs.openjdk.java.net/browse/JDK-8143596?focusedCommentId=13989256&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13989256



Alexander Nyssen wrote:

Hi all, Kevin,

attached please find a patch for JDK-8143596 
 (FXCanvas does not 
forward touch gestures to embedded scene). The patch depends on the 
most recent patch I provided for JDK-8161282 (revision 15_08_16, which 
was already uploaded). I developed and tested it on MacOSX, as SWT 
does not support any gestures on Linux. I could not test it on Windows 
yet, but will try to do so tomorrow (I cannot use my virtual machine 
but need to get hold of a windows device with touch support). I have 
added a simple manual test but no automated test yet.


Best Regards,
Alexander

=




[9] Review request for JDK-8160073: menu issues in case of two-display configuration

2016-08-17 Thread Jim Graham

JBS: https://bugs.openjdk.java.net/browse/JDK-8160073
webrev: http://cr.openjdk.java.net/~flar/JDK-8160073/webrev.00/

The details are in the comments in the bug report.  To summarize:

- send a notification when DPI changes to reevaluate scene.getXY()
- correctly scale event screen coordinates for Mouse/Scroll/Gesture events
  (code is copied from Menu event code that was already doing it)

...jim