[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: How to access com.sun.webkit.network.CookieManager at JDK 10?
From:       Kevin Rushforth <kevin.rushforth () oracle ! com>
Date:       2018-08-24 14:18:34
Message-ID: 99c38254-b096-0a9b-a0f4-e628f42794a1 () oracle ! com
[Download RAW message or body]

You probably already know this, but using internal interfaces is fragile 
and can change or break at any time and without notice.

-- Kevin


On 8/24/2018 7:11 AM, Nir Lisker wrote:
> Sorry, my reply was not phrased well. Whether you declare a
> module-info.java or not, you still have to add-exports either via command
> line or during runtime. What I meant with not needing to declare a
> dependency in module-info.java is that you don't need a 'requires' (or
> add-reads) because the unnamed module reads everything be default.
> 
> So, in your case you need a command line "--add-exports
> javafx.web/com.sun.webkit.network=my.app.Test" (or the equivalent runtime
> code) and "requires javafx.web" in the module-info.java. The latter is
> what's not needed if you don't declare a module.
> 
> - Nir
> 
> On Fri, Aug 24, 2018 at 4:43 PM Miroslav Nachev <
> mnachev.nscenter.eu@gmail.com> wrote:
> 
> > Now I adopted the application to be module, adding this:
> > module my.app.Test {
> > requires controlsfx;
> > requires javafx.base;
> > requires javafx.controls;
> > }
> > 
> > What is the next step?
> > 
> > 
> > On Fri, Aug 24, 2018 at 4:02 PM Nir Lisker <nlisker@gmail.com> wrote:
> > 
> > > Hi Miro,
> > > 
> > > Can I use the 2nd option with declaration in the source code, or the only
> > > > possible option is to pass as parameter when starting the application?
> > > > 
> > > If your app is not a module then you don't have a module-info.java in
> > > your source code to declare the dependency. What you can do is export a
> > > package during runtime with the addExports method [1].
> > > 
> > > [1]
> > > https://docs.oracle.com/javase/10/docs/api/java/lang/Module.html#addExports(java.lang.String,java.lang.Module)
> > >  
> > > On Fri, Aug 24, 2018 at 12:38 PM Miroslav Nachev <
> > > mnachev.nscenter.eu@gmail.com> wrote:
> > > 
> > > > Hi Arun,
> > > > 
> > > > Thank you. I'm already using the first option, but then I need to access
> > > > other methods and classes that are not available.
> > > > Can I use the 2nd option with declaration in the source code, or the only
> > > > possible option is to pass as parameter when starting the application?
> > > > 
> > > > 
> > > > Miro.
> > > > 
> > > > On Fri, Aug 24, 2018 at 12:04 PM Arunprasad Rajkumar <
> > > > arunprasad.rajkumar@oracle.com> wrote:
> > > > 
> > > > > Hello Miro,
> > > > > 
> > > > > CookieManager is a module private class, which is not exposed to
> > > > outside.
> > > > > I could think of two options,
> > > > > 
> > > > > 1. com.sun.webkit.network.CookieManager is a type of
> > > > > java.net.CookieHandler, that means after instantiating WebEngine, you
> > > > can
> > > > > call CookieHandler.getDefault() to get the instance of CookieManager.
> > > > > new WebEngine();
> > > > > CookieHandler cookieHandler = CookieHandler.getDefault(); //
> > > > This
> > > > > will be an instance of com.sun.webkit.network.CookieManager
> > > > > 
> > > > > 2. Export the module private implementation using
> > > > > "--add-exports=javafx.web/com.sun.webkit.network=ALL-UNNAMED"
> > > > > 
> > > > > Thanks,
> > > > > Arun
> > > > > 
> > > > > > On 24-Aug-2018, at 12:27 PM, Miroslav Nachev <
> > > > > mnachev.nscenter.eu@gmail.com> wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > I have apps that work well on JDK8, but on JDK10 I do not have
> > > > access to
> > > > > > some classes, for example, com.sun.webkit.network.CookieManager. This
> > > > > class
> > > > > > is the only one, that is up to date (RFC 6265) and is part of Java.
> > > > The
> > > > > > java.net.CookieManager class is obsolete: RFC 2965. The Cookie
> > > > solution
> > > > > in
> > > > > > Apache HttpComponents is very complicated, difficult to use, and is
> > > > > mostly
> > > > > > not compatible with JDK and JavaFX.
> > > > > > In fact, I use JavaFX CookieManager in the following 3 scenarios:
> > > > > > 
> > > > > > - When using WebEngine (JavaFX 8).
> > > > > > - JavaFX Desktop App to store frequently used words in text and
> > > > other
> > > > > > fields (TextField, etc.).
> > > > > > - To store session parameters in JavaFX Desktop Clients that uses
> > > > REST
> > > > > > WS or Web Sockets to connect to the Web Server (App Server).
> > > > > > 
> > > > > > Is there any way to enable access to
> > > > com.sun.webkit.network.CookieManager
> > > > > > at JDK 10?
> > > > > > 
> > > > > > 
> > > > > > Regards,
> > > > > > Miro.
> > > > > 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic