Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Stephen F Northover
The two ways of launching are equivalent however, at one point, we did 
not run main() even when main() was available and this caused problems 
on the desktop.  Lots of code was written that expected main() to run 
and this code was broken.  We will be supporting both ways of launching 
an FX application for the foreseeable future, however, the IDE's still 
need to understand that FX applications that only contain start() are 
launchable.


Steve

On 2014-04-08 8:34 AM, ngalarn...@abinitio.com wrote:

Hi Richard,

You raised this IntelliJ issue here:
http://youtrack.jetbrains.com/issue/IDEA-101939

It is marked as a feature request.

Are you guys saying that the 2 ways of launching are not equivalent?

What is the difference?

Maybe that issue should be upgraded to a BUG if the old launching method
is now wrong, not merely old fashioned.


Neil




From:   Richard Bair richard.b...@oracle.com
To: Kevin Rushforth kevin.rushfo...@oracle.com
Cc: openjfx-dev@openjdk.java.net, Sandipan Razzaque m...@sandipan.net
Date:   04/07/2014 09:43 PM
Subject:Re: [RT-33954] static block...causes IllegalStateException
- re-open?
Sent by:openjfx-dev openjfx-dev-boun...@openjdk.java.net



Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth kevin.rushfo...@oracle.com
wrote:


I can't speak to other IntelliJ issues, but the root cause of this

particular one is the same thing that Debbie ran into last week --
IntelliJ doesn't launch programs using the standard Java launcher. For
whatever reason, it uses its own launcher. This might be worth raising
with JetBrains.

-- Kevin


Jonathan Giles wrote:

Kevin,

Yes, that is the program I used, and yes, I get the 'Toolkit not

initialized' exception. I am running IntelliJ, so that is the reason. I
switched over to Eclipse and the code run as expected.

I am slightly bothered by the occasional failures that seem to be

IntelliJ-specific. I have a gut feeling that it doesn't always run all
tests (or that it runs them slightly differently to get different results
than when run on the command line). Does anyone know why this is?

I'm actually most at home in Eclipse, so perhaps I should switch to

that as my primary IDE for OpenJFX development.

-- Jonathan

On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:

Just to make sure we are running the same program, the one I ran to

verify that RT-33954 is fixed was the simple test program in the comments
of that bug. Here it is (with the imports omitted for brevity).

public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in

javafx.scene.control.Control

   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
}

The above program runs fine for me with no exception.

Jonathan: are you seeing something different? Or perhaps running a

different example?

NOTE: if you run this from IntelliJ it will not work. I verified that

with Debbie last week (on a different issue), which may be why you are
seeing a problem. Running it from command line, from NB, or from Eclipse
works.

-- Kevin


Jonathan Giles wrote:

Firstly, I agree - this does seem to still be reproducible despite

Kevin's comment that it should have been resolved in JavaFX 8.0 due to
RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is
troubling. I'll leave Kevin to comment on that.

Secondly, RT-33954 was closed as a duplicate of RT-28754 

https://javafx-jira.kenai.com/browse/RT-28754, so it would be better to
leave RT-33954 closed and move discussion (including what you recently
posted) into RT-28754 https://javafx-jira.kenai.com/browse/RT-28754. The
discussion can start in there and most probably a new bug will need to be
opened (as RT-28754 https://javafx-jira.kenai.com/browse/RT-28754 did
result in a code change that at one point appears to have fixed the
problem, so we're possibly dealing with a regression).

Thirdly, whether this is a suitable bug for someone learning the

ropes is debatable. I'll leave Kevin to offer his thoughts, but perhaps
you can propose a patch that resolves this issue for you in your test
scenarios. Also, a good starting point is to develop a simple test
application that helps to demonstrate this issue (preferably the test case
is a single class with no dependencies), and which you can then share in
the jira issue via copy/paste into a comment.

Fourthly, to be a contributor in the OpenJDK requires you to follow a

process to get the paperwork in order. It is wise to get that started as
soon as possible, as it can sometimes take a while. Here's a link to the
process: http://openjdk.java.net/contribute/ The main thing is the OCA.

Finally, welcome! :-)

-- Jonathan

On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:

Hi JavaFX devs!

I was wondering how people

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Kevin Rushforth

Hi,

What you've discovered is exactly how the Java launcher is intended to 
work (we have unit tests that verify this fact). The launcher recognizes 
a JavaFX application by checking whether the class to be launched 
extends javafx.application.Application. So this isn't a side effect, but 
an intentional behavior.


The advice given in the JIRA is what you will need to do before 
accessing JavaFX:


1) Call Application.launch(MyAppClass.class)
2) Call new JFXPanel()

-- Kevin


Sandipan Razzaque wrote:

Kevin/Jonathan -

Steve's example in the Jira captures perfectly what I was encountering 
in Java, and I've been trying to boil it down into a minimal failing 
example - reconciling it with what I've experienced in dynamic languages.


Turns out it's about whether or not you extend Application. This leads 
me to believe that it's something in Application's classloading that 
enables your example to work cleanly.


Try your class out again - with the minor edits I've made below:

public class Example /* extends Application */ {
   public static void main(String[] args) {
   //this is called from a static block in 
javafx.scene.control.Control

   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   /*@Override*/
   public void start(final Stage primaryStage) throws Exception {
   }
}

Cheers,
SR



Sandipan Razzaque | www.sandipan.net http://www.sandipan.net


On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair richard.b...@oracle.com 
mailto:richard.b...@oracle.com wrote:


Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth
kevin.rushfo...@oracle.com mailto:kevin.rushfo...@oracle.com
wrote:

 I can't speak to other IntelliJ issues, but the root cause of
this particular one is the same thing that Debbie ran into last
week -- IntelliJ doesn't launch programs using the standard Java
launcher. For whatever reason, it uses its own launcher. This
might be worth raising with JetBrains.

 -- Kevin


 Jonathan Giles wrote:
 Kevin,

 Yes, that is the program I used, and yes, I get the 'Toolkit
not initialized' exception. I am running IntelliJ, so that is the
reason. I switched over to Eclipse and the code run as expected.

 I am slightly bothered by the occasional failures that seem to
be IntelliJ-specific. I have a gut feeling that it doesn't always
run all tests (or that it runs them slightly differently to get
different results than when run on the command line). Does anyone
know why this is?

 I'm actually most at home in Eclipse, so perhaps I should
switch to that as my primary IDE for OpenJFX development.

 -- Jonathan

 On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
 Just to make sure we are running the same program, the one I
ran to verify that RT-33954 is fixed was the simple test program
in the comments of that bug. Here it is (with the imports omitted
for brevity).

 public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in
javafx.scene.control.Control
   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
 }

 The above program runs fine for me with no exception.

 Jonathan: are you seeing something different? Or perhaps
running a different example?

 NOTE: if you run this from IntelliJ it will not work. I
verified that with Debbie last week (on a different issue), which
may be why you are seeing a problem. Running it from command line,
from NB, or from Eclipse works.

 -- Kevin


 Jonathan Giles wrote:
 Firstly, I agree - this does seem to still be reproducible
despite Kevin's comment that it should have been resolved in
JavaFX 8.0 due to RT-28754
https://javafx-jira.kenai.com/browse/RT-28754, so that is
troubling. I'll leave Kevin to comment on that.

 Secondly, RT-33954 was closed as a duplicate of RT-28754
https://javafx-jira.kenai.com/browse/RT-28754, so it would be
better to leave RT-33954 closed and move discussion (including
what you recently posted) into RT-28754
https://javafx-jira.kenai.com/browse/RT-28754. The discussion
can start in there and most probably a new bug will need to be
opened (as RT-28754
https://javafx-jira.kenai.com/browse/RT-28754 did result in a
code change that at one point appears to have fixed the problem,
so we're possibly dealing with a regression).

 Thirdly, whether this is a suitable bug for someone learning
the ropes is debatable. I'll leave Kevin to offer his thoughts,
but perhaps you can propose a patch that resolves this 

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Kevin Rushforth



Stephen F Northover wrote:
Right, I jumped in mid-thread.  The link points to an IntelliJ issue 
that talks about launching only.


IntelliJ inserts its own launcher and this isn't great, but do we have 
concrete problems or JIRA that are caused by this?


Yes we have concrete problems (but no JIRA yet) caused by this. This 
feature of IntelliJ prevents the initializing of the specified app 
class from being done on the FX application thread. I will file an FX 
JIRA and follow up.


-- Kevin



Steve

On 2014-04-08 9:21 AM, Kevin Rushforth wrote:
Note that this feature request is only somewhat related to the issue 
at hand. Yes we would like IntelliJ (and Eclipse) to recognize and 
launch JavaFX application subclasses with no main method, but the 
issue here is that IntelliJ (unlike the other IDEs) inserts its own 
launcher class in front of the program you are running, which causes 
the Java launcher to not recognize that it is being asked to launch a 
JavaFX program. So we could either file a new JIRA or maybe add the 
additional information to the existing one that Richard filed.


Either way, we need to document this on our Wiki to warn IntelliJ 
users of this.


-- Kevin


Stephen F Northover wrote:
The two ways of launching are equivalent however, at one point, we 
did not run main() even when main() was available and this caused 
problems on the desktop.  Lots of code was written that expected 
main() to run and this code was broken.  We will be supporting both 
ways of launching an FX application for the foreseeable future, 
however, the IDE's still need to understand that FX applications 
that only contain start() are launchable.


Steve

On 2014-04-08 8:34 AM, ngalarn...@abinitio.com wrote:

Hi Richard,

You raised this IntelliJ issue here:
http://youtrack.jetbrains.com/issue/IDEA-101939

It is marked as a feature request.

Are you guys saying that the 2 ways of launching are not equivalent?

What is the difference?

Maybe that issue should be upgraded to a BUG if the old launching 
method

is now wrong, not merely old fashioned.


Neil




From:   Richard Bair richard.b...@oracle.com
To: Kevin Rushforth kevin.rushfo...@oracle.com
Cc: openjfx-dev@openjdk.java.net, Sandipan Razzaque 
m...@sandipan.net

Date:   04/07/2014 09:43 PM
Subject:Re: [RT-33954] static block...causes 
IllegalStateException

- re-open?
Sent by:openjfx-dev openjfx-dev-boun...@openjdk.java.net



Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth 
kevin.rushfo...@oracle.com

wrote:


I can't speak to other IntelliJ issues, but the root cause of this

particular one is the same thing that Debbie ran into last week --
IntelliJ doesn't launch programs using the standard Java launcher. For
whatever reason, it uses its own launcher. This might be worth raising
with JetBrains.

-- Kevin


Jonathan Giles wrote:

Kevin,

Yes, that is the program I used, and yes, I get the 'Toolkit not
initialized' exception. I am running IntelliJ, so that is the 
reason. I

switched over to Eclipse and the code run as expected.

I am slightly bothered by the occasional failures that seem to be

IntelliJ-specific. I have a gut feeling that it doesn't always run all
tests (or that it runs them slightly differently to get different 
results

than when run on the command line). Does anyone know why this is?

I'm actually most at home in Eclipse, so perhaps I should switch to

that as my primary IDE for OpenJFX development.

-- Jonathan

On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:

Just to make sure we are running the same program, the one I ran to
verify that RT-33954 is fixed was the simple test program in the 
comments

of that bug. Here it is (with the imports omitted for brevity).

public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in

javafx.scene.control.Control

PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
}

The above program runs fine for me with no exception.

Jonathan: are you seeing something different? Or perhaps running a

different example?
NOTE: if you run this from IntelliJ it will not work. I verified 
that

with Debbie last week (on a different issue), which may be why you are
seeing a problem. Running it from command line, from NB, or from 
Eclipse

works.

-- Kevin


Jonathan Giles wrote:

Firstly, I agree - this does seem to still be reproducible despite

Kevin's comment that it should have been resolved in JavaFX 8.0 due to
RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is
troubling. I'll leave Kevin to comment on that.

Secondly, RT-33954 was closed as a duplicate of RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754, so it would be 
better to

leave RT-33954 closed and move discussion (including what you

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Kevin Rushforth

https://javafx-jira.kenai.com/browse/RT-36581

-- Kevin


Kevin Rushforth wrote:



Stephen F Northover wrote:
Right, I jumped in mid-thread.  The link points to an IntelliJ issue 
that talks about launching only.


IntelliJ inserts its own launcher and this isn't great, but do we 
have concrete problems or JIRA that are caused by this?


Yes we have concrete problems (but no JIRA yet) caused by this. This 
feature of IntelliJ prevents the initializing of the specified app 
class from being done on the FX application thread. I will file an FX 
JIRA and follow up.


-- Kevin



Steve

On 2014-04-08 9:21 AM, Kevin Rushforth wrote:
Note that this feature request is only somewhat related to the issue 
at hand. Yes we would like IntelliJ (and Eclipse) to recognize and 
launch JavaFX application subclasses with no main method, but the 
issue here is that IntelliJ (unlike the other IDEs) inserts its own 
launcher class in front of the program you are running, which causes 
the Java launcher to not recognize that it is being asked to launch 
a JavaFX program. So we could either file a new JIRA or maybe add 
the additional information to the existing one that Richard filed.


Either way, we need to document this on our Wiki to warn IntelliJ 
users of this.


-- Kevin


Stephen F Northover wrote:
The two ways of launching are equivalent however, at one point, we 
did not run main() even when main() was available and this caused 
problems on the desktop.  Lots of code was written that expected 
main() to run and this code was broken.  We will be supporting both 
ways of launching an FX application for the foreseeable future, 
however, the IDE's still need to understand that FX applications 
that only contain start() are launchable.


Steve

On 2014-04-08 8:34 AM, ngalarn...@abinitio.com wrote:

Hi Richard,

You raised this IntelliJ issue here:
http://youtrack.jetbrains.com/issue/IDEA-101939

It is marked as a feature request.

Are you guys saying that the 2 ways of launching are not equivalent?

What is the difference?

Maybe that issue should be upgraded to a BUG if the old launching 
method

is now wrong, not merely old fashioned.


Neil




From:   Richard Bair richard.b...@oracle.com
To: Kevin Rushforth kevin.rushfo...@oracle.com
Cc: openjfx-dev@openjdk.java.net, Sandipan Razzaque 
m...@sandipan.net

Date:   04/07/2014 09:43 PM
Subject:Re: [RT-33954] static block...causes 
IllegalStateException

- re-open?
Sent by:openjfx-dev openjfx-dev-boun...@openjdk.java.net



Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth 
kevin.rushfo...@oracle.com

wrote:


I can't speak to other IntelliJ issues, but the root cause of this

particular one is the same thing that Debbie ran into last week --
IntelliJ doesn't launch programs using the standard Java launcher. 
For
whatever reason, it uses its own launcher. This might be worth 
raising

with JetBrains.

-- Kevin


Jonathan Giles wrote:

Kevin,

Yes, that is the program I used, and yes, I get the 'Toolkit not
initialized' exception. I am running IntelliJ, so that is the 
reason. I

switched over to Eclipse and the code run as expected.

I am slightly bothered by the occasional failures that seem to be
IntelliJ-specific. I have a gut feeling that it doesn't always run 
all
tests (or that it runs them slightly differently to get different 
results

than when run on the command line). Does anyone know why this is?

I'm actually most at home in Eclipse, so perhaps I should switch to

that as my primary IDE for OpenJFX development.

-- Jonathan

On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
Just to make sure we are running the same program, the one I 
ran to
verify that RT-33954 is fixed was the simple test program in the 
comments

of that bug. Here it is (with the imports omitted for brevity).

public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in

javafx.scene.control.Control

PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
}

The above program runs fine for me with no exception.

Jonathan: are you seeing something different? Or perhaps running a

different example?
NOTE: if you run this from IntelliJ it will not work. I 
verified that
with Debbie last week (on a different issue), which may be why you 
are
seeing a problem. Running it from command line, from NB, or from 
Eclipse

works.

-- Kevin


Jonathan Giles wrote:
Firstly, I agree - this does seem to still be reproducible 
despite
Kevin's comment that it should have been resolved in JavaFX 8.0 
due to

RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is
troubling. I'll leave Kevin to comment on that.

Secondly, RT-33954 was closed as a duplicate of RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754, so

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Sandipan Razzaque
Hi Kevin -

Thanks for the clarification that this is indeed by design - and also for
the workarounds.

For Clojure, the solution looks a little inelegant and isn't idiomatic
clojure - any import statement will effectively cause a class
initialization to happen - so if you have any source files with an :import
anything extending Control at the top you're kind of screwed, because
clojure will do a Class.forName at eval time. It's nice that in nashorn we
have the -fx option.

Just want to gauge people's thoughts here: just as an experiment, I tried
moving the contents of the Control.java static init block into
LauncherImpl#launchApplication and there seem to be no visible effects at
least at a superficial level. My judgement of not at a superficial level
is based upon: running 'gradle test' and seeing the same result as without
making the change, running the sample 'hello world' app and running the
Ensemble and clicking around. A nice side effect of this is of course we
can import controls in dynamic language source files in the correct way
without blowing up...

Cheers,
SR



Sandipan Razzaque | www.sandipan.net


On Tue, Apr 8, 2014 at 9:09 AM, Kevin Rushforth
kevin.rushfo...@oracle.comwrote:

  Hi,

 What you've discovered is exactly how the Java launcher is intended to
 work (we have unit tests that verify this fact). The launcher recognizes a
 JavaFX application by checking whether the class to be launched extends
 javafx.application.Application. So this isn't a side effect, but an
 intentional behavior.

 The advice given in the JIRA is what you will need to do before accessing
 JavaFX:

 1) Call Application.launch(MyAppClass.class)
 2) Call new JFXPanel()

 -- Kevin



 Sandipan Razzaque wrote:

 Kevin/Jonathan -

  Steve's example in the Jira captures perfectly what I was encountering
 in Java, and I've been trying to boil it down into a minimal failing
 example - reconciling it with what I've experienced in dynamic languages.

  Turns out it's about whether or not you extend Application. This leads
 me to believe that it's something in Application's classloading that
 enables your example to work cleanly.

  Try your class out again - with the minor edits I've made below:

  public class Example /* extends Application */ {
public static void main(String[] args) {
//this is called from a static block in javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();

Application.launch(args);
}

/*@Override*/
public void start(final Stage primaryStage) throws Exception {
}
 }

  Cheers,
 SR



 Sandipan Razzaque | www.sandipan.net


 On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair richard.b...@oracle.comwrote:

 Yes, this is one of the few things that I just hate about IDEA.

 On Apr 7, 2014, at 6:00 PM, Kevin Rushforth kevin.rushfo...@oracle.com
 wrote:

  I can't speak to other IntelliJ issues, but the root cause of this
 particular one is the same thing that Debbie ran into last week -- IntelliJ
 doesn't launch programs using the standard Java launcher. For whatever
 reason, it uses its own launcher. This might be worth raising with
 JetBrains.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Kevin,
 
  Yes, that is the program I used, and yes, I get the 'Toolkit not
 initialized' exception. I am running IntelliJ, so that is the reason. I
 switched over to Eclipse and the code run as expected.
 
  I am slightly bothered by the occasional failures that seem to be
 IntelliJ-specific. I have a gut feeling that it doesn't always run all
 tests (or that it runs them slightly differently to get different results
 than when run on the command line). Does anyone know why this is?
 
  I'm actually most at home in Eclipse, so perhaps I should switch to
 that as my primary IDE for OpenJFX development.
 
  -- Jonathan
 
  On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
  Just to make sure we are running the same program, the one I ran to
 verify that RT-33954 is fixed was the simple test program in the comments
 of that bug. Here it is (with the imports omitted for brevity).
 
  public class Example extends Application {
public static void main(String[] args) {
//this is called from a static block in
 javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();
 
Application.launch(args);
}
 
@Override
public void start(final Stage primaryStage) throws Exception {
}
  }
 
  The above program runs fine for me with no exception.
 
  Jonathan: are you seeing something different? Or perhaps running a
 different example?
 
  NOTE: if you run this from IntelliJ it will not work. I verified that
 with Debbie last week (on a different issue), which may be why you are
 seeing a problem. Running it from command line, from NB, or from Eclipse
 works.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Firstly, I agree - this does seem to still be reproducible despite
 Kevin's comment that it should have been 

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Jonathan Giles
I'll leave Kevin to speak to the specifics of the JavaFX startup 
process, but the argument against what you are doing in your final 
paragraph is that this causes everyone to pay the controls tax even 
when they don't make use of UI controls in their application. In 
particular, this loads the controls css files (or their compiled bss 
form), and this is by no means a free (or cheap) operation.


-- Jonathan

On Wednesday, 9 April 2014 3:52:58 p.m., Sandipan Razzaque wrote:

Hi Kevin -

Thanks for the clarification that this is indeed by design - and also
for the workarounds.

For Clojure, the solution looks a little inelegant and isn't idiomatic
clojure - any import statement will effectively cause a class
initialization to happen - so if you have any source files with an
:import anything extending Control at the top you're kind of
screwed, because clojure will do a Class.forName at eval time. It's
nice that in nashorn we have the -fx option.

Just want to gauge people's thoughts here: just as an experiment, I
tried moving the contents of the Control.java static init block into
LauncherImpl#launchApplication and there seem to be no visible effects
at least at a superficial level. My judgement of not at a superficial
level is based upon: running 'gradle test' and seeing the same result
as without making the change, running the sample 'hello world' app and
running the Ensemble and clicking around. A nice side effect of this
is of course we can import controls in dynamic language source files
in the correct way without blowing up...

Cheers,
SR



Sandipan Razzaque | www.sandipan.net http://www.sandipan.net


On Tue, Apr 8, 2014 at 9:09 AM, Kevin Rushforth
kevin.rushfo...@oracle.com mailto:kevin.rushfo...@oracle.com wrote:

__
Hi,

What you've discovered is exactly how the Java launcher is
intended to work (we have unit tests that verify this fact). The
launcher recognizes a JavaFX application by checking whether the
class to be launched extends javafx.application.Application. So
this isn't a side effect, but an intentional behavior.

The advice given in the JIRA is what you will need to do before
accessing JavaFX:

1) Call Application.launch(MyAppClass.class)
2) Call new JFXPanel()

-- Kevin



Sandipan Razzaque wrote:

Kevin/Jonathan -

Steve's example in the Jira captures perfectly what I was
encountering in Java, and I've been trying to boil it down into a
minimal failing example - reconciling it with what I've
experienced in dynamic languages.

Turns out it's about whether or not you extend Application. This
leads me to believe that it's something in Application's
classloading that enables your example to work cleanly.

Try your class out again - with the minor edits I've made below:

public class Example /* extends Application */ {
   public static void main(String[] args) {
   //this is called from a static block in
javafx.scene.control.Control
   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

/*@Override*/
   public void start(final Stage primaryStage) throws Exception {
   }
}

Cheers,
SR



Sandipan Razzaque | www.sandipan.net http://www.sandipan.net


On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair
richard.b...@oracle.com mailto:richard.b...@oracle.com wrote:

Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth
kevin.rushfo...@oracle.com
mailto:kevin.rushfo...@oracle.com wrote:

 I can't speak to other IntelliJ issues, but the root cause
of this particular one is the same thing that Debbie ran into
last week -- IntelliJ doesn't launch programs using the
standard Java launcher. For whatever reason, it uses its own
launcher. This might be worth raising with JetBrains.

 -- Kevin


 Jonathan Giles wrote:
 Kevin,

 Yes, that is the program I used, and yes, I get the
'Toolkit not initialized' exception. I am running IntelliJ,
so that is the reason. I switched over to Eclipse and the
code run as expected.

 I am slightly bothered by the occasional failures that
seem to be IntelliJ-specific. I have a gut feeling that it
doesn't always run all tests (or that it runs them slightly
differently to get different results than when run on the
command line). Does anyone know why this is?

 I'm actually most at home in Eclipse, so perhaps I should
switch to that as my primary IDE for OpenJFX development.

 -- Jonathan

 On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
 Just to make sure we are running the same program, the
one I ran to verify that RT-33954 is fixed was the simple
  

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Sandipan Razzaque
Oh and for the record, the workaround for Clojure is to simply use
workaround provided (new up a JFXPanel) within Java, and then invoke your
Clojure entry point via the Java-Clojure
APIhttps://github.com/clojure/clojure/blob/master/changes.md#21-java-api.
This is what I meant by little inelegant and isn't idiomatic clojure -
it's not all that bad :-)

Cheers,
SR

Sandipan Razzaque | www.sandipan.net


On Tue, Apr 8, 2014 at 11:52 PM, Sandipan Razzaque m...@sandipan.net wrote:

 Hi Kevin -

 Thanks for the clarification that this is indeed by design - and also for
 the workarounds.

 For Clojure, the solution looks a little inelegant and isn't idiomatic
 clojure - any import statement will effectively cause a class
 initialization to happen - so if you have any source files with an :import
 anything extending Control at the top you're kind of screwed, because
 clojure will do a Class.forName at eval time. It's nice that in nashorn we
 have the -fx option.

 Just want to gauge people's thoughts here: just as an experiment, I tried
 moving the contents of the Control.java static init block into
 LauncherImpl#launchApplication and there seem to be no visible effects at
 least at a superficial level. My judgement of not at a superficial level
 is based upon: running 'gradle test' and seeing the same result as without
 making the change, running the sample 'hello world' app and running the
 Ensemble and clicking around. A nice side effect of this is of course we
 can import controls in dynamic language source files in the correct way
 without blowing up...

 Cheers,
 SR



 Sandipan Razzaque | www.sandipan.net


 On Tue, Apr 8, 2014 at 9:09 AM, Kevin Rushforth 
 kevin.rushfo...@oracle.com wrote:

  Hi,

 What you've discovered is exactly how the Java launcher is intended to
 work (we have unit tests that verify this fact). The launcher recognizes a
 JavaFX application by checking whether the class to be launched extends
 javafx.application.Application. So this isn't a side effect, but an
 intentional behavior.

 The advice given in the JIRA is what you will need to do before accessing
 JavaFX:

 1) Call Application.launch(MyAppClass.class)
 2) Call new JFXPanel()

 -- Kevin



 Sandipan Razzaque wrote:

 Kevin/Jonathan -

  Steve's example in the Jira captures perfectly what I was encountering
 in Java, and I've been trying to boil it down into a minimal failing
 example - reconciling it with what I've experienced in dynamic languages.

  Turns out it's about whether or not you extend Application. This leads
 me to believe that it's something in Application's classloading that
 enables your example to work cleanly.

  Try your class out again - with the minor edits I've made below:

  public class Example /* extends Application */ {
public static void main(String[] args) {
//this is called from a static block in
 javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();

Application.launch(args);
}

/*@Override*/
public void start(final Stage primaryStage) throws Exception {
}
 }

  Cheers,
 SR



 Sandipan Razzaque | www.sandipan.net


 On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair richard.b...@oracle.comwrote:

 Yes, this is one of the few things that I just hate about IDEA.

 On Apr 7, 2014, at 6:00 PM, Kevin Rushforth kevin.rushfo...@oracle.com
 wrote:

  I can't speak to other IntelliJ issues, but the root cause of this
 particular one is the same thing that Debbie ran into last week -- IntelliJ
 doesn't launch programs using the standard Java launcher. For whatever
 reason, it uses its own launcher. This might be worth raising with
 JetBrains.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Kevin,
 
  Yes, that is the program I used, and yes, I get the 'Toolkit not
 initialized' exception. I am running IntelliJ, so that is the reason. I
 switched over to Eclipse and the code run as expected.
 
  I am slightly bothered by the occasional failures that seem to be
 IntelliJ-specific. I have a gut feeling that it doesn't always run all
 tests (or that it runs them slightly differently to get different results
 than when run on the command line). Does anyone know why this is?
 
  I'm actually most at home in Eclipse, so perhaps I should switch to
 that as my primary IDE for OpenJFX development.
 
  -- Jonathan
 
  On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
  Just to make sure we are running the same program, the one I ran to
 verify that RT-33954 is fixed was the simple test program in the comments
 of that bug. Here it is (with the imports omitted for brevity).
 
  public class Example extends Application {
public static void main(String[] args) {
//this is called from a static block in
 javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();
 
Application.launch(args);
}
 
@Override
public void start(final Stage primaryStage) throws Exception {
}
  }
 
  The above program 

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-08 Thread Sandipan Razzaque
This makes perfect sense. I was scratching my head about this, but now it's
clear as to why that code existed in the Control class in the first place.
Thanks!

- SR

Sandipan Razzaque | www.sandipan.net


On Wed, Apr 9, 2014 at 12:01 AM, Jonathan Giles
jonathan.gi...@oracle.comwrote:

 I'll leave Kevin to speak to the specifics of the JavaFX startup process,
 but the argument against what you are doing in your final paragraph is that
 this causes everyone to pay the controls tax even when they don't make use
 of UI controls in their application. In particular, this loads the controls
 css files (or their compiled bss form), and this is by no means a free (or
 cheap) operation.

 -- Jonathan


 On Wednesday, 9 April 2014 3:52:58 p.m., Sandipan Razzaque wrote:

 Hi Kevin -

 Thanks for the clarification that this is indeed by design - and also
 for the workarounds.

 For Clojure, the solution looks a little inelegant and isn't idiomatic
 clojure - any import statement will effectively cause a class
 initialization to happen - so if you have any source files with an
 :import anything extending Control at the top you're kind of
 screwed, because clojure will do a Class.forName at eval time. It's
 nice that in nashorn we have the -fx option.

 Just want to gauge people's thoughts here: just as an experiment, I
 tried moving the contents of the Control.java static init block into
 LauncherImpl#launchApplication and there seem to be no visible effects
 at least at a superficial level. My judgement of not at a superficial
 level is based upon: running 'gradle test' and seeing the same result
 as without making the change, running the sample 'hello world' app and
 running the Ensemble and clicking around. A nice side effect of this
 is of course we can import controls in dynamic language source files
 in the correct way without blowing up...

 Cheers,
 SR



 Sandipan Razzaque | www.sandipan.net http://www.sandipan.net



 On Tue, Apr 8, 2014 at 9:09 AM, Kevin Rushforth
 kevin.rushfo...@oracle.com mailto:kevin.rushfo...@oracle.com wrote:

 __

 Hi,

 What you've discovered is exactly how the Java launcher is
 intended to work (we have unit tests that verify this fact). The
 launcher recognizes a JavaFX application by checking whether the
 class to be launched extends javafx.application.Application. So
 this isn't a side effect, but an intentional behavior.

 The advice given in the JIRA is what you will need to do before
 accessing JavaFX:

 1) Call Application.launch(MyAppClass.class)
 2) Call new JFXPanel()

 -- Kevin



 Sandipan Razzaque wrote:

 Kevin/Jonathan -

 Steve's example in the Jira captures perfectly what I was
 encountering in Java, and I've been trying to boil it down into a
 minimal failing example - reconciling it with what I've
 experienced in dynamic languages.

 Turns out it's about whether or not you extend Application. This
 leads me to believe that it's something in Application's
 classloading that enables your example to work cleanly.

 Try your class out again - with the minor edits I've made below:

 public class Example /* extends Application */ {
public static void main(String[] args) {
//this is called from a static block in
 javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();

Application.launch(args);
}

 /*@Override*/
public void start(final Stage primaryStage) throws Exception {
}
 }

 Cheers,
 SR



 Sandipan Razzaque | www.sandipan.net http://www.sandipan.net



 On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair
 richard.b...@oracle.com mailto:richard.b...@oracle.com wrote:

 Yes, this is one of the few things that I just hate about IDEA.

 On Apr 7, 2014, at 6:00 PM, Kevin Rushforth
 kevin.rushfo...@oracle.com
 mailto:kevin.rushfo...@oracle.com wrote:

  I can't speak to other IntelliJ issues, but the root cause
 of this particular one is the same thing that Debbie ran into
 last week -- IntelliJ doesn't launch programs using the
 standard Java launcher. For whatever reason, it uses its own
 launcher. This might be worth raising with JetBrains.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Kevin,
 
  Yes, that is the program I used, and yes, I get the
 'Toolkit not initialized' exception. I am running IntelliJ,
 so that is the reason. I switched over to Eclipse and the
 code run as expected.
 
  I am slightly bothered by the occasional failures that
 seem to be IntelliJ-specific. I have a gut feeling that it
 doesn't always run all tests (or that it runs them slightly
 differently to get different results than when run on the
 command line). Does anyone know why 

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-07 Thread Jonathan Giles

Kevin,

Yes, that is the program I used, and yes, I get the 'Toolkit not 
initialized' exception. I am running IntelliJ, so that is the reason. I 
switched over to Eclipse and the code run as expected.


I am slightly bothered by the occasional failures that seem to be 
IntelliJ-specific. I have a gut feeling that it doesn't always run all 
tests (or that it runs them slightly differently to get different 
results than when run on the command line). Does anyone know why this is?


I'm actually most at home in Eclipse, so perhaps I should switch to that 
as my primary IDE for OpenJFX development.


-- Jonathan

On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
Just to make sure we are running the same program, the one I ran to 
verify that RT-33954 is fixed was the simple test program in the 
comments of that bug. Here it is (with the imports omitted for brevity).


public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in 
javafx.scene.control.Control

   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
}

The above program runs fine for me with no exception.

Jonathan: are you seeing something different? Or perhaps running a 
different example?


NOTE: if you run this from IntelliJ it will not work. I verified that 
with Debbie last week (on a different issue), which may be why you are 
seeing a problem. Running it from command line, from NB, or from 
Eclipse works.


-- Kevin


Jonathan Giles wrote:
Firstly, I agree - this does seem to still be reproducible despite 
Kevin's comment that it should have been resolved in JavaFX 8.0 due 
to RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that 
is troubling. I'll leave Kevin to comment on that.


Secondly, RT-33954 was closed as a duplicate of RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754, so it would be 
better to leave RT-33954 closed and move discussion (including what 
you recently posted) into RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754. The discussion can 
start in there and most probably a new bug will need to be opened (as 
RT-28754 https://javafx-jira.kenai.com/browse/RT-28754 did result 
in a code change that at one point appears to have fixed the problem, 
so we're possibly dealing with a regression).


Thirdly, whether this is a suitable bug for someone learning the 
ropes is debatable. I'll leave Kevin to offer his thoughts, but 
perhaps you can propose a patch that resolves this issue for you in 
your test scenarios. Also, a good starting point is to develop a 
simple test application that helps to demonstrate this issue 
(preferably the test case is a single class with no dependencies), 
and which you can then share in the jira issue via copy/paste into a 
comment.


Fourthly, to be a contributor in the OpenJDK requires you to follow a 
process to get the paperwork in order. It is wise to get that started 
as soon as possible, as it can sometimes take a while. Here's a link 
to the process: http://openjdk.java.net/contribute/ The main thing is 
the OCA.


Finally, welcome! :-)

-- Jonathan

On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:

Hi JavaFX devs!

I was wondering how people felt about re-opening this bug? I don't 
believe

it has been fixed (see my comment).

I'm also happy to work on it. But, let me know if you think my time 
would
be better spent elsewhere. I'm keen to take on a small bug to just 
get the
hang of the process and community (I'll be stumbling with mercurial 
along

the way too!). I think this bug is an ideal candidate for someone just
learning the ropes.

https://javafx-jira.kenai.com/browse/RT-33954

Cheers,
SR

Sandipan Razzaque | www.sandipan.net






Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-07 Thread Kevin Rushforth
I can't speak to other IntelliJ issues, but the root cause of this 
particular one is the same thing that Debbie ran into last week -- 
IntelliJ doesn't launch programs using the standard Java launcher. For 
whatever reason, it uses its own launcher. This might be worth raising 
with JetBrains.


-- Kevin


Jonathan Giles wrote:

Kevin,

Yes, that is the program I used, and yes, I get the 'Toolkit not 
initialized' exception. I am running IntelliJ, so that is the reason. 
I switched over to Eclipse and the code run as expected.


I am slightly bothered by the occasional failures that seem to be 
IntelliJ-specific. I have a gut feeling that it doesn't always run all 
tests (or that it runs them slightly differently to get different 
results than when run on the command line). Does anyone know why this is?


I'm actually most at home in Eclipse, so perhaps I should switch to 
that as my primary IDE for OpenJFX development.


-- Jonathan

On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
Just to make sure we are running the same program, the one I ran to 
verify that RT-33954 is fixed was the simple test program in the 
comments of that bug. Here it is (with the imports omitted for brevity).


public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in 
javafx.scene.control.Control

   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
}

The above program runs fine for me with no exception.

Jonathan: are you seeing something different? Or perhaps running a 
different example?


NOTE: if you run this from IntelliJ it will not work. I verified that 
with Debbie last week (on a different issue), which may be why you 
are seeing a problem. Running it from command line, from NB, or from 
Eclipse works.


-- Kevin


Jonathan Giles wrote:
Firstly, I agree - this does seem to still be reproducible despite 
Kevin's comment that it should have been resolved in JavaFX 8.0 due 
to RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that 
is troubling. I'll leave Kevin to comment on that.


Secondly, RT-33954 was closed as a duplicate of RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754, so it would be 
better to leave RT-33954 closed and move discussion (including what 
you recently posted) into RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754. The discussion can 
start in there and most probably a new bug will need to be opened 
(as RT-28754 https://javafx-jira.kenai.com/browse/RT-28754 did 
result in a code change that at one point appears to have fixed the 
problem, so we're possibly dealing with a regression).


Thirdly, whether this is a suitable bug for someone learning the 
ropes is debatable. I'll leave Kevin to offer his thoughts, but 
perhaps you can propose a patch that resolves this issue for you in 
your test scenarios. Also, a good starting point is to develop a 
simple test application that helps to demonstrate this issue 
(preferably the test case is a single class with no dependencies), 
and which you can then share in the jira issue via copy/paste into a 
comment.


Fourthly, to be a contributor in the OpenJDK requires you to follow 
a process to get the paperwork in order. It is wise to get that 
started as soon as possible, as it can sometimes take a while. 
Here's a link to the process: http://openjdk.java.net/contribute/ 
The main thing is the OCA.


Finally, welcome! :-)

-- Jonathan

On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:

Hi JavaFX devs!

I was wondering how people felt about re-opening this bug? I don't 
believe

it has been fixed (see my comment).

I'm also happy to work on it. But, let me know if you think my time 
would
be better spent elsewhere. I'm keen to take on a small bug to just 
get the
hang of the process and community (I'll be stumbling with mercurial 
along

the way too!). I think this bug is an ideal candidate for someone just
learning the ropes.

https://javafx-jira.kenai.com/browse/RT-33954

Cheers,
SR

Sandipan Razzaque | www.sandipan.net






Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-07 Thread Richard Bair
Yes, this is one of the few things that I just hate about IDEA.

On Apr 7, 2014, at 6:00 PM, Kevin Rushforth kevin.rushfo...@oracle.com wrote:

 I can't speak to other IntelliJ issues, but the root cause of this particular 
 one is the same thing that Debbie ran into last week -- IntelliJ doesn't 
 launch programs using the standard Java launcher. For whatever reason, it 
 uses its own launcher. This might be worth raising with JetBrains.
 
 -- Kevin
 
 
 Jonathan Giles wrote:
 Kevin,
 
 Yes, that is the program I used, and yes, I get the 'Toolkit not 
 initialized' exception. I am running IntelliJ, so that is the reason. I 
 switched over to Eclipse and the code run as expected.
 
 I am slightly bothered by the occasional failures that seem to be 
 IntelliJ-specific. I have a gut feeling that it doesn't always run all tests 
 (or that it runs them slightly differently to get different results than 
 when run on the command line). Does anyone know why this is?
 
 I'm actually most at home in Eclipse, so perhaps I should switch to that as 
 my primary IDE for OpenJFX development.
 
 -- Jonathan
 
 On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
 Just to make sure we are running the same program, the one I ran to verify 
 that RT-33954 is fixed was the simple test program in the comments of that 
 bug. Here it is (with the imports omitted for brevity).
 
 public class Example extends Application {
   public static void main(String[] args) {
   //this is called from a static block in javafx.scene.control.Control
   PlatformImpl.setDefaultPlatformUserAgentStylesheet();
 
   Application.launch(args);
   }
 
   @Override
   public void start(final Stage primaryStage) throws Exception {
   }
 }
 
 The above program runs fine for me with no exception.
 
 Jonathan: are you seeing something different? Or perhaps running a 
 different example?
 
 NOTE: if you run this from IntelliJ it will not work. I verified that with 
 Debbie last week (on a different issue), which may be why you are seeing a 
 problem. Running it from command line, from NB, or from Eclipse works.
 
 -- Kevin
 
 
 Jonathan Giles wrote:
 Firstly, I agree - this does seem to still be reproducible despite Kevin's 
 comment that it should have been resolved in JavaFX 8.0 due to RT-28754 
 https://javafx-jira.kenai.com/browse/RT-28754, so that is troubling. 
 I'll leave Kevin to comment on that.
 
 Secondly, RT-33954 was closed as a duplicate of RT-28754 
 https://javafx-jira.kenai.com/browse/RT-28754, so it would be better to 
 leave RT-33954 closed and move discussion (including what you recently 
 posted) into RT-28754 https://javafx-jira.kenai.com/browse/RT-28754. The 
 discussion can start in there and most probably a new bug will need to be 
 opened (as RT-28754 https://javafx-jira.kenai.com/browse/RT-28754 did 
 result in a code change that at one point appears to have fixed the 
 problem, so we're possibly dealing with a regression).
 
 Thirdly, whether this is a suitable bug for someone learning the ropes is 
 debatable. I'll leave Kevin to offer his thoughts, but perhaps you can 
 propose a patch that resolves this issue for you in your test scenarios. 
 Also, a good starting point is to develop a simple test application that 
 helps to demonstrate this issue (preferably the test case is a single 
 class with no dependencies), and which you can then share in the jira 
 issue via copy/paste into a comment.
 
 Fourthly, to be a contributor in the OpenJDK requires you to follow a 
 process to get the paperwork in order. It is wise to get that started as 
 soon as possible, as it can sometimes take a while. Here's a link to the 
 process: http://openjdk.java.net/contribute/ The main thing is the OCA.
 
 Finally, welcome! :-)
 
 -- Jonathan
 
 On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:
 Hi JavaFX devs!
 
 I was wondering how people felt about re-opening this bug? I don't believe
 it has been fixed (see my comment).
 
 I'm also happy to work on it. But, let me know if you think my time would
 be better spent elsewhere. I'm keen to take on a small bug to just get the
 hang of the process and community (I'll be stumbling with mercurial along
 the way too!). I think this bug is an ideal candidate for someone just
 learning the ropes.
 
 https://javafx-jira.kenai.com/browse/RT-33954
 
 Cheers,
 SR
 
 Sandipan Razzaque | www.sandipan.net
 
 



Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-07 Thread Sandipan Razzaque
Kevin/Jonathan -

Steve's example in the Jira captures perfectly what I was encountering in
Java, and I've been trying to boil it down into a minimal failing example -
reconciling it with what I've experienced in dynamic languages.

Turns out it's about whether or not you extend Application. This leads me
to believe that it's something in Application's classloading that enables
your example to work cleanly.

Try your class out again - with the minor edits I've made below:

public class Example /* extends Application */ {
   public static void main(String[] args) {
   //this is called from a static block in javafx.scene.control.Control
   PlatformImpl.setDefaultPlatformUserAgentStylesheet();

   Application.launch(args);
   }

   /*@Override*/
   public void start(final Stage primaryStage) throws Exception {
   }
}

Cheers,
SR



Sandipan Razzaque | www.sandipan.net


On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair richard.b...@oracle.comwrote:

 Yes, this is one of the few things that I just hate about IDEA.

 On Apr 7, 2014, at 6:00 PM, Kevin Rushforth kevin.rushfo...@oracle.com
 wrote:

  I can't speak to other IntelliJ issues, but the root cause of this
 particular one is the same thing that Debbie ran into last week -- IntelliJ
 doesn't launch programs using the standard Java launcher. For whatever
 reason, it uses its own launcher. This might be worth raising with
 JetBrains.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Kevin,
 
  Yes, that is the program I used, and yes, I get the 'Toolkit not
 initialized' exception. I am running IntelliJ, so that is the reason. I
 switched over to Eclipse and the code run as expected.
 
  I am slightly bothered by the occasional failures that seem to be
 IntelliJ-specific. I have a gut feeling that it doesn't always run all
 tests (or that it runs them slightly differently to get different results
 than when run on the command line). Does anyone know why this is?
 
  I'm actually most at home in Eclipse, so perhaps I should switch to
 that as my primary IDE for OpenJFX development.
 
  -- Jonathan
 
  On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
  Just to make sure we are running the same program, the one I ran to
 verify that RT-33954 is fixed was the simple test program in the comments
 of that bug. Here it is (with the imports omitted for brevity).
 
  public class Example extends Application {
public static void main(String[] args) {
//this is called from a static block in
 javafx.scene.control.Control
PlatformImpl.setDefaultPlatformUserAgentStylesheet();
 
Application.launch(args);
}
 
@Override
public void start(final Stage primaryStage) throws Exception {
}
  }
 
  The above program runs fine for me with no exception.
 
  Jonathan: are you seeing something different? Or perhaps running a
 different example?
 
  NOTE: if you run this from IntelliJ it will not work. I verified that
 with Debbie last week (on a different issue), which may be why you are
 seeing a problem. Running it from command line, from NB, or from Eclipse
 works.
 
  -- Kevin
 
 
  Jonathan Giles wrote:
  Firstly, I agree - this does seem to still be reproducible despite
 Kevin's comment that it should have been resolved in JavaFX 8.0 due to
 RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is
 troubling. I'll leave Kevin to comment on that.
 
  Secondly, RT-33954 was closed as a duplicate of RT-28754 
 https://javafx-jira.kenai.com/browse/RT-28754, so it would be better to
 leave RT-33954 closed and move discussion (including what you recently
 posted) into RT-28754 https://javafx-jira.kenai.com/browse/RT-28754.
 The discussion can start in there and most probably a new bug will need to
 be opened (as RT-28754 https://javafx-jira.kenai.com/browse/RT-28754
 did result in a code change that at one point appears to have fixed the
 problem, so we're possibly dealing with a regression).
 
  Thirdly, whether this is a suitable bug for someone learning the
 ropes is debatable. I'll leave Kevin to offer his thoughts, but perhaps you
 can propose a patch that resolves this issue for you in your test
 scenarios. Also, a good starting point is to develop a simple test
 application that helps to demonstrate this issue (preferably the test case
 is a single class with no dependencies), and which you can then share in
 the jira issue via copy/paste into a comment.
 
  Fourthly, to be a contributor in the OpenJDK requires you to follow a
 process to get the paperwork in order. It is wise to get that started as
 soon as possible, as it can sometimes take a while. Here's a link to the
 process: http://openjdk.java.net/contribute/ The main thing is the OCA.
 
  Finally, welcome! :-)
 
  -- Jonathan
 
  On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:
  Hi JavaFX devs!
 
  I was wondering how people felt about re-opening this bug? I don't
 believe
  it has been fixed (see my comment).
 
  I'm also happy to work on it. But, let me know if 

Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-05 Thread Jonathan Giles
Firstly, I agree - this does seem to still be reproducible despite 
Kevin's comment that it should have been resolved in JavaFX 8.0 due to 
RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is 
troubling. I'll leave Kevin to comment on that.


Secondly, RT-33954 was closed as a duplicate of RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754, so it would be better 
to leave RT-33954 closed and move discussion (including what you 
recently posted) into RT-28754 
https://javafx-jira.kenai.com/browse/RT-28754. The discussion can 
start in there and most probably a new bug will need to be opened (as 
RT-28754 https://javafx-jira.kenai.com/browse/RT-28754 did result in a 
code change that at one point appears to have fixed the problem, so 
we're possibly dealing with a regression).


Thirdly, whether this is a suitable bug for someone learning the ropes 
is debatable. I'll leave Kevin to offer his thoughts, but perhaps you 
can propose a patch that resolves this issue for you in your test 
scenarios. Also, a good starting point is to develop a simple test 
application that helps to demonstrate this issue (preferably the test 
case is a single class with no dependencies), and which you can then 
share in the jira issue via copy/paste into a comment.


Fourthly, to be a contributor in the OpenJDK requires you to follow a 
process to get the paperwork in order. It is wise to get that started as 
soon as possible, as it can sometimes take a while. Here's a link to the 
process: http://openjdk.java.net/contribute/ The main thing is the OCA.


Finally, welcome! :-)

-- Jonathan

On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:

Hi JavaFX devs!

I was wondering how people felt about re-opening this bug? I don't believe
it has been fixed (see my comment).

I'm also happy to work on it. But, let me know if you think my time would
be better spent elsewhere. I'm keen to take on a small bug to just get the
hang of the process and community (I'll be stumbling with mercurial along
the way too!). I think this bug is an ideal candidate for someone just
learning the ropes.

https://javafx-jira.kenai.com/browse/RT-33954

Cheers,
SR

Sandipan Razzaque | www.sandipan.net




Re: [RT-33954] static block...causes IllegalStateException - re-open?

2014-04-05 Thread Sandipan Razzaque
Hi Jonathan,

Thanks for the fast response and the warm welcome :-)

I've moved my comment into RT-28754, so let's await Kevin's input. Will
work on a test class as the next thing as you've recommended.

I received confirmation of the OCA being processed just yesterday, so
should be OK from that front.

Cheers,
SR

Sandipan Razzaque | www.sandipan.net


On Sat, Apr 5, 2014 at 9:20 PM, Jonathan Giles jonathan.gi...@oracle.comwrote:

  Firstly, I agree - this does seem to still be reproducible despite
 Kevin's comment that it should have been resolved in JavaFX 8.0 due to
 RT-28754 https://javafx-jira.kenai.com/browse/RT-28754, so that is
 troubling. I'll leave Kevin to comment on that.

 Secondly, RT-33954 was closed as a duplicate of 
 RT-28754https://javafx-jira.kenai.com/browse/RT-28754,
 so it would be better to leave RT-33954 closed and move discussion
 (including what you recently posted) into 
 RT-28754https://javafx-jira.kenai.com/browse/RT-28754.
 The discussion can start in there and most probably a new bug will need to
 be opened (as RT-28754 https://javafx-jira.kenai.com/browse/RT-28754did 
 result in a code change that at one point appears to have fixed the
 problem, so we're possibly dealing with a regression).

 Thirdly, whether this is a suitable bug for someone learning the ropes is
 debatable. I'll leave Kevin to offer his thoughts, but perhaps you can
 propose a patch that resolves this issue for you in your test scenarios.
 Also, a good starting point is to develop a simple test application that
 helps to demonstrate this issue (preferably the test case is a single class
 with no dependencies), and which you can then share in the jira issue via
 copy/paste into a comment.

 Fourthly, to be a contributor in the OpenJDK requires you to follow a
 process to get the paperwork in order. It is wise to get that started as
 soon as possible, as it can sometimes take a while. Here's a link to the
 process: http://openjdk.java.net/contribute/ The main thing is the OCA.

 Finally, welcome! :-)

 -- Jonathan

 On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:

 Hi JavaFX devs!

 I was wondering how people felt about re-opening this bug? I don't believe
 it has been fixed (see my comment).

 I'm also happy to work on it. But, let me know if you think my time would
 be better spent elsewhere. I'm keen to take on a small bug to just get the
 hang of the process and community (I'll be stumbling with mercurial along
 the way too!). I think this bug is an ideal candidate for someone just
 learning the ropes.
 https://javafx-jira.kenai.com/browse/RT-33954

 Cheers,
 SR

 Sandipan Razzaque | www.sandipan.net