Re: Is moving away from RPC a good idea?

2024-01-13 Thread Paul Robinson
One thing I really like about using JSON for my message formats is that
they are human readable (YMMV).

If you're wondering whether a problem is client side or server side, or
when you just want to know exactly what information the client was given,
being able to read the content of messages can be very useful.

Paul

On Sat, 13 Jan 2024, 13:08 Alex Karg,  wrote:

> gwt-rpc is one of the parts I like the most about GWT and why we chose GWT
> to start with. Same DTOs on client and server and you don't have to care
> (too much) about de/serialization. Why do I care about JSON, or binary or
> whatever serialized format, as long as it is secure, performant and
> serialization is able to handle my object relation structures?
>
> Some mention "some annoying downsides" or "is imperfect in a lot of ways"
> regarding gwt-rpc. What are does? The only argument I understood so far, is
> that it may require you to have gwt-rpc *and* REST/RequestFactory
> client-server channels in parallel. We had that since the very beginning,
> because of OAuth, captcha, file download links etc.. I never saw any
> practical issues with that set up. For example with spring-security we can
> easily map both channels to the same user/roles/rights concept.
>
> On Wednesday, January 10, 2024 at 5:26:04 PM UTC+1 Christian Hebert wrote:
>
>> Hi guys, I've seen the changes in the new release regarding jakarta
>> servlets, which is great, it's a step toward jakarta but to this day,  GWT
>> is still based on the Servlet API 3.1.
>>
>> Prior of seeing that change, I tried to move away from RPC calls and use
>> http requests instead. I found a nice library called RestyGWT (
>> https://resty-gwt.github.io/) who can really simplify the process of
>> handling json data from/to a Rest API.
>>
>> So I converted my GWT remote servlets to a Rest API, made a few minor
>> changes in my client code and voilà, I was able to deploy it on a Jakarta
>> Application server since there is no GWT involved on the server side
>> anymore.
>>
>> The last version of RestyGWT has been release in 2020 so I'm not sure how
>> active this project is but from what I've seen it's enough for me.
>>
>> So, I would like to get your thoughts on that.  Would you go on that
>> road? stick to RPC calls and wait for a version of GWT based on Jakarta?
>> build your "own" GWT with the changes introduced in the vew version?
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/392768b6-58aa-4c71-b54f-cdb0d3aacf53n%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit/392768b6-58aa-4c71-b54f-cdb0d3aacf53n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CAGHNWN%2BHHwNkDxThecyGKDETUrskO%2BunCLbfGo5H21L94jZWcg%40mail.gmail.com.


Re: GWT RPC call recognized as a Java Method Injection by Fortiweb

2023-07-21 Thread Paul Robinson
Having readable network messages is very useful for debugging.

It's also easy to include more data in a GWT RPC messages than you really
need unless you're careful with it.

Regards,
Paul

On Fri, 21 Jul 2023, 15:43 Ralph Fiergolla, 
wrote:

> I think I asked the question before: as a long-term GWT-RPC user, what
> would be the benefit of moving to some other RPC protocol/mechanism?
>
> Thomas Broyer  schrieb am Fr. 21. Juli 2023 um 12:34:
>
>>
>>
>> On Friday, July 21, 2023 at 11:38:59 AM UTC+2 petr...@o3enterprise.com
>> wrote:
>>
>> We have one deployment of a GWT app where there is a Fortiweb firewall
>> that blocks every GWT RPC call because it recognizes every call as a Java
>> Method Injection attack. This seems to be caused by the presence of the
>> pattern "java.lang." in the messages from the client to the server like the
>> following:
>>
>> 7|0|7|https://host/app/app_gui/|BD9331DABCA5012FC56F3600DF03415F|com.app.gui.client.Bridge|getClientConfiguration|java.lang.St
>> ring/2004016611|john|ADMINISTRATOR|1|2|3|4|2|5|5|6|7|
>> <https://host/app/app_gui/%7CBD9331DABCA5012FC56F3600DF03415F%7Ccom.app.gui.client.Bridge%7CgetClientConfiguration%7Cjava.lang.String/2004016611%7Cjohn%7CADMINISTRATOR%7C1%7C2%7C3%7C4%7C2%7C5%7C5%7C6%7C7%7C>
>>
>> My idea is to convince the firewall administrator that these are
>> false-positives as these calls are part of the GWT RPC mechanism that does
>> not allow arbitrary java code execution on the server side.
>>
>> Is my reasoning correct or am I not worried enough?
>>
>>
>> Your reasoning is correct. But you can also obfuscate type names to
>> prevent triggering the WAF:
>> https://github.com/gwtproject/gwt/blob/main/user/src/com/google/gwt/user/RemoteServiceObfuscateTypeNames.gwt.xml
>>
>> (disclaimer: I haven't used RPC for more than 10 years)
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to google-web-toolkit+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit/40bf5948-5d59-4d47-8686-7b1db98e80fdn%40googlegroups.com
>> <https://groups.google.com/d/msgid/google-web-toolkit/40bf5948-5d59-4d47-8686-7b1db98e80fdn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/CACwwWxPGRqV2pBTq4iPr4mmbE%2Bb38sxzAZuN%3D__z%2BemUACS5%3Dw%40mail.gmail.com
> <https://groups.google.com/d/msgid/google-web-toolkit/CACwwWxPGRqV2pBTq4iPr4mmbE%2Bb38sxzAZuN%3D__z%2BemUACS5%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CAGHNWNLxJj2xtR6HGZG6R9m20LPpwwFaO%2B1BEGrvouvQK_vbcQ%40mail.gmail.com.


Re: Issue with migrating to GWT 2.10

2023-01-21 Thread Paul Stockley
Thanks, that was the issue. We had an old 5.x version of ASM in the 
classpath. Updated to 9.2 and it now compiles.

On Friday, January 20, 2023 at 4:23:55 AM UTC-5 Jens wrote:

> ASM is given a class file that has a newer byte code version than ASM 
> supports. GWT 2.10 depends on ASM 9.2 and supports byte code up to Java 18. 
> I am pretty sure you have an older ASM version on class path that came 
> first or some Java 19+ classes.
>
> -- J.
>
> Paul Stockley schrieb am Donnerstag, 19. Januar 2023 um 22:33:28 UTC+1:
>
>> I tried reducing the optimization level to 0, no difference. This has 
>> been a problem in the past. I need to turn on more debug info. I tried 
>> logLevel at ALL but it didn't really output anything new.
>>
>> On Thursday, January 19, 2023 at 4:05:22 PM UTC-5 Michael Joyner wrote:
>>
>>> Meh... I just saw the compile options below the empty pic.
>>>
>>>
>>> On 1/19/23 16:04, Michael Conrad wrote:
>>>
>>> a) Have you tried increasing heap space?
>>> b) Are you compiling production in STRICT mode? (Strongly recommended.)
>>> c) Are you running SDM in STRICT compile mode? (Strongly recommended.)
>>>
>>> On 1/19/23 14:43, Paul Stockley wrote:
>>>
>>> We are trying to migrate to GWT 2.10 from 2.08. We get this internal 
>>> error  
>>>
>>> [image: nirvana_–_ci2_build_nirvana_war_xml__nirvana_.jpg]
>>>
>>> Any idea how to further debug this? Our app works fine using SDM we just 
>>> get this error when compiling for deployment.
>>>
>>> Compiler options are:  -logLevel DEBUG -war ${webapp.dir} 
>>> com.ocs.nirvana.Encasa -XnoclassMetadata -XnocheckCasts 
>>> -generateJsInteropExports -style ${compile.style} -strict -optimize 7
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to google-web-tool...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/google-web-toolkit/b9d05c7f-d9eb-465f-8b70-e84627b455c0n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/google-web-toolkit/b9d05c7f-d9eb-465f-8b70-e84627b455c0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/3f7d6eb2-8191-45cc-aad0-b809a738f120n%40googlegroups.com.


Re: Issue with migrating to GWT 2.10

2023-01-19 Thread Paul Stockley
I tried reducing the optimization level to 0, no difference. This has been 
a problem in the past. I need to turn on more debug info. I tried logLevel 
at ALL but it didn't really output anything new.

On Thursday, January 19, 2023 at 4:05:22 PM UTC-5 Michael Joyner wrote:

> Meh... I just saw the compile options below the empty pic.
>
>
> On 1/19/23 16:04, Michael Conrad wrote:
>
> a) Have you tried increasing heap space?
> b) Are you compiling production in STRICT mode? (Strongly recommended.)
> c) Are you running SDM in STRICT compile mode? (Strongly recommended.)
>
> On 1/19/23 14:43, Paul Stockley wrote:
>
> We are trying to migrate to GWT 2.10 from 2.08. We get this internal 
> error  
>
> [image: nirvana_–_ci2_build_nirvana_war_xml__nirvana_.jpg]
>
> Any idea how to further debug this? Our app works fine using SDM we just 
> get this error when compiling for deployment.
>
> Compiler options are:  -logLevel DEBUG -war ${webapp.dir} 
> com.ocs.nirvana.Encasa -XnoclassMetadata -XnocheckCasts 
> -generateJsInteropExports -style ${compile.style} -strict -optimize 7
> -- 
> You received this message because you are subscribed to the Google Groups 
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to google-web-tool...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/google-web-toolkit/b9d05c7f-d9eb-465f-8b70-e84627b455c0n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/google-web-toolkit/b9d05c7f-d9eb-465f-8b70-e84627b455c0n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/9565d101-c1fd-4e04-88d6-82880626455bn%40googlegroups.com.


Re: Do Google Web Toolkit's touch events support Windows tablets?

2020-07-28 Thread Paul French
When I looked at this 6 years ago (in relation to MGWT, which is dead
although we still use it in legacy products) Pointer events were the way to
go and are supported on all browsers now as far as I am aware.

There was talk of a single touch/pointer API system in GWT similar to what
MGWT did where it took mouse, touch and pointer events and converted to a
single touch event system. Hence you coded to MGWT's touch system and it
worked on all devices.

No idea if GWT did this in the end.

I assume you are using an old IE Edge? Latest Edge uses webkit under the
hood and so your problems may go away with this browser. Older IE Edge as
far as I can remember does not support touch events but does support
Pointer events.

Take what I say with a pinch of salt. It has been many years but I believe
that is why you have an issue.


On Tue, 28 Jul 2020 at 07:37, Frank  wrote:

> Maybe you can Google for : JS surface touch events
> Or something like that. But for JS. Maybe that can point you in the right
> direction.
> Op maandag 27 juli 2020 om 22:02:20 UTC+2 schreef m.conr...@gmail.com:
>
>> you will need to check and see what event is actually generated for the
>> windows 10 tablet in the dom and hook those.
>>
>> On Mon, Jul 27, 2020 at 2:52 PM Andy Langer  wrote:
>>
>>> Hi all. Currently working on a webapp using GWT. I currently have a
>>> feature working with touch events on a Canvas. The feature itself works
>>> perfectly fine on every device but windows tablets (surface pro). Is there
>>> something special I have to do for this, or does GWT have no way of doing
>>> this?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to google-web-tool...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/google-web-toolkit/940db851-82c2-4f1a-99b8-8ef653d1dadao%40googlegroups.com
>>> 
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/af7c625a-85ef-4e21-95e3-8520bbc7d10cn%40googlegroups.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CABia8q4zDi6Lcjc%2BxuF7233V8ohtaaZ8BQWbEuULMEDBVsGS6w%40mail.gmail.com.


Re: gwt-serviceworker-linker

2020-03-12 Thread Paul French
Nice one Peter. I'm scheduled to look at this in a few weeks. We use the
app cache in anger and it has worked well all these years. I'll use your
hard work :)

For anyone who is unaware chrome are removing app cache functionality at
release M82 due mid April.

Cheers

On Thu, 12 Mar 2020 at 05:23, Peter Donald  wrote:

> Hi,
>
> With the pending removal of Appcache from the major browsers, I have
> deprecated the Appcache libraries I maintained and put together an
> extremely minimal service-worker linker for GWT that did something roughly
> similar to Appcache if anyone needs it.
>
> It is available at:
>
> https://github.com/realityforge/gwt-serviceworker-linker
>
> --
> Cheers,
>
> Peter Donald
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/CACiKNc41vcRwZVG8AZKZx46znR26UVYV8mvRy9CNBB4hguTvzQ%40mail.gmail.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CABia8q6mg%2B6ynDpuuYuyQhsmz9RgiLcd4v7zzxL7q6jguwGNiQ%40mail.gmail.com.


Where to get HEAD-SNAPSHOT builds from

2019-11-06 Thread Paul Stockley
Where can I download HEAD-SNAPSHOT builds from?

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/405b5603-f21a-4632-8168-b2754f6a1e02%40googlegroups.com.


Re: New Widgets Library: XGL

2019-10-23 Thread Paul Sitarz
So far it works with GWT 2.8.2.

It does not work yet with J2CL, however it is the goal.

On Wednesday, October 23, 2019 at 5:12:25 AM UTC-4, Frank wrote:
>
> Does this library work with J2CL ?
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/dc7051ce-5baa-49c2-a2da-3990dca85a90%40googlegroups.com.


Re: New Widgets Library: XGL

2019-10-22 Thread Paul Sitarz
Hi Guys,

I decided to release a community edition of my widget library XGL.

To get it, just sign in on my website, xalys.com, then go to the download 
menu.

To see how it works just check the kitchensink webapp!

Best,
Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/a9a43c23-31e1-4935-b203-e3e1299057bd%40googlegroups.com.


Re: Oauth2 OpenID Connect

2019-08-09 Thread Paul French
That would be great!

many thanks

On Friday, 9 August 2019 14:34:33 UTC+1, Freddy Boucher wrote:
>
> OK I will add a sample project module tomorrow so it will be easier to see 
> how to use it 
>
>
> Le ven. 9 août 2019 à 23:31, Paul French  > a écrit :
>
>> Cheers, I'll use your repo as a starting point.
>>
>> On Friday, 9 August 2019 02:56:31 UTC+1, Freddy Boucher wrote:
>>>
>>> Hi Paul,
>>>
>>> I cloned *gwt-oauth2* library long time ago and I updated it to support 
>>> my needs (Google and Facebook Oauth2).
>>>
>>> It's not published to Maven Central so you have to build it by yourself 
>>> `mvn clean install`
>>>
>>> Here the repo: https://github.com/freddyboucher/gwt-oauth2/commits/0.3
>>>
>>> Cheers
>>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "GWT Users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/google-web-toolkit/D4NOIpyyBn8/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> google-web-toolkit+unsubscr...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/google-web-toolkit/3258fe5c-31be-4555-b789-2e2d4db17c92%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/google-web-toolkit/3258fe5c-31be-4555-b789-2e2d4db17c92%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/96169b32-2b49-4a72-b399-2c1ec28ebed2%40googlegroups.com.


Re: Oauth2 OpenID Connect

2019-08-09 Thread Paul French
Cheers, I'll use your repo as a starting point.

On Friday, 9 August 2019 02:56:31 UTC+1, Freddy Boucher wrote:
>
> Hi Paul,
>
> I cloned *gwt-oauth2* library long time ago and I updated it to support 
> my needs (Google and Facebook Oauth2).
>
> It's not published to Maven Central so you have to build it by yourself 
> `mvn clean install`
>
> Here the repo: https://github.com/freddyboucher/gwt-oauth2/commits/0.3
>
> Cheers
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/3258fe5c-31be-4555-b789-2e2d4db17c92%40googlegroups.com.


Oauth2 OpenID Connect

2019-08-08 Thread Paul French
I've googled about and can't find any recent posts on a GWT library that 
supports OAuth2 and OpenID connect.

Is there one?

Cheers

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/15a969e6-3d5e-4fc3-9d0b-0334f95d13f0%40googlegroups.com.


Re: GWT.create() is only usable in client code!

2019-06-30 Thread Paul Robinson
Try the shared version instead of the client versionn:

com.google.gwt.core.shared.GWT

Paul

On Sat, 29 Jun 2019, 14:20 Evan Ferrell,  wrote:

> I am receiving the attached error when trying to run JUnit. Please advise.
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/bdf933c5-c992-496b-a082-5d0737dd627e%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit/bdf933c5-c992-496b-a082-5d0737dd627e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CAGHNWNKdiiiXVd0xBcv7f%2BFcuk0s%2BadSzXtr6yH3QGRAdLDv-w%40mail.gmail.com.


Re: Stack trace not showing correct line number

2019-06-20 Thread Paul Robinson
I haven't seen proper stack traces in my app without emulation in Chrome,
even in older versions of GWT.

Is it possible there's a trick to making it show the real line instead of
the function start, rather than a bug in 2.8.2?

Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CAGHNWNL79HdM2hv-5rqKhquhzD_qev6nDirg0bQK6ZZjjqNf2w%40mail.gmail.com.


Re: Unexpected behavior

2019-03-12 Thread Paul Robinson
I don't think you're showing us enough code. The exception indicates
something is calling toString() on a null object, but there's nothing in
what you've shown us that calls a toString() method.

Try compiling in pretty mode with full stack traces. You'll see better
error information.

Paul

On Tue, 12 Mar 2019, 21:53 Velusamy Velu,  wrote:

> Adding a larger screen clip.
>
>
> [image: Screen Shot 2019-03-12 at 5.40.52 PM.png]
>
>
> On Tuesday, March 12, 2019 at 5:48:59 PM UTC-4, Velusamy Velu wrote:
>>
>> Friends:
>>
>> I'm developing a Chemical drawing tool and have been progressing steadily
>> with a lot of difficulties. My technology stack is Java 8, GWT 2.8.2, GMD
>> 2.x, Eclipse Photon, running on a MacBook Pro, and Chrome | Firefox | Opera
>> for testing. A limited functioning pilot is running at
>> http://peruselab.com.
>>
>> I just ran into a trouble that I couldn't figure out on my own. Below are
>> the relevant snippets of code that's causing trouble. The call (1)
>> ActionHandlerMap.getHandler(action) is expected to return an instance of
>> PeruseEventHandler. I expect the sequence of execution to be 1, 2, & 3.
>> However, upon returning from 2 (verified with the debugger) I see the
>> control going to 4 (screen clip 1) followed by throwing an exception
>> (screen clip 2). Any idea what could be wrong? Your help will be greatly
>> appreciated.
>>
>> ...
>>
>>   PeruseEventHandler eventHandler = ActionHandlerMap.*getHandler*(action);
>> // 1
>>   Globals.*currentShape* = eventHandler.handle(*null*, *null*); // 3
>> ...
>>
>> *public* *class* ActionHandlerMap {
>>
>>   *public* *static* *final* Map
>> *ACTION_HANDLER_MAP* = *new* HashMap<>();
>>
>>
>>   *static* {
>>
>> *ACTION_HANDLER_MAP*.put(Action.*DRAW_SINGLE_BOND*, *new*
>> SingleBondDrawingHandler());
>>
>>   }
>>
>>
>>   *public* *static* PeruseEventHandler getHandler(Action anAction) {
>>
>> *return* *ACTION_HANDLER_MAP*.get(anAction); // 2
>>
>>   }
>>
>> }
>>
>>
>> *public* *class* Globals {
>>
>>   *public* *static* Action *action*;
>>
>>   *public* *static* Shape *currentShape*; // 4
>>
>> }
>> Enter code here...
>>
>>
>> [image: Screen Shot 2019-03-12 at 5.36.35 PM.png]
>>
>> Screen clip 1
>>
>>
>>
>> [image: Screen Shot 2019-03-12 at 5.40.52 PM.png]
>>
>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Converting an old applet to webapp: GWT is amazing!

2019-02-27 Thread Paul Sitarz
Hello,

In 2003, I had a website with small games, GouziGouza, which relied heavily 
on applets. I lost the code when the server hosting the site 
crashed...Since that incident, the website was down. However, I recently 
found an old USB key at the bottom of a drawer. I plugged it in, and I 
found the source code of GouziGouza. Not the last version, but close enough.

As a side project, very quickly, I was able to convert the code from 
applets to GWT.

I do believe GWT has a bright future, especially when GWT 3.0 will be 
released!

You can try it at https://gouzigouza.com

Enjoy!

Best,
Paul

PS: I also made a short youtube video: 
https://www.youtube.com/watch?v=Uy_QgoqAsCU  
<https://www.youtube.com/watch?v=Uy_QgoqAsCU>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Deobfuscated stack trace message and line-specific stack traces

2018-11-05 Thread Paul Robinson
I always deploy a version compiled with emulated stack traces alongside the
regular version so that if a problem can be replicated, I can get a proper
stack trace.

But I still share your pain. Trying to work out which line of obfuscated
JavaScript could possibly have given a null pointer exception can be quite
tedious.

I'd be (happily) surprised if it's possible to improve stack traces or
error messages without slowing things down.

Paul

On Mon, 5 Nov 2018, 18:59 brad  Hi,
>
> Two issues that often frustrate me with GWT deobfuscated stack traces:
> a) The stack trace is deobfuscated, but the error message is not, so you
> get something like "com.google.gwt.core.client.JavaScriptException:
> (TypeError) : Cannot read property 'a' of undefined".
> b) The stack trace refers to methods headers, rather than specific lines.
>
> In many cases, neither of these is a big deal, but if the message is
> obscure and the method in question is long it can make debugging difficult.
> Is there anything that can be done to work around this (compiler
> properties, etc.). This is particularly for debugging a deployed
> application, not locally using super dev mode.
>
> Thanks,
> Brad
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Upload a file gwt

2018-09-12 Thread Paul Robinson
You can store the file on the server in a temporary area, returning a key
to the UI. Then, when the user is ready to submit the lot, the UI sends the
file's key to the server as well as the other data.

The server can then move the file data to a permanent home, or mark it as
permanent.

Paul



On Wed, 12 Sep 2018, 10:06 Ousti Driss,  wrote:

> Hey guys,
>
> While browsing on the internet I found a way to upload a file in a gwt app,
> I managed to reimplement the code and it works just fine using formPanel,
> It just happens that this file needs to be stored in a mysql database,
> the problem is before the user selects the file he wants to upload, he
> needs to pick up two elements from
> 2 combobox,
> I need those informations so I can build my sql querry, How I can get
> those fields selected by the user
> in the  upload File servlet?
>
> Thanks a lot,
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Run your web application and its web workers alongside in Super Dev Mode!

2018-06-13 Thread Paul Sitarz
Hi guys,

If like me you got headaches when trying to use web workers with GWT in 
Super Dev Mode, I am glad to tell you it can be done.

And in Super Dev Mode!

I just posted a video on YouTube on the subject: 
https://youtu.be/1x8SCZ90hwg

You will find my blog article and the files needed here: 
https://www.xalys.com/2018/06/13/web-workers-in-super-dev-mode/

Best,
Paul

PS: I also  posted a video yesterday about layout trashing/reflows: 
https://youtu.be/AZWNxstL4dA

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: New Widgets Library: XGL

2018-06-12 Thread Paul Sitarz
Hi guys,

I just posted a new video on Youtube about layout trashing/reflows, event 
throttling, and animations.

And how XGL's Presto scheduler manages all the reading and writing in the 
DOM to prevent layout trashing.

The video URL is https://youtu.be/AZWNxstL4dA

You can also read the blog post "Presto Scheduler 
<https://www.xalys.com/2018/06/12/presto-scheduler/>."

I hope you'll find it interesting!

Best,
Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: New Widgets Library: XGL

2018-06-12 Thread Paul Sitarz
Hi Guys,

I just posted a new video on Youtube about layout trashing/reflows, event 
throttling, animation...

And how XGL handles the reading and writings in the DOM to avoid layout 
trashing from occurring.

The video url is https://youtu.be/AZWNxstL4dA

You can also read the blog post "Presto Scheduler 
<https://www.xalys.com/2018/06/12/presto-scheduler/>."

Best,
Paul

On Thursday, May 10, 2018 at 2:58:10 AM UTC-4, Paul Sitarz wrote:
>
> Hi Guys,
>
> A few years ago, when I heard the idea of removing widgets from GWT 3.0, I 
> sensed it would be a huge issue.
>
> I started to build my own widgets, with no ties at all with the GWT 
> widgets and events.
>
> More than 175,000 lines of Java code and CSS later, I decided to bundle 
> them together in one library: XGL.
>
> It is still under development, but you can a have a look and tell me what 
> you think about it.
>
> I posted a video on youtube: XGL Introduction 
> <https://youtu.be/iPfWYbfJLr0>
>
> You can go to my website xalys.com <https://www.xalys.com>, and launch 
> the Kitchensink web app to see some example of code.
>
> I am looking forward to hearing what you think about it!
>
> Best,
> Paul
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Method Reference problem in SDM

2018-05-15 Thread Paul Sitarz
Hello Alexander,

I got the same kind problem.

I fixed it by adding "-noincremental " to the launch configuration.

It is slightly slower to compile, but at least it works.

I hope it will help you!

Best,
Paul
Xalys.com <https://www.xalys.com>

On Monday, May 14, 2018 at 9:40:16 AM UTC-4, Alexander Tarasov wrote:
>
> Hello. 
> I faced several times a problem with Method References in SuperDevMode.
> I got an error that "getId" method was undefined for "User::getId".
> It can be fixed by restarting Jetty or by replacing with Lambda.
> Maybe the problem is with UnitCache.
>
> Any ideas? Thanks in advance
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: New Widgets Library: XGL

2018-05-15 Thread Paul Sitarz
Hello Lofi,

Thank you for your friendly words. 

I do not use Elemental2.

I recreated from scratch all the DOM wrapper objects, a complete Widget 
hierarchy, and an event management system.

It is the main reason why XGL code length is more than 175,000 line of code 
and CSS :-)

But doing so allowed me to have more flexibility to leverage modern 
browsers capabilities, and handle challenges of web applications 
efficiently. For example, there is a component in XGL that prevent layout 
trashing (or reflows) by scheduling all the reading and writing in the DOM 
intelligently. I called this component "Presto".

I will post later this week an article on my blog 
<https://www.xalys.com/blog/> an article explaining layout trashing, and 
how Presto handles it.

Best,
Paul

On Tuesday, May 15, 2018 at 6:51:45 AM UTC-4, Dr. Lofi Dewanto wrote:
>
> Nice work,
>
> what kind of web tech do you use? Elemental2 or Canval HTML?
>
> Thanks,
> Lofi
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: New Widgets Library: XGL

2018-05-15 Thread Paul Sitarz
Hello Giuseppe,

Yes, you can have the source code and try XGL by yourself. You can create 
an individual membership, and you'll get access to the Download page.

I know there is a modest contribution, but before you object, let me 
explain why.

I work full time on XGL, to make it better and expand its functionalities. 
Please see the individual membership as crowdfunding for the development of 
the library. I will highly appreciate your contribution, and in exchange, 
you will have the source code and the updates of the library. 

Thank you!
Best,
Paul

On Thursday, May 10, 2018 at 3:28:52 AM UTC-4, Giuseppe La Scaleia wrote:
>
> Very cool.
> Can i have the url for source code??
> Regards 
> Giuseppe
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: New Widgets Library: XGL

2018-05-15 Thread Paul Sitarz
Hello Giuseppe,

Yes, you can have the source code and try XGL by yourself. You can create 
an individual membership, and you'll get access to the Download page.

I know there is a modest contribution, but before you object, let me 
explain why.

I work full time on XGL, to make it better and expand its functionalities. 
Please see the individual membership as crowdfunding for the development of 
the library. I will highly appreciate your contribution, and in exchange, 
you will have the source code and the updates of the library. 

Thank you!
Best,
Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Advice Needed - moving to GWT 2.8.2 from 2.7 compile error

2018-05-04 Thread Paul Robinson
Check to see if you're mixing GWT versions. Maybe more than one GWT jar
file in your path.

Paul

On Fri, 4 May 2018, 16:09 Rachel,  wrote:

> I couldn't find another post with this same error but if there is one I
> apologize.
> We are moving a project from GWT 2.7 to GWT 2.8.2 but when we try to
> compile with Ant we are getting the following error and we haven't found a
> way to resolve it.
> Any suggestions would be appreciated.
>
> Buildfile: *C:\Users\s235985\workspace\wkflw_test\Approval\build.xml*
>
> *init*:
>
> *prepareGWT*:
>
> [*java*] Exception in thread "main" java.lang.NoSuchMethodError:
> com.google.gwt.util.regexfilter.RegexFilter: method ()V not found
>
> [*java*] at com.google.gwt.util.regexfilter.WhitelistRegexFilter.(
> *WhitelistRegexFilter.java:21*)
>
> [*java*] at com.google.gwt.dev.jjs.JJSOptionsImpl.(
> *JJSOptionsImpl.java:54*)
>
> [*java*] at com.google.gwt.dev.PrecompileTaskOptionsImpl.(
> *PrecompileTaskOptionsImpl.java:39*)
>
> [*java*] at com.google.gwt.dev.CompilerOptionsImpl.(
> *CompilerOptionsImpl.java:30*)
>
> [*java*] at com.google.gwt.dev.Compiler.main(*Compiler.java:108*)
>
> BUILD FAILED
>
> *C:\Users\s235985\workspace\wkflw_test\Approval\build.xml:48: Java
> returned: 1 *
>
> Total time: 6 minutes 20 seconds
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Fixing Internet Explorer specific memory leaks (circular references, etc)

2018-05-03 Thread Paul McLachlan
We haven't had any problems with the newer versions of IE.  Is it possible 
the bug is just in your code as opposed to being browser specific 
strangeness?  One trick I've used in the past is to run Dev Mode with a 
normal Java memory tool (such as YourKit).  Obviously you need to look past 
GWT internals but I've fix problems with this approach before.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Understanding JsInterop

2018-02-21 Thread Paul Stockley
Try using Js.uncheckedCast from jsinterop-base

On Tuesday, February 20, 2018 at 1:59:44 PM UTC-5, Scott Shumway wrote:
>
> I'm still unable to do this. I want to be able to get a DOMRect from a 
> com.google.gwt.dom.client.Element with JsInterop. If I cast to this Element 
> class, or even ((HasGetBoundingClientRect) (Object) element), I will get a 
> (runtime) java.lang.ClassCastException. The cast to Object works, of 
> course, it's the cast to HasGetBoundingClientRect.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


external javascript library

2018-01-17 Thread Paul Snom
I'm considering evaluating GWT to replace a Flex application, can someone 
tell me if in principal I can use external JavaScript libraries (the one 
i'm specifically conserned about is https://github.com/emilkm/amfjs) . 
basically I need to call java classes on a backend tomcat server to send 
and receive data. 

Thx

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: compilerArgs setProperty multi values - [ERROR] Unable to parse JavaScript

2017-11-30 Thread Paul Robinson
We do both: release compiles have a permutation with native stack traces
for normal use, plus a "debug" version which includes emulated stack
traces. We deploy both of them, but don't tell real users about the debug
version unless there's a good reason to do so.

Sometimes it's useful for us to be able to switch to the debug compile when
you have a repeatable error to get a higher quality stack trace. It means
our internal releases for testing are identical to what gets released
externally.

On Thu, Nov 30, 2017 at 8:49 AM, Jens  wrote:

>
> OMG 50%, hehe maybe I did something wrong last time I was checking the
>> difference. I need to try it again. Thanks!
>>
>
> Yes it is always twice the size because GWT compiler will insert an
> additional line of code to capture stack frames for each line of your code.
> For small apps it is not that dramatic but for example our app would grow
> multiple mega bytes and execution will noticeably slow down. Thus we don't
> use emulated stack traces. But event without it we can still find the
> reason for an exception relatively quickly.
>
> -- J.
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop Shared Model + REST API

2017-11-18 Thread Paul Stockley
gwt-interop-utils shows one way of doing it. This assumes you are OK using 
intermediate collection types.

https://github.com/GWTReact/gwt-interop-utils/blob/master/DOCUMENTATION.md



On Saturday, November 18, 2017 at 3:52:09 AM UTC-5, Chris L wrote:
>
> I'm trying to create a shared model in my GWT 2.8.2 application that I can 
> use both at the server and in GWT client code.
>
> My research/Google Fu tells me that this might be possible with JsInterop 
> but since I'm new to JsInterop I'm just not sure.
> I've done some experiments but I've run into a couple of issues with the 
> biggest being that I can't have my model accessor methods if I make the 
> model native.  The compiler tells me that they have to be native or 
> abstract.
>
> What I'd like to do with my model is:
> @JsType
> public class User {
> private double id;
> private String code;
> private String name;
>
> @JsConstructor
> public User() {
> }
>
> @JsIgnore
> public User(double id, String code, String name) {
> this();
>
> this.id = id;
> this.code = code;
> this.name = name;
> }
>
> ...
> @JsProperty
> public double getId() {
> return id;
> }
>
> @JsProperty
> public double setId(double id) {
> this.id = id;
> }
> ...
> }
>
> Then in my GWT application I'd like to do this:
>
> public class JsTypes {
>
> public static native  T getJsTypeObject(JavaScriptObject 
> result)/*-{
> return result;
> }-*/;
> }
>
> //called after REST response from server
> private void onCallback(String json) {
> Console.log("JSON:" + json);
> JavaScriptObject result = JsonUtils.safeEval(json);
> User user = JsTypes.getJsTypeObject(result);
> ...
> //do something with user
>}
>
> Any ideas or suggestions would be greatly appreciated.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


GWT Update widget in DOM when logical contents changed

2017-11-08 Thread &#x27;Paul Topley' via GWT Users
Hi,

This should be a fairly straight forward question.  Ive been relentlessly 
googling trying to find an answer to this but surprisingly I have found 
nothing.

I add a widget to a LayoutPanel, which is subsequently rendered and 
attached to the DOM.  How do I take the same widget and update its contents 
and have those changes applied to the DOM?

Regards

Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Iframe = multithreading ???

2017-09-14 Thread Paul Porombka
And one more thing, UI thread is only one for windowed / process 
application. So the clicks and generally Browser can be blocked when you 
will use time consuming operation on UI. If you will use e.g. setTimeout, 
no clicking etc, then it could work much better. Because this single UI 
thread must be "shared" by renderer of all frames / windows / documents 
visible to the user :-)

On Thursday, September 14, 2017 at 2:26:30 PM UTC+2, Paul Porombka wrote:
>
> YES, totally agree. This is probably because Web Workers don't use any UI 
> there. So they are probably better scheduled and "lighter", so works much 
> better than forcing multithreading with IFrames :-)
> But the concept is pretty nice, don't you think :-)
>
> And to clarify. I was rather also considering a situation where I have a 
> blank page in IFrame, without any UI elements, probably hidden frame, that 
> will handle heavy operations, sent there from parent using postMessage. 
> Because user interactions on UI can cause the behavior you observed. Then I 
> would be closer to Web Workers. But definitely Web Workers are the right 
> way in such situations. 
>
> PS: Did you try your test using Web Workers for comparison?
>
>
> On Thursday, September 14, 2017 at 1:21:48 PM UTC+2, Thomas Broyer wrote:
>>
>>
>>
>> On Thursday, September 14, 2017 at 12:09:37 PM UTC+2, Paul Porombka wrote:
>>>
>>> Hi Ben,
>>>
>>> I see the time when you've posted the message and see the answers here, 
>>> so I codn;t stop to write something here.
>>> I will answer YES to your question, but it depends.
>>>
>>> Generally, IFrame under the same domain is using the same thread. I 
>>> don't know how it was at the time You've been asking, but now if you use 
>>> IFrame with different origin (domain/host) it will use its own context, own 
>>> event loop, so also ot will be separate thread.
>>>
>>
>> It's actually a bit more complicated: 
>> https://html.spec.whatwg.org/multipage/webappapis.html#event-loops
>> While browsers are *allowed* to use different event loops for those 
>> "units of related similar-origin browsing contexts", it adds complications 
>> (see note in spec)
>> A quick test in my Chrome 61 on Linux shows that the same event loop is 
>> used for the iframe and parent browsing contexts loaded from totally 
>> different origins (I do heavy DOM manipulations in the iframe on the click 
>> of a button, and use a tight setTimeout loop on the parent that updates an 
>> element; when I click on the button in the iframe, I clearly see the parent 
>> "pause"; there are no communication by any mean between the pages; using 
>> 127.0.0.1.xip.io and devd.io to have distinct origins for the same local 
>> server).
>> Same in Firefox 55.
>>
>> So while it theorically *can* happen (is allowed by spec), it's not the 
>> case in practice.
>>
>> Web Workers are the only (guaranteed, effective) way of "multithreading" 
>> in the browser. 
>>  
>>
>>> Currently a Web Workers concept is using this behavior. The problem was 
>>> always with communication between those two frames, so it was also solved 
>>> by "Messages". You are able to post a message to different ORIGIN and 
>>> addEventListener to "message" event to receive such messages, and voila! 
>>> You have two way communication between threads :-)
>>>
>>> So if you create a code that can be executed separately in different 
>>> IFrame, and exeute it in different ORIGIN, then YES you will get REAL 
>>> multithreading, not single event loop, real muti-event-loop :-)
>>>
>>> On Thursday, September 3, 2009 at 12:51:09 AM UTC+2, ben fenster wrote:
>>>>
>>>> i was wondering that if by opening another module in an iframe tag the 
>>>> code of that module runs in another thread ?? 
>>>> more over is the limit of 2 open http request apply on 2 diffrent 
>>>> modules running in diffrent iframes ??
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Iframe = multithreading ???

2017-09-14 Thread Paul Porombka
YES, totally agree. This is probably because Web Workers don't use any UI 
there. So they are probably better scheduled and "lighter", so works much 
better than forcing multithreading with IFrames :-)
But the concept is pretty nice, don't you think :-)

And to clarify. I was rather also considering a situation where I have a 
blank page in IFrame, without any UI elements, probably hidden frame, that 
will handle heavy operations, sent there from parent using postMessage. 
Because user interactions on UI can cause the behavior you observed. Then I 
would be closer to Web Workers. But definitely Web Workers are the right 
way in such situations. 

PS: Did you try your test using Web Workers for comparison?


On Thursday, September 14, 2017 at 1:21:48 PM UTC+2, Thomas Broyer wrote:
>
>
>
> On Thursday, September 14, 2017 at 12:09:37 PM UTC+2, Paul Porombka wrote:
>>
>> Hi Ben,
>>
>> I see the time when you've posted the message and see the answers here, 
>> so I codn;t stop to write something here.
>> I will answer YES to your question, but it depends.
>>
>> Generally, IFrame under the same domain is using the same thread. I don't 
>> know how it was at the time You've been asking, but now if you use IFrame 
>> with different origin (domain/host) it will use its own context, own event 
>> loop, so also ot will be separate thread.
>>
>
> It's actually a bit more complicated: 
> https://html.spec.whatwg.org/multipage/webappapis.html#event-loops
> While browsers are *allowed* to use different event loops for those "units 
> of related similar-origin browsing contexts", it adds complications (see 
> note in spec)
> A quick test in my Chrome 61 on Linux shows that the same event loop is 
> used for the iframe and parent browsing contexts loaded from totally 
> different origins (I do heavy DOM manipulations in the iframe on the click 
> of a button, and use a tight setTimeout loop on the parent that updates an 
> element; when I click on the button in the iframe, I clearly see the parent 
> "pause"; there are no communication by any mean between the pages; using 
> 127.0.0.1.xip.io and devd.io to have distinct origins for the same local 
> server).
> Same in Firefox 55.
>
> So while it theorically *can* happen (is allowed by spec), it's not the 
> case in practice.
>
> Web Workers are the only (guaranteed, effective) way of "multithreading" 
> in the browser. 
>  
>
>> Currently a Web Workers concept is using this behavior. The problem was 
>> always with communication between those two frames, so it was also solved 
>> by "Messages". You are able to post a message to different ORIGIN and 
>> addEventListener to "message" event to receive such messages, and voila! 
>> You have two way communication between threads :-)
>>
>> So if you create a code that can be executed separately in different 
>> IFrame, and exeute it in different ORIGIN, then YES you will get REAL 
>> multithreading, not single event loop, real muti-event-loop :-)
>>
>> On Thursday, September 3, 2009 at 12:51:09 AM UTC+2, ben fenster wrote:
>>>
>>> i was wondering that if by opening another module in an iframe tag the 
>>> code of that module runs in another thread ?? 
>>> more over is the limit of 2 open http request apply on 2 diffrent 
>>> modules running in diffrent iframes ??
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Iframe = multithreading ???

2017-09-14 Thread Paul Porombka
Hi Ben,

I see the time when you've posted the message and see the answers here, so 
I codn;t stop to write something here.
I will answer YES to your question, but it depends.

Generally, IFrame under the same domain is using the same thread. I don't 
know how it was at the time You've been asking, but now if you use IFrame 
with different origin (domain/host) it will use its own context, own event 
loop, so also ot will be separate thread.

Currently a Web Workers concept is using this behavior. The problem was 
always with communication between those two frames, so it was also solved 
by "Messages". You are able to post a message to different ORIGIN and 
addEventListener to "message" event to receive such messages, and voila! 
You have two way communication between threads :-)

So if you create a code that can be executed separately in different 
IFrame, and exeute it in different ORIGIN, then YES you will get REAL 
multithreading, not single event loop, real muti-event-loop :-)

On Thursday, September 3, 2009 at 12:51:09 AM UTC+2, ben fenster wrote:
>
> i was wondering that if by opening another module in an iframe tag the 
> code of that module runs in another thread ?? 
> more over is the limit of 2 open http request apply on 2 diffrent 
> modules running in diffrent iframes ??

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: How to contact www.gwtproject.org Website?

2017-07-11 Thread Paul Robinson
I'm not a security expert either, but doesn't https stop a
man-in-the-middle attack?

So the only way to cause you to download the wrong thing is to compromise
gwtproject.org, in which case they could just put the sha1 for their
altered file on there. That's much easier than creating an alternative
download with the same sha1 as the original file.

Paul

On 11 Jul 2017 11:42 am, "salk31"  wrote:

> I think Bob has a point. I don't think HTTPS helps that much. Isn't the
> issue that somebody could generate a new binary that has a SHA1 that
> matches the real binary?
>
>
> On Wednesday, July 5, 2017 at 10:30:24 PM UTC+1, Thomas Broyer wrote:
>>
>> This is not wrong, but not a real vulnerability either I believe, if only
>> because, to begin with, downloads are made through HTTPS.
>> (Don't take my words for granted though, I'm not a security expert)
>>
>> Wrt your first question, have a look at http://www.gwtproject.org/maki
>> nggwtbetter.html
>> You could post to the GWT Contributors group, or file an issue on
>> gwtproject/gwt.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Debugging with developer tools

2017-06-14 Thread Paul Robinson
You can send the whole stack trace to the server and use
StackTraceDeobfuscator to work out the real locations.

See this recent thread:

https://groups.google.com/forum/m/#!topic/Google-Web-Toolkit/z4Rg1G2MgCQ

Paul


On 14 Jun 2017 7:06 pm, "Harry Wagner"  wrote:

> Is there a way to tie an umbrella exception back to a specific LOC using
> either Chrome or Safari developer tools?
>
> Uncaught Error: com.google.gwt.event.shared.UmbrellaException: Exception
> caught: (TypeError) : Cannot read property 'xe' of null
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Any issues running in detailed (or pretty) style in production?

2017-06-09 Thread Paul Robinson
We've done this for a long time now, and it does indeed work well. You
don't get the exact line numbers, but rather the first line number of the
method it's in, but that's usually enough. We also have an extra
permutation for a "debug" build that sets compiler.stackMode to emulated. I
set it up so you have to point your web browser at a different landing page
to get this permutation, so customers don't normally see it. However, it's
easy to use it ourselves (in testing or production) or to point somebody at
it if we need more accurate stack traces.

We always ship the standard and debug versions with every release, so we
can always use the debug version that's the equivalent of what's in
production.

Paul

On Fri, Jun 9, 2017 at 8:38 AM, Jens  wrote:

>
> No, because I just figured the obfuscated code wasn't worth trying to
>> deobfuscate, but apparently symbolMaps is the key.  Kirill provded the
>> details so I plan to refer to that.  Thanks for the time!
>>
>
> As a future improvement: You could send any client side exception to the
> server using the GWT UncaughtExceptionHandler and then let the server
> deobfuscate the exception (SymbolMaps/SourceMaps + StackTraceDeobfuscator)
> and log it. Alternatively the deobfuscated exception could also be send via
> mail (possibly encrypted) to a bug tracker or similar. Works pretty well.
>
> -- J.
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWTReact Release and Roadmap

2017-05-01 Thread Paul Stockley
Yes, I think you would need a good immutable collection library to make 
Redux work well from Java. In our application we are just using React 
State. This works fine because we are replacing relatively small isolated 
parts of our application currently (1 or 2 connected screens at the most). 
Even Facebook uses this approach for large parts of their application. If 
you were building a complete application or replacing a major module, it 
may be better to look at a state manager. I think either Redux or MobX 
would work or you could roll your own in Java.  



On Monday, May 1, 2017 at 1:02:32 PM UTC-4, Ivan Markov wrote:
>
> Side question: I can imagine that the lack of object spread probably makes 
> Redux a bit annoying to use from Java. Yet, if you are not using neither 
> Redux nor MobX, how are you managing your state?
>
>
> On Monday, May 1, 2017 at 3:48:51 PM UTC+3, Paul Stockley wrote:
>>
>> I agree both Redux and MobX are both pretty stable. The decision was more 
>> a reflection on the current state of the GTWReact projects. I would say 
>> both are really proof of concepts at this stage. Redux in particular would 
>> really need interfaces building to the common middleware to be really 
>> useful.
>>
>> On Sunday, April 30, 2017 at 11:05:08 AM UTC-4, Mark Erikson wrote:
>>>
>>> For what it's worth, as a Redux maintainer I can assure you that Redux 
>>> is very stable and not going to meaningfully change (at least at the API 
>>> level) from here on out :)
>>>
>>> On Sunday, April 30, 2017 at 8:27:10 AM UTC-4, Paul Stockley wrote:
>>>>
>>>> I have just released a new version of the GWTReact 
>>>> <https://github.com/GWTReact> projects to support GWT 2.8.1
>>>>
>>>> As of this release, I will no longer be maintaining the MobX and Redux 
>>>> projects. Our company is not using them currently and I don't have the 
>>>> time 
>>>> to keep them updated. In the future, we may update MobX if we start using 
>>>> it in production. If you would like take over maintenance of either of 
>>>> these projects please let me know.
>>>>
>>>> *Road Map*
>>>>
>>>> With the current release, I feel pretty good about the quality of the 
>>>> projects. We are starting to use both gwt-interop-utils and gwt-react in 
>>>> our production code with excellent results. However, I think to get to a 
>>>> 1.0 release I need to make the following changes:
>>>>
>>>>
>>>>1. Migrate gwt-interop-utils to use the new GWT base project
>>>>2. Migrate gwt-react to use elemental 2
>>>>
>>>> I will start working on these objectives in a month or two. The main 
>>>> determining factor on how quick this happens will be how fast elemental 2 
>>>> matures.
>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWTReact Release and Roadmap

2017-05-01 Thread Paul Stockley
I agree both Redux and MobX are both pretty stable. The decision was more a 
reflection on the current state of the GTWReact projects. I would say both 
are really proof of concepts at this stage. Redux in particular would 
really need interfaces building to the common middleware to be really 
useful.

On Sunday, April 30, 2017 at 11:05:08 AM UTC-4, Mark Erikson wrote:
>
> For what it's worth, as a Redux maintainer I can assure you that Redux is 
> very stable and not going to meaningfully change (at least at the API 
> level) from here on out :)
>
> On Sunday, April 30, 2017 at 8:27:10 AM UTC-4, Paul Stockley wrote:
>>
>> I have just released a new version of the GWTReact 
>> <https://github.com/GWTReact> projects to support GWT 2.8.1
>>
>> As of this release, I will no longer be maintaining the MobX and Redux 
>> projects. Our company is not using them currently and I don't have the time 
>> to keep them updated. In the future, we may update MobX if we start using 
>> it in production. If you would like take over maintenance of either of 
>> these projects please let me know.
>>
>> *Road Map*
>>
>> With the current release, I feel pretty good about the quality of the 
>> projects. We are starting to use both gwt-interop-utils and gwt-react in 
>> our production code with excellent results. However, I think to get to a 
>> 1.0 release I need to make the following changes:
>>
>>
>>1. Migrate gwt-interop-utils to use the new GWT base project
>>2. Migrate gwt-react to use elemental 2
>>
>> I will start working on these objectives in a month or two. The main 
>> determining factor on how quick this happens will be how fast elemental 2 
>> matures.
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


GWTReact Release and Roadmap

2017-04-30 Thread Paul Stockley
I have just released a new version of the GWTReact 
 projects to support GWT 2.8.1

As of this release, I will no longer be maintaining the MobX and Redux 
projects. Our company is not using them currently and I don't have the time 
to keep them updated. In the future, we may update MobX if we start using 
it in production. If you would like take over maintenance of either of 
these projects please let me know.

*Road Map*

With the current release, I feel pretty good about the quality of the 
projects. We are starting to use both gwt-interop-utils and gwt-react in 
our production code with excellent results. However, I think to get to a 
1.0 release I need to make the following changes:


   1. Migrate gwt-interop-utils to use the new GWT base project
   2. Migrate gwt-react to use elemental 2

I will start working on these objectives in a month or two. The main 
determining factor on how quick this happens will be how fast elemental 2 
matures.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT React - Update

2017-04-13 Thread Paul Stockley
You can't use uibinder to define your react components.  You can use React 
to implement a GWT widget so you get the benefit of the virtual dom. You 
can also embed top level React components within ui binder files. Take a 
look at this sample 
https://github.com/GWTReact/gwt-react-examples/tree/master/src/gwt/react/widget_interop
 . 
I will put together a post sometime on how we are integrating React into 
our existing GWT codebase.


On Thursday, April 13, 2017 at 2:52:28 AM UTC-4, sameep singhania wrote:
>
> Can I use ui binder with gwt-react?
> Can I also use my widgets inside react elements, so that I can harness the 
> virtual DOM power even for GWT Widgets?
>
>
> On Thursday, 7 April 2016 19:05:50 UTC+5:30, Paul Stockley wrote:
>>
>> I have managed to get Redux working. I implemented the following examples 
>>
>> http://redux.js.org/docs/introduction/Examples.html#counter
>> http://redux.js.org/docs/introduction/Examples.html#todos-with-undo
>>
>> You can see the code on my google drive below:
>>
>>
>> https://drive.google.com/folderview?id=0Bxp8vLBG2ol3ZERCc3lHUEhKU2M&usp=sharing
>>
>> I also updated the todomvc example based on my new more refined API.
>>
>> I am just creating a sample to exercise most of the React API. I also 
>> need to prove out inter-op with existing GWT widgets and also test with a 
>> production build. At the moment it only works on the latest snapshot build 
>> of GWT2.8. Hopefully a RC candidate will be out by the time I finish.
>>
>> When this is done I will publish a preview version of GWT React. I would 
>> like to get some feedback before I turn it into an official project on 
>> Github.
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Compilation of a large GWT application?

2017-04-12 Thread Paul Stockley
For development purposes you could try the following in your .gwt.xml file





You many or may not be able to get away with the first setting depending on 
how you structured your css. In our project we tried to minimize the amount 
of code generation. We have about 250 uibinder files and 300,000 lines of 
code. For client bundles, we have very significant sharing of CSS by 
composing multiple standard CSS classes e.g. 




addStyleNames="{ocs.css.btnBlueWithCursor} {ocs.css.marginLeft2u}"


Our RPC is built on a custom code generator that generates JSO based classes 
from java command / data objects. The nice thing about this approach is the 
code size is very small and

we only rely on the browser JSON serialization so it is very fast. The downside 
is that you can't share logic on the client/server.

However, we are looking at migrating to JsInterop which will allow code sharing 
as well.


The end result is that our app takes about 80 seconds to do a cold compile for 
1 permutation and about 2/3 seconds on a typical SDM refresh. 

The obfuscated size of minified bundle is 2.6 MB uncompressed and around 1MB 
gzipped.





On Wednesday, April 12, 2017 at 9:20:44 AM UTC-4, Marcin Okraszewski wrote:
>
> It turns out, AutoBeans generate 250k lines of code! This is compared to 
> 550k written by us. But this is still just a tip of an iceberg. When we dig 
> further into code generation output, it turns out we have overall 1.5 M 
> lines of code generated, so 3x more than we have written! It is mostly 
> attributed to UiBinder (over 800k lines), client bundles (200k) and 
> mentioned auto beans (250k). Thanks for hint for hint with RPC - that 
> pushed us in right direction. 
>
> Does any one have idea what to do with UiBinders? Or still some other 
> ideas what to try?
>
> Thanks,
> Marcin
>
>
> On Tuesday, 11 April 2017 17:31:43 UTC+2, Marcin Okraszewski wrote:
>>
>> Good hint. In our case we don't use GWT-RPC, but AutoBeans for REST. 
>> Though looking into compile report, it seems it wasn't best choice either, 
>> as it seems to generate a lot of code too :-( Will need to look after a 
>> replacement. JsInterop would be best here ... I wish it supported 
>> collections... 
>>
>> Thanks!
>> Marcin
>>
>>
>> On Tuesday, 11 April 2017 17:19:53 UTC+2, Juan Pablo Gardella wrote:
>>>
>>> Also check the classes that are used by GWT-RPC. For example if those 
>>> classes are using List instead of ArrayList for example, will generate more 
>>> JS output.
>>>
>>> On Tue, 11 Apr 2017 at 12:13 Jens  wrote:
>>>

 Our optimized output with collapse all is 23 MB. Things are reused 
> though, which is visible in left-over taking 6 MB. 
>

 How large is a single permutation (= not using collapse-all)? Our app 
 is roughly 300KLOC and results in roughly 6-7MB optimized JS for a single 
 permutation when doing a production build. In total we generate 3 
 permutations (Firefox, IE, Chrome). However we use SuperDevMode / GWT 
 compiler with just 4GB Heap space configured for the JVM. Seems weird that 
 you need 16GB for a build that probably isn't that different.

 Libraries are kind of standard I guess: GWT-RPC, UiBinder, Google GIN, 
 a 3rd party JS lib for graphs. 

 Maybe your issue is some 3rd party generator that simply consumes way 
 to much memory and should be fixed / optimized? Have you run SDM / GWT 
 Compiler in debug mode and attached a debugger to it so you can make a 
 heap 
 dump once heap is quite high to see who is consuming all the memory?

 -- J.

 -- 
 You received this message because you are subscribed to the Google 
 Groups "GWT Users" group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to google-web-toolkit+unsubscr...@googlegroups.com.
 To post to this group, send email to google-we...@googlegroups.com.
 Visit this group at https://groups.google.com/group/google-web-toolkit.
 For more options, visit https://groups.google.com/d/optout.

>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Can't put breakpoints on specific lines in chrome

2017-04-12 Thread Paul Stockley
When debugging SDM in chrome there are many lines you can't put breakpoints 
on even though the line number indicates you can. 




For example, you can't put a breakpoint on lines 373 and 377. Do you think 
this a chrome issue or a problem with the source maps?

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Slow debugging with SDM

2017-04-10 Thread Paul Stockley
Is anyone else having serious performance problems when stepping through 
SDM code in chrome? The issue happens in cases where this is mapped to the 
window object and chrome want to expand all the globals in the inspection 
window.

There is a chrome issue logged 
https://bugs.chromium.org/p/chromium/issues/detail?id=463451&q=component%3APlatform%3EDevTools%3EJavaScript%20&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified&start=100

Maybe we should all star the issue.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Starting new GWT project - what to use

2017-03-27 Thread Paul Stockley
I would seriously look into using some kind of Virtual DOM based library 
e.g. React, Preact or Vue. I have been using react for over a year both in 
Java and Javascript and I never want to go back to the old imperative 
approach. Even complex UI code is now relatively easy to comprehend. I made 
GWTReact so we could integrate React into our existing code base. However, 
it would be a good choice for a new project if you want to stick with GWT. 
Once elemental 2 is released I can remove any dependency on the old GWT 
code base.

I also use javascript + flow types for some of our newer projects. This 
works pretty well in intellij with the flow plugin. I don't mind either 
approach. 

On Monday, March 27, 2017 at 12:55:27 AM UTC-4, Bryan Buchanan wrote:
>
> Hi,
>
> I've been a long time GWT user, and my current apps use gwtbootstrap, UI 
> Binder, widgets, GWT-RPC. i.e. most of the stuff that, IMO, makes GWT worth 
> using.
>
> From the stuff I've seen about the 3.x release, a lot of this disappears. 
> I'm wondering if there's any document anywhere which sets out "best 
> practice" for any new GWT deleopment (or indeed, would you even use GWT ?).
>
> Thanks.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


New release of GWTReact

2017-03-18 Thread Paul Stockley
I have just pushed new versions of the GWTReact 
 projects to maven central. 

This release contains some significant breaking changes. In collaboration 
with Ivan Markov, I have refactored the API to support ES6 style stateful 
components. This is a more future proof API than the React.createClass() 
approach. In addition, this is a much more natural API to use from Java.

As an added benefit, this change in approach now allows the same API to 
support https://preactjs.com/. This is super small and fast alternative to 
React that is ideal for mobile or if you want to add some react components 
to an existing project with minimal overhead. The Gzip size of this library 
is less than 10kb.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: "unread block data" exception when compiling

2017-02-14 Thread Paul Mazzuca
After adding a new module, I once again have received this error. My best 
guess is that it is related to the gwt-servlet dependency, however I am at 
a loss as to what is going on here.  I think it would be hard for anyone to 
debug, however I was wondering if the stack trace means anything to anyone?

On Monday, January 30, 2017 at 3:54:12 PM UTC-8, Paul Mazzuca wrote:
>
> Figured it out.  For whatever reason, I mistakenly had gwt-servlet in the 
> pom of the module and that seemed to have caused the inconsistency.   I 
> removed it, and the module loads fine in GWT 2.8.0 with Java 8.
>
>
>
>
> On Monday, January 30, 2017 at 3:27:02 PM UTC-8, Paul Mazzuca wrote:
>>
>> I have two projects, each work independently using GWT 2.8 with Java 8. 
>> When I create a module of one of the projects, and load that module into 
>> the other project, I receive the following error.   Any thoughts?  I have 
>> cleaned the projects multiple times and rebuilt from scratch. I used to 
>> have this working with beta1 compiling with Java 7.
>>
>>
>> [INFO] 
>> com.google.gwt.thirdparty.guava.common.util.concurrent.UncheckedExecutionException:
>>  
>> java.lang.IllegalStateException: unread block data
>>
>> [INFO] at 
>> com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.wrapAndThrowUnchecked(Futures.java:2060)
>>
>> [INFO] at 
>> com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.getUnchecked(Futures.java:2045)
>>
>> [INFO] at 
>> com.google.gwt.dev.MinimalRebuildCacheManager.syncReadDiskCache(MinimalRebuildCacheManager.java:264)
>>
>> [INFO] at 
>> com.google.gwt.dev.MinimalRebuildCacheManager.getCache(MinimalRebuildCacheManager.java:104)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.Recompiler.doCompile(Recompiler.java:357)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:175)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.Recompiler.recompile(Recompiler.java:134)
>>
>> [INFO] at com.google.gwt.dev.codeserver.Outbox.recompile(Outbox.java:135)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.JobRunner.recompile(JobRunner.java:113)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.JobRunner.access$000(JobRunner.java:37)
>>
>> [INFO] at 
>> com.google.gwt.dev.codeserver.JobRunner$2.run(JobRunner.java:90)
>>
>> [INFO] at 
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>>
>> [INFO] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>
>> [INFO] at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>
>> [INFO] at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>
>> [INFO] at java.lang.Thread.run(Thread.java:745)
>>
>> [INFO] Caused by: java.lang.IllegalStateException: unread block data
>>
>> [INFO] at 
>> java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2431)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1383)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
>>
>> [INFO] at 
>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
>>
>> [INFO] at 
>> com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:176)
>>
>> [INFO] at 
>> com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:162)
>>
>> [INFO] ... 4 more
>>
>> [INFO]   [WARN] continuing to serve previous version
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop Question regarding execution in index.html

2017-02-13 Thread Paul Mazzuca
Thanks that worked! Given that this flag was off by default,  what are the
main ramifications of leaving it on?

.


The below code is successfully exported globally when the flag is on:



@JsMethod(namespace = JsPackage.GLOBAL, name = "handleOpenUrl")

public static void runMe(String url) {

  Window.alert("Success");

}

On Mon, Feb 13, 2017 at 9:09 AM, Juan Pablo Gardella <
gardellajuanpa...@gmail.com> wrote:

> Check if this flag is activated  -[no]generateJsInteropExports Generate
> exports for JsInterop purposes (defaults to OFF)
>
>
> On Mon, 13 Feb 2017 at 14:01 Paul Mazzuca 
> wrote:
>
>> Thanks for the quick reply.  This was my first inclination, which does
>> not work.
>>
>> @JsMethod(namespace = JsPackage.GLOBAL, name = "handleOpenUrl")
>>
>> public void runMe(String url) {
>>
>> Window.alert("Success");
>>
>> }
>>
>>
>>
>> Perhaps, I am doing it wrong, but I had always thought the JsInterop
>> wraps existing javascript. I am trying to declare a new javascript function
>> in the global namespace so that a cordova plugin can call it.
>>  handleOpenUrl does NOT exist, but I am responsible for creating it.
>>
>>
>> Below js code does work inside my index.html.  I need to emulate that is
>> GWT.
>>
>>
>> function handleOpenURL(url) {
>>
>>  alert("received url: " + url);
>>
>> }
>>
>>
>>
>>
>> On Mon, Feb 13, 2017 at 8:41 AM, Juan Pablo Gardella <
>> gardellajuanpa...@gmail.com> wrote:
>>
>> You can use jsinterop
>> <https://docs.google.com/document/d/10fmlEYIHcyead_4R1S5wKGs1t2I7Fnp_PaNaa7XTEk0/edit#heading=h.o7amqk9edhb9>
>> .
>>
>> On Mon, 13 Feb 2017 at 13:24 Paul Mazzuca 
>> wrote:
>>
>> I need to create a javascript function called "handleOpenUrl(url)" that
>> will be called from a Cordova plugin (https://github.com/
>> EddyVerbruggen/Custom-URL-scheme)  for a hand off from a mobile
>> browser.  If I create the function inside my index.html, it is called
>> successfully. The challenge is how do I move the execution into my GWT
>> module?
>>
>> My ideas are...
>>
>> 1:  Somehow create a GWT method that is recognized in the global js
>> namespace as "handleOpenUrl"?  I know method names get compiled out, so I
>> am not sure how I would accomplish this.
>>
>> 2.  Leave the handleOpenUrl inside the index.html, but somehow call a GWT
>> method from that?
>>
>> Any thoughts/ideas would be much appreciated.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to google-web-toolkit+unsubscr...@googlegroups.com.
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "GWT Users" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/
>> topic/google-web-toolkit/ycAylgf11zo/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> google-web-toolkit+unsubscr...@googlegroups.com.
>>
>>
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to google-web-toolkit+unsubscr...@googlegroups.com.
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "GWT Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/google-web-toolkit/ycAylgf11zo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop Question regarding execution in index.html

2017-02-13 Thread Paul Mazzuca
Thanks for the quick reply.  This was my first inclination, which does not
work.

@JsMethod(namespace = JsPackage.GLOBAL, name = "handleOpenUrl")

public void runMe(String url) {

Window.alert("Success");

}



Perhaps, I am doing it wrong, but I had always thought the JsInterop wraps
existing javascript. I am trying to declare a new javascript function in
the global namespace so that a cordova plugin can call it.  handleOpenUrl
does NOT exist, but I am responsible for creating it.


Below js code does work inside my index.html.  I need to emulate that is
GWT.


function handleOpenURL(url) {

 alert("received url: " + url);

}




On Mon, Feb 13, 2017 at 8:41 AM, Juan Pablo Gardella <
gardellajuanpa...@gmail.com> wrote:

> You can use jsinterop
> <https://docs.google.com/document/d/10fmlEYIHcyead_4R1S5wKGs1t2I7Fnp_PaNaa7XTEk0/edit#heading=h.o7amqk9edhb9>
> .
>
> On Mon, 13 Feb 2017 at 13:24 Paul Mazzuca 
> wrote:
>
>> I need to create a javascript function called "handleOpenUrl(url)" that
>> will be called from a Cordova plugin (https://github.com/
>> EddyVerbruggen/Custom-URL-scheme)  for a hand off from a mobile
>> browser.  If I create the function inside my index.html, it is called
>> successfully. The challenge is how do I move the execution into my GWT
>> module?
>>
>> My ideas are...
>>
>> 1:  Somehow create a GWT method that is recognized in the global js
>> namespace as "handleOpenUrl"?  I know method names get compiled out, so I
>> am not sure how I would accomplish this.
>>
>> 2.  Leave the handleOpenUrl inside the index.html, but somehow call a GWT
>> method from that?
>>
>> Any thoughts/ideas would be much appreciated.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to google-web-toolkit+unsubscr...@googlegroups.com.
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "GWT Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/google-web-toolkit/ycAylgf11zo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


JsInterop Question regarding execution in index.html

2017-02-13 Thread Paul Mazzuca
I need to create a javascript function called "handleOpenUrl(url)" that 
will be called from a Cordova plugin 
(https://github.com/EddyVerbruggen/Custom-URL-scheme)  for a hand off from 
a mobile browser.  If I create the function inside my index.html, it is 
called successfully. The challenge is how do I move the execution into my 
GWT module?  

My ideas are...

1:  Somehow create a GWT method that is recognized in the global js 
namespace as "handleOpenUrl"?  I know method names get compiled out, so I 
am not sure how I would accomplish this.  

2.  Leave the handleOpenUrl inside the index.html, but somehow call a GWT 
method from that?

Any thoughts/ideas would be much appreciated.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: "unread block data" exception when compiling

2017-01-30 Thread Paul Mazzuca
Figured it out.  For whatever reason, I mistakenly had gwt-servlet in the 
pom of the module and that seemed to have caused the inconsistency.   I 
removed it, and the module loads fine in GWT 2.8.0 with Java 8.




On Monday, January 30, 2017 at 3:27:02 PM UTC-8, Paul Mazzuca wrote:
>
> I have two projects, each work independently using GWT 2.8 with Java 8. 
> When I create a module of one of the projects, and load that module into 
> the other project, I receive the following error.   Any thoughts?  I have 
> cleaned the projects multiple times and rebuilt from scratch. I used to 
> have this working with beta1 compiling with Java 7.
>
>
> [INFO] 
> com.google.gwt.thirdparty.guava.common.util.concurrent.UncheckedExecutionException:
>  
> java.lang.IllegalStateException: unread block data
>
> [INFO] at 
> com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.wrapAndThrowUnchecked(Futures.java:2060)
>
> [INFO] at 
> com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.getUnchecked(Futures.java:2045)
>
> [INFO] at 
> com.google.gwt.dev.MinimalRebuildCacheManager.syncReadDiskCache(MinimalRebuildCacheManager.java:264)
>
> [INFO] at 
> com.google.gwt.dev.MinimalRebuildCacheManager.getCache(MinimalRebuildCacheManager.java:104)
>
> [INFO] at 
> com.google.gwt.dev.codeserver.Recompiler.doCompile(Recompiler.java:357)
>
> [INFO] at 
> com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:175)
>
> [INFO] at 
> com.google.gwt.dev.codeserver.Recompiler.recompile(Recompiler.java:134)
>
> [INFO] at com.google.gwt.dev.codeserver.Outbox.recompile(Outbox.java:135)
>
> [INFO] at 
> com.google.gwt.dev.codeserver.JobRunner.recompile(JobRunner.java:113)
>
> [INFO] at 
> com.google.gwt.dev.codeserver.JobRunner.access$000(JobRunner.java:37)
>
> [INFO] at com.google.gwt.dev.codeserver.JobRunner$2.run(JobRunner.java:90)
>
> [INFO] at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
> [INFO] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>
> [INFO] at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
> [INFO] at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
> [INFO] at java.lang.Thread.run(Thread.java:745)
>
> [INFO] Caused by: java.lang.IllegalStateException: unread block data
>
> [INFO] at 
> java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2431)
>
> [INFO] at 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1383)
>
> [INFO] at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
>
> [INFO] at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
>
> [INFO] at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
>
> [INFO] at 
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
>
> [INFO] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
>
> [INFO] at 
> com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:176)
>
> [INFO] at 
> com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:162)
>
> [INFO] ... 4 more
>
> [INFO]   [WARN] continuing to serve previous version
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


"unread block data" exception when compiling

2017-01-30 Thread Paul Mazzuca


I have two projects, each work independently using GWT 2.8 with Java 8. 
When I create a module of one of the projects, and load that module into 
the other project, I receive the following error.   Any thoughts?  I have 
cleaned the projects multiple times and rebuilt from scratch. I used to 
have this working with beta1 compiling with Java 7.


[INFO] 
com.google.gwt.thirdparty.guava.common.util.concurrent.UncheckedExecutionException:
 
java.lang.IllegalStateException: unread block data

[INFO] at 
com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.wrapAndThrowUnchecked(Futures.java:2060)

[INFO] at 
com.google.gwt.thirdparty.guava.common.util.concurrent.Futures.getUnchecked(Futures.java:2045)

[INFO] at 
com.google.gwt.dev.MinimalRebuildCacheManager.syncReadDiskCache(MinimalRebuildCacheManager.java:264)

[INFO] at 
com.google.gwt.dev.MinimalRebuildCacheManager.getCache(MinimalRebuildCacheManager.java:104)

[INFO] at 
com.google.gwt.dev.codeserver.Recompiler.doCompile(Recompiler.java:357)

[INFO] at 
com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:175)

[INFO] at 
com.google.gwt.dev.codeserver.Recompiler.recompile(Recompiler.java:134)

[INFO] at com.google.gwt.dev.codeserver.Outbox.recompile(Outbox.java:135)

[INFO] at 
com.google.gwt.dev.codeserver.JobRunner.recompile(JobRunner.java:113)

[INFO] at 
com.google.gwt.dev.codeserver.JobRunner.access$000(JobRunner.java:37)

[INFO] at com.google.gwt.dev.codeserver.JobRunner$2.run(JobRunner.java:90)

[INFO] at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

[INFO] at java.util.concurrent.FutureTask.run(FutureTask.java:266)

[INFO] at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

[INFO] at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

[INFO] at java.lang.Thread.run(Thread.java:745)

[INFO] Caused by: java.lang.IllegalStateException: unread block data

[INFO] at 
java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2431)

[INFO] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1383)

[INFO] at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)

[INFO] at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)

[INFO] at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

[INFO] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)

[INFO] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)

[INFO] at 
com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:176)

[INFO] at 
com.google.gwt.dev.MinimalRebuildCacheManager$2.call(MinimalRebuildCacheManager.java:162)

[INFO] ... 4 more

[INFO]   [WARN] continuing to serve previous version

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Geolocation problems

2017-01-25 Thread Paul
Apologies, I did not look very hard for the already reported issue.

null is required to indicate the browser does not support providing that 
specific value I believe, so I can understand why Double was used.

For now I've used my own overlay.

Thanks

On Wednesday, January 25, 2017 at 2:36:15 PM UTC, Thomas Broyer wrote:
>
>
>
> On Wednesday, January 25, 2017 at 11:56:20 AM UTC+1, Paul wrote:
>>
>> See 
>> http://www.gwtproject.org/javadoc/latest/com/google/gwt/geolocation/client/Position.Coordinates.html
>>
>> Several methods return Double e.g.
>>
>> public Double getSpeed()
>>
>> The JavaScript object overlay that implements this method is...
>>
>> @Override
>> public final native Double getSpeed() /*-{
>>   return this.speed || null;
>> }-*/;
>>
>>
>> However this.speed is a primitive double or null according to ...
>>
>> https://developer.mozilla.org/en-US/docs/Web/API/Coordinates 
>> <https://www.google.com/url?q=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FAPI%2FCoordinates&sa=D&sntz=1&usg=AFQjCNFFjUO8wVqBCmQhl4-iCr243DE_Uw>
>>
>> So surely this is incorrect?
>>
>
> In GWT 2.7.0 and earlier, returning a JS Number as a java.lang.Double 
> would be an error; but in GWT 2.8.0 java.lang.Double and double are 
> interchangeable (same for java.lang.Boolean and boolean). This was actually 
> reported 2 years ago: https://github.com/gwtproject/gwt/issues/9058 
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fgwtproject%2Fgwt%2Fissues%2F9058&sa=D&sntz=1&usg=AFQjCNFomPq8h9rzoTY-hQUokud_bFaqGg>
> It is however probably incorrect to turn a 0 value into a null yes.
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Geolocation problems

2017-01-25 Thread Paul
See 
http://www.gwtproject.org/javadoc/latest/com/google/gwt/geolocation/client/Position.Coordinates.html

Several methods return Double e.g.

public Double getSpeed()

The JavaScript object overlay that implements this method is...

@Override
public final native Double getSpeed() /*-{
  return this.speed || null;
}-*/;


However this.speed is a primitive double or null according to ...

https://developer.mozilla.org/en-US/docs/Web/API/Coordinates

So surely this is incorrect?

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Callback for CellList cell attaching to DOM?

2017-01-22 Thread Paul Mazzuca
So, right after I posted, I think I figured it out, though comments still 
welcome of course.  I went ahead and wrote the JsInterop code.

Answer is below based 
on https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver


@JsFunction

public static interface MutationsCallback {

public void run(Mutation m);

}


@JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Object")

public static class MutationOptions {

public boolean childList;

}


@JsType(isNative = true, namespace = JsPackage.GLOBAL)

public static class MutationObserver {

public MutationObserver(MutationsCallback callback) {

}


public native void observe(Element e, MutationOptions options);

public native void disconnect();

}


observer = new MutationObserver(c -> {

Element e = DOM.getElementById("mapId");

//do Google Maps STUFF

observer.disconnect();

});


MutationOptions options = new MutationOptions();

options.childList = true;

observer.observe(this.cellList.getRowContainer(), options);





On Sunday, January 22, 2017 at 7:17:50 PM UTC-8, Paul Mazzuca wrote:
>
> Is it possible to register a callback for when a CellList cell has 
> attached to the DOM?  And if not, any ideas on how to solve this problem?
>
> The problem occurs when I am embedding an interactive Google Map into a 
> cellList cell.  Since the div element which will contain the map exists 
> within the cell, I need to make sure the cell loads, otherwise my call to 
> getElementById will return null.  Using a Timer, I can guess how long it 
> will take, and usually it will work, but I would much rather respond to a 
> callback. 
>
> For example, in my ui:binder cell I pass a predetermined "mapId" to the 
> cell.  This allows be to then access that specific element outside of the 
> cell rendering, and then pass that element to the Google Maps API. 
>
> Again, I have this working, but only by guessing a wait time with a Timer 
> which leads to obvious issues.
>
>
> 
>
> 
> 
> 
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Callback for CellList cell attaching to DOM?

2017-01-22 Thread Paul Mazzuca
Is it possible to register a callback for when a CellList cell has attached 
to the DOM?  And if not, any ideas on how to solve this problem?

The problem occurs when I am embedding an interactive Google Map into a 
cellList cell.  Since the div element which will contain the map exists 
within the cell, I need to make sure the cell loads, otherwise my call to 
getElementById will return null.  Using a Timer, I can guess how long it 
will take, and usually it will work, but I would much rather respond to a 
callback. 

For example, in my ui:binder cell I pass a predetermined "mapId" to the 
cell.  This allows be to then access that specific element outside of the 
cell rendering, and then pass that element to the Google Maps API. 

Again, I have this working, but only by guessing a wait time with a Timer 
which leads to obvious issues.








-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT Client for App Engine Endpoints

2017-01-13 Thread Paul Mazzuca
I am not quite sure, but what might be the issue is that you are trying to 
add jar's that are not compatible with GWT.  GWT implements a subset of the 
Java 8 API. That's why GWT modules are usually written specifically for 
GWT, because they cannot leverage all of the Java API.  Furthermore, GWT 
modules require special xml files that specify details about how the module 
is supposed to be used.  

Usually, if you are using a third party library, it will most often be a 
javascript library that you would need to wrap using JsInterop. JsInterop 
becomes a powerful tool because in many cases it negates the need for third 
party GWT libraries.   For example, the Google Maps Javascript API enables 
developers to use Google Maps in their web apps.  A third party GWT jar is 
not required because GWT can wrap the API using JsInterop.  Though this 
requires some work, it is not that considerable, given that you are only 
wrapping the JsObjects and functions that you need.  Furthermore, as a 
developer, you are now less reliant on a another developers GWT-specifc 
library for Google Maps, making it easier to stay up-to-date with the most 
recent Google Maps updates.

So, if you are using a client library intended to connect to Google 
Endpoints, make sure it is Javascript (so that you can wrap it), or 
specifically intended for GWT. 
 

On Thursday, January 12, 2017 at 5:35:23 AM UTC-8, Matthew Rubenstein wrote:
>
> The hitch seems to be getting the GWT compiler to find the API Java code 
> generated by the annotation processor. That  generated API code is not 
> under the project/html/src/ tree (html=GWT), but rather under the 
> project/backend/build/generated-source/endpoints/java/ tree (eg. 
> java/com/blue_green_group/gdxendpoints/backend/endpointsApi/EndpointsApi.java 
> ). Failure of the GWT compiler to find the generated API code results in eg.
> ...html/src/com/blue_green_group/gdxendpoints/backend/api/gwt/services/
> endpointsApi/shared/EndpointsApi.java:45: error: cannot find symbol
>   public enum EndpointsApiAuthScope implements AuthScope {
>^
>   symbol:   class AuthScope
>   location: interface EndpointsApi
> ...html/src/com/blue_green_group/gdxendpoints/backend/api/gwt/services/
> endpointsApi/shared/EndpointsApi.java:56: error: method does not override 
> or implement a method from a supertype
> @Override
> ^
>
> Possibly the GWT compiler is not looking for the source code in that path, 
> even though I tried adding project/backend/build/generated-source to eg. 
> sourceSets.main.java.srcDirs (which fails because it's not a subdir of the 
> GWT html/ module dir). Possibly because the generated API code is generated 
> by the annotation processors only after the GWT compiles (though it's still 
> in place when starting superdev after the last Android/backend build). 
> Possibly both.
>
> I could have the build process copy the generated API code from the 
> backend module to a src/ dir under the html (GWT) module, but the Endoints 
> pattern is for that code to be shared from a single source dir, not copied 
> to other modules. But maybe that's the only way if GWT cannot share code 
> from a dir outside the GWT module's tree.
>
>
> On Wednesday, January 11, 2017 at 7:28:56 PM UTC-5, Matthew Rubenstein 
> wrote:
>>
>> Well, I am making an async HTTP request using the GWT RequestBuilder API, 
>> as illustrated in the code snippet in my previous message 
>> <https://groups.google.com/d/msg/Google-Web-Toolkit/q8YQ5F1lXqE/AzDxSq9fFAAJ>.
>>  
>> RestyGWT might offer better management of requests than my basic 
>> RequestBuilder code.
>>
>> But what that doesn't do is allow me to call the API from GWT code, as I 
>> do in my Android AsyncTask:
>> try
>> { resultDataStr = endpointsApiService.sayHi(name).execute().getData(); }
>> catch(IOException e)
>> { return e.getMessage(); }
>>
>>
>> I can recode EndpointsApiService.sayHi(String) elsewhere in my code, 
>> change its name, and otherwise change both the API and its implementation - 
>> as Java. But in the GWT Endpoints client I have to separately maintain the 
>> REST URL strings. There are old (broken) tools like Google's 
>> apis-client-generator (generate_library) tool that supposedly generate GWT 
>> code from the Java API code (annotated). Are there any that actually work, 
>> so "just code in Java" gets maintainable Endpoints in GWT?
>>
>>
>> On Wednesday, January 11, 2017 at 4:39:15 PM UTC-5, Paul Mazzuca wrote:
>>>
>>> GAE Endpoints makes available REST EndPoints for your various clients. 
>>>  If GWT is being used in your client, then you need to

Re: GWT Client for App Engine Endpoints

2017-01-11 Thread Paul Mazzuca
GAE Endpoints makes available REST EndPoints for your various clients.  If 
GWT is being used in your client, then you need to make an HTTP request 
from that client in order to communicate with GAE Endpoints.   So the 
question is how do you create an HTTP async request from a GWT client?

You could create a HTTP request using the GWT RequestBuilder API, which 
allows you to create a request from the ground up.  Or, you could use a 
higher level abstraction like RestyGWT which will do a lot of the heavy 
lifting for you.  I generally stick to RestyGWT for my REST API requests 
from a GWT client.  I would read through the documentation of RestyGWT and 
see if that is a good fit. 


On Wednesday, January 11, 2017 at 11:24:00 AM UTC-8, Matthew Rubenstein 
wrote:
>
> I currently have the project's GWT module send data to the backend API
> // Build API request URL.
> backendMethodURLStr= "https://api-backend.appspot.com*/*
> _ah/api/endpointsApi/v1/sayHi
> endpointRequestURLStr = backendMethodURLStr + "/" + URL.encode(dataStr);
>
>
> // Ping Endpoint with value REST request.
> RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, 
> endpointRequestURLStr);
> HttpRequestCallback httpReqClbk = new HttpRequestCallback();
> try
> { builder.sendRequest(null, httpReqClbk); }
> catch(RequestException exception)
> { httpReqClbk.onError(null, exception); }
>
> [...]
>
> class HttpRequestCallback implements RequestCallback
> {
> @Override
> public void onResponseReceived(Request request, Response response)
> {
> String responseStr = response.getText();
> log("HtmlLauncher.onSuccess() response:\n", responseStr);
>
> // Parse data field from JSON response object.
> JSONValue responseJSONVal = JSONParser.parseStrict(responseStr);
> [...]
>
>
> So the backendMethodURLStr must be maintained to represent the Endpoints 
> API. Are you saying RestyGWT can be used instead of a crude request string 
> + RequestBuilder, with RestyGWT referencing the shared API that only has to 
> be mainained in one place in the project? Ie. RestyGWT will automatically 
> (after its configured by my code) to reference the class EndpointsApi 
> that's generated by the Endpoints @Api and @ApiMethod annotations.
>
>
>
> On Wednesday, January 11, 2017 at 11:59:44 AM UTC-5, Michael Joyner wrote:
>>
>> I don't know how much it will help, but RestyGWT could be used for the 
>> GWT client to access JSON data via a predefined and share-able json rest 
>> interface definition. 
>>
>> Then you could use the builts, (a bit manaully), of libGDX net to to 
>> http/json calls to the end point.
>>
>> The end point I would think would need to be a separate project, just use 
>> a predefined endpoint API in your clients to access it as a 3rd party 
>> service.
>>
>> On 01/11/2017 10:12 AM, Matthew Rubenstein wrote:
>>
>> Hello. I'm trying to add a Google Endpoints client to a LibGDX project. 
>> Adding one to the GWT module is causing me a lot of problems. Is there a 
>> demo GWT project that includes an Endpoints client, deployable to Google 
>> App Engine? A project I can open in Android Studio, so either a Gradle 
>> project or a (working) Eclipse project that can be imported by AS? 
>>
>> The LibGDX project setup application generates as an Android Studio 
>> Gradle project, like this game demo: 
>> https://github.com/libgdx/libgdx-demo-superjumper
>>
>> including Android, desktop, GWT ("html" module) and even Ios modules. The 
>> platform-nonspecific code (most of the clients application code) is 
>> implemented in the "core" module. I've added a simple HTTP XML client to a 
>> LigGDX GWT module. But it's not really an Endpoints client; it doesn't 
>> share the API from the rest of the project as an API, just as a component 
>> of a URL string. Is there a direct way to add an Endpoints client to that 
>> GWT module that can share the API with the backend and the other client 
>> modules? I'd rather not tack on yet another programming environment in a 
>> Javascript phase (ie. JsInterop) after GWT just to add the Endpoints client 
>> to what is otherwise a Java project. Thanks for your insights.
>>
>>
>> ...
>>
>> FWIW, I tried to get help in the Google App Engine group:
>>
>> https://groups.google.com/forum/?utm_source=footer#!topic/google-appengine/swjJgsDhX9o
>>
>> But the "Cloud Platform Support" guidance sent me into days of trying 
>> various GWT tutorials and demos all of which are broken. My final attempt 
>> was the GWT Project's "Build a GWT app" whose sample project executed but 
>> rendered a client webpage with no UI widgets.
>> "Deploy to GAE / Set up a project (without Eclipse)":
>> http://www.gwtproject.org/doc/latest/tutorial/appengine.html
>>
>> "Alternatively, If you would like to skip the Build a Sample GWT 
>> Application tutorial, then download and unzip this file."
>>
>> http://code.google.com/p/google-web-toolkit/downloads/detail?name=Tutorial-GettingStarted-2.1.zip
>>
>> BTW like al

GWT 2.8 with Java 7

2017-01-06 Thread Paul Mazzuca
Can a GWT 2.8 project still be run with Java 7? I have it working with 
beta1, but not any of the release candidates or the final release?

When I do try to use anything beyond GWT beta1, I receive a series of 
errors similar to the below statement

[WARN] Ignoring unresolvable annotation type java.lang.FunctionalInterface

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop JSON.parse()ed object differs from JSNI JSON.parse()ed object

2016-12-30 Thread Paul Robinson
Have you tried modifying/simplifying the JSON to see what your odd
behaviour is sensitive to?

Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Obtaining a DivElement from a custom cell

2016-11-04 Thread Paul Mazzuca
I think you are right in that going through the DOM is the only way, rather 
than through the cell during instantiation.  It makes sense if you think 
about it too, considering that within the Cell renderer code that I write, 
the element has yet to even attach to the DOM.  So, the solution (I think) 
is to wait until the CellList rows are rendered and attached to the DOM, 
and then find the element either by Id or some other means using the DOM. 
 In my case, I give the Id a specific name in the cell renderer code, and 
then later use getElementById to find the Element.   Thanks for the reply.

On Friday, November 4, 2016 at 6:56:05 AM UTC-7, vinnyjames wrote:
>
> I've done something similar by searching up the DOM tree:
>
> public static Element getFirstParentWithNodeName(Element e, String 
> nodeName) {
> Element parent = e.getParentElement();
> if(parent == null) {
> // end of the line
> } else {
> String pname = parent.getNodeName();
> if(nodeName.equalsIgnoreCase(pname)) {
> return parent;
> } else {
> return getFirstParentWithNodeName(parent, nodeName);
> }
> }
> return null;
> }
>
>
> On Thursday, November 3, 2016 at 3:35:51 PM UTC-7, Paul Mazzuca wrote:
>>
>> Is it possible to obtain a reference to a divElement inside a GWT custom 
>> cell?
>>
>> Many Javascript libraries (Google JS Map API, Google Charts API, etc) 
>> often require a div element to be passed to the javascript in order to 
>> render, for example, a map or chart.  Basically, I am trying to create a 
>> cell list of charts or maps, but cannot seem to figure out how to get a 
>> reference to the divElement container within each cell.
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Obtaining a DivElement from a custom cell

2016-11-03 Thread Paul Mazzuca
Is it possible to obtain a reference to a divElement inside a GWT custom 
cell?

Many Javascript libraries (Google JS Map API, Google Charts API, etc) often 
require a div element to be passed to the javascript in order to render, 
for example, a map or chart.  Basically, I am trying to create a cell list 
of charts or maps, but cannot seem to figure out how to get a reference to 
the divElement container within each cell.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


GWTReact release

2016-10-28 Thread Paul Stockley
I have pushed new versions of the GWTReact  
projects to support the final release of GWT2.8

The versions of the individual JS projects they depend on have also been 
updated as follows:

react 15.3.2,
react-dom 15.3.2
redux 3.5.2,
react-redux 4.4.5
redux-undo 1.0.0-beta
react-router 2.4.1
mobx 2.5.2
mobx-react 3.5.6
mobx-react-devtools 4.2.6

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Setting a variable in the window namespace

2016-10-26 Thread Paul Mazzuca
Update:  I was able to sort of figure it out, but still had to use a bit of 
JSNI. Thought I would share the solution below.   As background I was 
trying to store a function in the window namespace.


@JsFunction

interface MyFunction {

 void run(String x);

}

//maybe another way to get the window without JSNI, but good enough for me

public native MyWindow get() /*-{

   return $wnd;

}-*/;


@JsType(isNative = true)

public static class MyWindow {

@JsProperty

public MyFunction f;

}


Then, in javascript I can now call


window.f("some string");



On Tuesday, October 25, 2016 at 4:42:21 PM UTC-7, Paul Mazzuca wrote:
>
> Is there an equivalent way of using JSInterop to achieve the JavaScript 
> functionality of   window.foo = 'someval'?
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Setting a variable in the window namespace

2016-10-25 Thread Paul Mazzuca
Is there an equivalent way of using JSInterop to achieve the JavaScript 
functionality of   window.foo = 'someval'?


-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: jsinterop @JsFunction: How to get this (context)?

2016-10-11 Thread Paul Stockley
Sorry, I read it again after I posted and realized it was the opposite 
problem. I am not sure if there is a better way. I will have to experiment.


On Tuesday, October 11, 2016 at 9:14:57 AM UTC-4, Vassilis Virvilis wrote:
>
> That's the opposite problem (also present in D3 though) where you have a 
> js callback and you want to map it to a java functoid.
>
> The problem at hand is about mapping a java functoid.to a js callback 
> (done via @JsFunction) and also get access to the already bound __this__ 
> variable.
>
> So my implementation based on a suggestion from Stepan Koltsov was to 
> wrap the native js callback. I understand that it used JSNI and 
> JavaScriptObject that are destined to deprecation but I didn't see any 
> other way.
>
> Of course it would be great if you come with a better approach...
>
> Vassilis
>
>
> On Tue, Oct 11, 2016 at 4:03 PM, Paul Stockley  > wrote:
>
>> It should be possible to write a helper that uses the javascript bind 
>> command so that you can bind this for any functional interface. I will have 
>> a play and see if I can get something working.
>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to google-web-toolkit+unsubscr...@googlegroups.com .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Vassilis Virvilis
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: jsinterop @JsFunction: How to get this (context)?

2016-10-11 Thread Paul Stockley
It should be possible to write a helper that uses the javascript bind 
command so that you can bind this for any functional interface. I will have 
a play and see if I can get something working.

>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Window.open does nothing in windows mobile 10 (IEEdge)

2016-09-28 Thread Paul
Does anyone know if this has been fixed?

http://blog.daniel-kurka.de/2012/05/mobile-webkit-alert-dialog-breaks-touch.html

My problem is with MGWT. It fixes the above bug by using a deferred 
ScheduledCommand to fire MGWT events e.g. a TapEvent.This is causing me the 
problem in IEEdge mobile (not desktop) where if you do not call window.open 
in the context of a native event initiated by the user then the window.open 
call is ignored. I'm guessing the IEEdge mobile is not as clever as the 
desktop version and simply blocks all window.open calls if not in the 
context of a user initiated native event (a form of popup blocking)

I can fix MGWT by simply not deferring these fired events in IEEdge but 
would like to know if I can remove this fix for all safari permutations 
(specifically mobile webkit)

Any thoughts would be appreciated. 

On Tuesday, September 27, 2016 at 6:27:07 PM UTC+1, Paul wrote:
>
> Thanks for suggestions. As far as I know you still cannot remote debug 
> mobile IEEdge in visual studio 2015
>
> Anyway I think I have the answer. For some reason if I call window.open in 
> response to a click event or another native event like pointerdown then it 
> works.
>
> If I call window.open in response to a GWT fired event like TapEvent for 
> example (I'm using MGWT which fires tap events when you get a pointerdown 
> followed by a pointerup event) then window.open does not work! You get no 
> error, the call is basically ignored.
>
> Very strange. I'm still investigating.
>
> Cheers
>  
> On Tuesday, September 27, 2016 at 11:35:49 AM UTC+1, Vassilis Virvilis 
> wrote:
>>
>> looks like a popup blocker issue... Does an alert command before window 
>> open() works? If yes then you don't have problem with the event but with 
>> open per se.
>>
>> Mobile Chromium and mobile Safari have a developer mode with console - 
>> when connected to desktop computer. It needs some setup but a console may 
>> give a hint.
>>
>> Vassilis
>>
>> On Tue, Sep 27, 2016 at 1:27 PM, Paul  wrote:
>>
>>> In a simple GWT test project it works. It must be something I'm doing 
>>> with event capture. My application is complex so I'll have to try and 
>>> workout what is stopping the window.open just for IEEdge on windows mobile10
>>>
>>> IEEdge desktop is fine and so is chrome! Strange 
>>>
>>>
>>> On Tuesday, September 27, 2016 at 10:52:31 AM UTC+1, Paul wrote:
>>>>
>>>> Window.open("http://www.google.co.uk","_blank","";)
>>>>
>>>> does nothing in windows mobile 10 (IEEdge) when running in GWT 2.7
>>>>
>>>> Any ideas?
>>>>
>>>> If I write a simple html page with the above javascript, then the 
>>>> browser happily opens the google page on a new tab.
>>>>
>>>>
>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to google-web-toolkit+unsubscr...@googlegroups.com.
>>> To post to this group, send email to google-we...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> -- 
>> Vassilis Virvilis
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Window.open does nothing in windows mobile 10 (IEEdge)

2016-09-27 Thread Paul
Thanks for suggestions. As far as I know you still cannot remote debug 
mobile IEEdge in visual studio 2015

Anyway I think I have the answer. For some reason if I call window.open in 
response to a click event or another native event like pointerdown then it 
works.

If I call window.open in response to a GWT fired event like TapEvent for 
example (I'm using MGWT which fires tap events when you get a pointerdown 
followed by a pointerup event) then window.open does not work! You get no 
error, the call is basically ignored.

Very strange. I'm still investigating.

Cheers
 
On Tuesday, September 27, 2016 at 11:35:49 AM UTC+1, Vassilis Virvilis 
wrote:
>
> looks like a popup blocker issue... Does an alert command before window 
> open() works? If yes then you don't have problem with the event but with 
> open per se.
>
> Mobile Chromium and mobile Safari have a developer mode with console - 
> when connected to desktop computer. It needs some setup but a console may 
> give a hint.
>
> Vassilis
>
> On Tue, Sep 27, 2016 at 1:27 PM, Paul > 
> wrote:
>
>> In a simple GWT test project it works. It must be something I'm doing 
>> with event capture. My application is complex so I'll have to try and 
>> workout what is stopping the window.open just for IEEdge on windows mobile10
>>
>> IEEdge desktop is fine and so is chrome! Strange 
>>
>>
>> On Tuesday, September 27, 2016 at 10:52:31 AM UTC+1, Paul wrote:
>>>
>>> Window.open("http://www.google.co.uk","_blank","";)
>>>
>>> does nothing in windows mobile 10 (IEEdge) when running in GWT 2.7
>>>
>>> Any ideas?
>>>
>>> If I write a simple html page with the above javascript, then the 
>>> browser happily opens the google page on a new tab.
>>>
>>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to google-web-toolkit+unsubscr...@googlegroups.com .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Vassilis Virvilis
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop and constants

2016-09-27 Thread Paul Stockley
It can't be a child interface.

On Tuesday, September 27, 2016 at 9:52:47 AM UTC-4, Kirill Prazdnikov wrote:
>
> > or you can move your constants to another class since they are not js 
> visibile...
>
> Thats what am I doing:
>
> @JsType(isNative = true, namespace = JsPackage.GLOBAL)
> public interface JsObject {
>   @JsProperty int getMyInt();
>
>   interface Const {
> int ONE = 1;
>   }
> }
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: [GWT 2.8 SHNAPSHOT] missing stack trace for 'Should only call onDetach when the widget is attached to the browser's document'

2016-09-27 Thread Paul Stockley
Is this in a production build or SDM? In SDM you can pass the 
flag -XmethodNameDisplayMode ABBREVIATED. Then in chrome you will see 
class/method names in the call stack

On Monday, September 26, 2016 at 5:24:25 PM UTC-4, Hristo Stoyanov wrote:
>
> Hi all,
> I wonder if anyone can help me figure out what is causing this - I am 
> getting* java.lang.IllegalStateException: Should only call onDetach when 
> the widget is attached to the browser's document* *. *See below. I 
> suspect this is a GWT exception of some kind, but the stack trace is 
> obfuscated and I can not figure out where the problem is. I tried 
> installing my exception handler with no success - the stack trace is still 
> useless:
>
>  Console.log("Exception logger INSTALLED!!!");
> GWT.setUncaughtExceptionHandler(e -> {
> GWT.log("Unhandled exception", e);
>  });
>
> This is happening with Errai 4 SNAPSHOT randomly, but if I figure out the 
> stack trace I can get better understanding of what is going on. How do I 
> get the stack trace ? How do I verify that the gwt Code server has all 
> source maps it needs???
>
> Thanks
>
>
> 
>
> Current content widget vanished or changed. Not delivering pageHiding 
> event to HomePage.
> ErraiConsoleLogHandler.java:87 14:11:26 WARNING 
> [DefaultNavigatingContainer] Got invalid page name "AboutPage". Redirecting 
> to default page.
> ErraiConsoleLogHandler.java:87* java.lang.IllegalStateException: Should 
> only call onDetach when the widget is attached to the browser's document*
> at Unknown.nC_g$(myApp-0.js@8:16163)
> at Unknown.TC_g$(myApp-0.js@9:16405)
> at Unknown._C_g$(myApp-0.js@9:16452)
> at Unknown.kLf_g$(myApp-0.js@9:47908)
> at Unknown.WBe_g$(myApp-0.js@18:37314)
> at Unknown.aCe_g$(myApp-0.js@14:37371)
> at Unknown.nCe_g$(myApp-0.js@14:37481)
> at Unknown.ZPj_g$(myApp-0.js@8:114529)
> at Unknown.ZBe_g$(myApp-0.js@36:37344)
> at Unknown.WPj_g$(myApp-0.js@16:114507)
> at Unknown.aOj_g$(myApp-0.js@17:113981)
> at Unknown.iAi_g$(myApp-0.js@3:88783)
> at Unknown.jAi_g$(myApp-0.js@15:88755)
> at Unknown.y2i_g$(myApp-0.js@32:98783)
> at Unknown.A2i_g$(myApp-0.js@17:98822)
> at Unknown.c6i_g$(myApp-0.js@45:99823)
> at Unknown._5i_g$(myApp-0.js@10:99802)
> at Unknown.KAi_g$(myApp-0.js@32:88955)
> at Unknown.L6i_g$(myApp-0.js@16:100106)
> at Unknown.B7i_g$(myApp-0.js@54:100343)
> at Unknown.AJj_g$(myApp-0.js@225:112594)
> at Unknown.PDj_g$(myApp-0.js@30:110774)
> at Unknown.QDj_g$(myApp-0.js@8:110787)
> at Unknown.SDj_g$(myApp-0.js@8:110800)
> at Unknown.FDj_g$(myApp-0.js@10:110638)
> at Unknown.Sii_g$(myApp-0.js@261:83179)
> at Unknown.lambda_0_g$(myApp-0.js@27:96)
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: [GWT 2.8 SHNAPSHOT] missing stack trace for 'Should only call onDetach when the widget is attached to the browser's document'

2016-09-27 Thread Paul Stockley
Sorry, I should also add if this is production, you can generate a symbol 
map file. Usually on my builds it is located under web-inf/deploy//.symbolMap. You can search for the obfuscated function 
names e.g. nC_g$  You can also do this lookup at run-time. I would have to 
dig up the code because I can't remember the GWT class you use.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Window.open does nothing in windows mobile 10 (IEEdge)

2016-09-27 Thread Paul
In a simple GWT test project it works. It must be something I'm doing with 
event capture. My application is complex so I'll have to try and workout 
what is stopping the window.open just for IEEdge on windows mobile10

IEEdge desktop is fine and so is chrome! Strange 

On Tuesday, September 27, 2016 at 10:52:31 AM UTC+1, Paul wrote:
>
> Window.open("http://www.google.co.uk","_blank","";)
>
> does nothing in windows mobile 10 (IEEdge) when running in GWT 2.7
>
> Any ideas?
>
> If I write a simple html page with the above javascript, then the browser 
> happily opens the google page on a new tab.
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Window.open does nothing in windows mobile 10 (IEEdge)

2016-09-27 Thread Paul
Window.open("http://www.google.co.uk","_blank","";)

does nothing in windows mobile 10 (IEEdge) when running in GWT 2.7

Any ideas?

If I write a simple html page with the above javascript, then the browser 
happily opens the google page on a new tab.



-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Very slow debugging form IDEA

2016-09-23 Thread Paul Stockley
A lot of people outside of the GWT community are also complaining that 
debugging in Chrome is really slow these days. 

On Friday, September 23, 2016 at 4:54:15 AM UTC-4, Jens wrote:
>
> Oh and we don't use Java8 yet. We use a GWT version somewhere between 2.7 
> and 2.8beta1. 
>
> I think the issue is more Chrome related.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: DateTimeFormat issue

2016-09-19 Thread Paul Robinson
Looks to me like this bug:
  https://gwt-review.googlesource.com/#/c/14430/

which was (coincidentally?) mentioned today here:

https://groups.google.com/d/msg/google-web-toolkit-contributors/33Zw3nP3q7o/eUSj5-eKEwAJ

Paul

On Mon, Sep 19, 2016 at 2:39 AM, Freddy Boucher 
wrote:

> Hi,
>
> Can someone help me to understand why this test fails (I'm using GWT
> 2.7.0):
>
> package com.threatmetrix.ccc.portal.widgets.barchart.client;
>
> import com.google.gwt.i18n.client.DateTimeFormat;
> import com.google.gwt.i18n.client.TimeZone;
> import com.google.gwtmockito.GwtMockitoTestRunner;
> import org.junit.Assert;
> import org.junit.Test;
> import org.junit.runner.RunWith;
>
> import java.util.Date;
>
> @RunWith(GwtMockitoTestRunner.class)
> public class DateTimeTest {
> @Test
> public void working() {
> Date date = new Date(145739520l);
> DateTimeFormat format = 
> DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.ISO_8601);
> String formattedDate = format.format(date, 
> TimeZone.createTimeZone(0));
>
> Assert.assertEquals("2016-03-08T00:00:00.000+00:00", formattedDate);
> Assert.assertEquals(date, format.parse(formattedDate));
> }
>
>
> @Test
> public void notWorking() {
> Date date = new Date(145963908l);
> DateTimeFormat format = 
> DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.ISO_8601);
> String formattedDate = format.format(date, 
> TimeZone.createTimeZone(0));
>
> Assert.assertEquals("2016-04-03T23:18:00.000+00:00", formattedDate);
> Assert.assertEquals(date, format.parse(formattedDate));
> }
> }
>
>
> Results:
>
>- DateTimeTest#*working()*: OK
>- DateTimeTest#*notWorking()*: there is a difference of 1 day between
>the *Expected* and the *Actual* date
>
>
> Log:
>
> java.lang.AssertionError:
> Expected :Sun Apr 03 09:18:00 AEST 2016
> Actual   :Mon Apr 04 09:18:00 AEST 2016
>   
>
>
>
> at com.threatmetrix.ccc.portal.widgets.barchart.client.
> DateTimeTest.notWorking(DateTimeTest.java:32)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at com.google.gwtmockito.GwtMockitoTestRunner.run(
> GwtMockitoTestRunner.java:301)
> at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(
> JUnit4IdeaTestRunner.java:117)
> at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(
> JUnit4IdeaTestRunner.java:42)
> at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(
> JUnitStarter.java:262)
> at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
>
> Thanks.
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Is GWT is Dead?

2016-09-07 Thread Paul Stockley
I think you are getting confused with Goggle Wave.

On Wednesday, September 7, 2016 at 5:07:41 AM UTC+1, Gourab wrote:
>
> >> ok then gmail being written in GWT is urban myth.
>
> It was rewritten in GWT and later reverted back to it's original 
> implementation. 
>
> On Wed, Sep 7, 2016 at 1:36 AM, Vassilis Virvilis  > wrote:
>
>> ok then gmail being written in GWT is urban myth.
>>
>> However looks like google group is written in GWT 
>> https://groups.google.com/forum/#!msg/google-web-toolkit/Mjjk5y9RQbw/hCWzIrZ1vzcJ
>>
>> On Tue, Sep 6, 2016 at 10:38 PM, Alain Ekambi > > wrote:
>>
>>> Gmail was created waaayyy before GWT was created.
>>>
>>> On 6 September 2016 at 21:31, Vassilis Virvilis >> > wrote:
>>>
 About 1) Isn't gmail written in GWT? I think I have read it somewhere...

 About 7) There is GWTcon2016 http://www.gwtcon.org/

 GWT doesn't look dead to me - but your questions have valid points.

Vassilis

 On Tue, Sep 6, 2016 at 2:38 PM, Ali Jalal >>> > wrote:

> Hi,
>
> I think GWT is not dead, but its development rate is decreased. I 
> think that last public product of Google which written in GWT was 
> Inbox 
>  
> which announced in late 2014. But AdWords 
> 
>  
> (one of main GWT applications in Google) were re-written by Dart and 
> AngularJS (which announced in March 2016).
>
> There are some good points about GWT which mentioned in this post 
>  
> and some pretty works about 2.8-RC2 release, JsInterop, GWTPolymer, 
> GWTMaterial, Angular2Boot, ...
>
> But there are some vague points about GWT:
>
> 1. Which projects in Google written based on GWT in 2015-2016?
> 2. Were there any change in steering committee 
>  members (companies) in last 
> two years?
> 3. New GWT compiler (J2CL) when will be released? Is its development 
> started yet?
> 4. Why there is no official Java (GWT) version of Angular2 
>  (while there are 
> JS, TypeScript & Dart versions)?
> 5. How many people in Google work in GWT team (compared to Dart & 
> AngularJs teams)?
> 6. What is other companies roadmap about investment & development 
> based on GWT (like Vaadin, Sencha, ...)?
> 7. Is there any planned GWT Con or GWT Create conferences?
>
> I'm developing various applications with GWT for about 8 years and I 
> really enjoy it. It seems GWT development rate is not good enough 
> compared 
> to other Google or Web tools and it makes me worried about its future.
>
> Is that correct?
>
> Regards.
>
>
> On Tue, Sep 6, 2016 at 10:26 AM, Ignacio Baca Moreno-Torres <
> ign...@bacamt.com > wrote:
>
>> Just curious, what and why are you waiting GWT 3? GWT is pretty 
>> awesome right now…
>>
>> On Tue, Sep 6, 2016 at 8:39 AM Ahamed > > wrote:
>>
>>> Team,
>>>   My Apologies for asking this question again.
>>>
>>> Is GWT is Dead or Alive ? From past 2 years i am waiting for GWT 3.0 
>>> but still is not released? Can any one from Steering committee explain 
>>> whats going on or Any progress on GWT 3.0 .   
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, 
>>> send an email to google-web-toolkit+unsubscr...@googlegroups.com 
>>> .
>>> To post to this group, send email to google-we...@googlegroups.com 
>>> .
>>> Visit this group at 
>>> https://groups.google.com/group/google-web-toolkit.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> -- 
>> You received this message because you are subscribed to the Google 
>> Groups "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, 
>> send an email to google-web-toolkit+unsubscr...@googlegroups.com 
>> .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at 
>> https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> -- 
> You received this message because you are subscribed to the Google 
> Groups "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to google-web-toolkit+unsubscr...@googlegroups.com 
> .
> To post to this group, send email to google-we...@googlegroups.com 
> .
> Visit this group at https://groups.google.com/gro

Re: CalenderUtil Date Math BUG - GWT 2.8 RC2

2016-09-01 Thread Paul Robinson
git tells me CalendarUtil.java is the same in 2.7 and 2.8RC2. So yes, the
code should behave the same.

But the above behaviour is not wrong because it's standard Java behaviour.

Whether you use Date.setMonth(n) or Calendar.set(Calendar.MONTH, n) Java
behaves the same way. That is, if you start on August 31, and set the month
to September, then you find you are on October 1.


On Thu, Sep 1, 2016 at 10:01 AM, Daniel Kurka 
wrote:

> Does this code do the same thing in 2.7?
>
> On Wed, Aug 31, 2016 at 11:41 PM Paul Robinson  wrote:
>
>> You don't say what part of this you think is a bug. I presume it's the
>> fact that Aug 31 plus one month is Oct 1. If so, this is not a bug.
>>
>> Adding one month should do literally that, so you get September 31. But
>> there are only 30 days in September, so this automatically becomes October
>> 1.
>>
>> Paul
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to google-web-toolkit+unsubscr...@googlegroups.com.
>> To post to this group, send email to google-web-toolkit@googlegroups.com.
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: CalenderUtil Date Math BUG - GWT 2.8 RC2

2016-08-31 Thread Paul Robinson
You don't say what part of this you think is a bug. I presume it's the fact
that Aug 31 plus one month is Oct 1. If so, this is not a bug.

Adding one month should do literally that, so you get September 31. But
there are only 30 days in September, so this automatically becomes October
1.

Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Best Practice for JSON object recreation on client

2016-08-18 Thread Paul Stockley
I wrote a set of utilities using the new JsInterop capability in 2.8 that 
provides one way of handling JSON. Take a look at the documentation 
here https://github.com/GWTReact/gwt-interop-utils/blob/master/DOCUMENTATION.md

We use Jackson on the server for handling the translation from JSON to Java 
objects

On Thursday, August 18, 2016 at 5:35:34 AM UTC-4, Jens wrote:
>
>
> Why would it? You may want to use JsInterop to call JSON.parse() instead 
>> of using JsonUtils and casts from JavaScriptObject, but I believe it'd just 
>> work otherwise (can't try it ATM though)
>
>
> You can not use a Java Collection as field so you would need some 
> conversion to JsArray that JsInterop / JSON.parse() can handle but 
> otherwise it should work well.
>
> -- J.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: working in beta but not in latest git

2016-08-09 Thread Paul Stockley
Your assumption is true for Boolean and Double but not the other boxed 
types.

On Tuesday, August 9, 2016 at 10:39:53 AM UTC-4, Vassilis Virvilis wrote:
>
> From my understanding (which is not much) the whole point is moot. Looks 
> like java Boxed types (Boolean, Double, Integer) are mapped directly to JS 
> primitives so the need for the above code is gone. Is that right?
>
> If yes and just for the shake of syntax curiosity: what is the correct 
> syntax to invoke the booleanValue() of a Boolean object?
>
> Thanks for helping me clearing this up.
>
> On Tue, Aug 9, 2016 at 5:33 PM, Jens > 
> wrote:
>
>>
>> https://github.com/gwtproject/gwt/issues/9356 suggests that
>>>value.@Boolean::booleanValue() is rejected but 
>>> value@Boolean::booleanValue()() works?
>>>
>>
>> Yes but they are two different things. The first syntax returns the JS 
>> function itself (method reference) while the second one executes the 
>> function and returns its return value. So you have changed the code from 
>> "Does the function exist on 'value'" to "execute the function (=> and throw 
>> a JS error if it does not exist)". 
>>
>> Method references are forbidden for Double, Boolean and String. Method 
>> calls are allowed.
>>
>> -- J. 
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to google-web-toolkit+unsubscr...@googlegroups.com .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Vassilis Virvilis
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Ui Binder Alternatives

2016-07-26 Thread Paul Stockley
I think there is a good chance that Widgets / UiBinder in some form could 
get ported to GWT 3.0. Probably not by google and probably in separate 
projects from the main GWT compiler stack.

On Monday, July 25, 2016 at 7:58:50 PM UTC-4, Gilberto wrote:
>
> Nobody really knows how GWT 3 will be for sure, but I assume GWT 3.0 will 
> be less of a framework and more of a transpiler from Java to Javascript, 
> which other frameworks will be built on top of it.
>
> So I wouldn't expect a simple template engine to replace UiBinder, but 
> full featured frameworks. You'll have to choose one or implement your own.
>
> But that's for 3.0.
>
> Meanwhile, I see Errai as a very good option, since you can use the HTML 
> template right from your designers, with minimal-to-none modifications to 
> link with your logic code. That's something pretty hard to achieve with 
> UiBinder.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Ui Binder Alternatives

2016-07-25 Thread Paul Stockley
One option when 2.8 is released would be to use GWT React (
https://github.com/GWTReact/gwt-react). React is a good substitute for the 
view layer and can be integrated with existing widgets so you can migrate 
your way to a UiBinderless approach.

On Saturday, July 23, 2016 at 9:40:02 PM UTC-4, N Troncoso wrote:
>
> With GWT 3.0, Widgets and UI Binder is losing support. Even besides that, 
> I'm not a huge fan of UI Binder. I'd really just prefer to use vanilla 
> HTML. With that said, I've been searching for other options and I've only 
> found that alternatives are very limited. Even more so, examples of how to 
> integrate alternatives into GWT are basically non-existent. So, my question 
> is, what can I use instead of Widgets and UI Binder and where can I find 
> examples/tutorials/documentation on how to use them in GWT.
>
> I found Errai  as one option. But, this seems 
> to be an entire framework, rather than just a template system.
>
> Any insight would be greatly appreciated. Thanks
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT RPC in GWT 3.0+

2016-07-13 Thread Paul Robinson
On 13 Jul 2016 9:17 a.m., "Kay Pac"  wrote:
>
> Will the gwt serialization mechanism used in GWT-RPC remain? GWT object
serialization has been plugged into the atmosphere (realtime
communication/websockets) GWT extension. It would be useful to know if we
should migrate away from the GWT serialization and towards JSON.

It's the serialisation that's the problem, so it will be gone in 3.0. JSON
is a good choice. (I'm moving that way)

Paul

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT OAuth2 Open Source Release

2016-07-12 Thread Paul Mazzuca
You are correct. The RFC makes the distinction that "dynamically issued
credentials such as access tokens or refresh tokens can received an
acceptable level of protection" in a native application.  However, the
lines certainly can be blurred with a Cordova App which is both a user
agent based application and a native application.

I guess the question still remains, what is the GWT recommended flow for
performing OAuth if it is desired to keep a user logged in beyond the
expiration of an access token?

On Tue, Jul 12, 2016 at 9:55 AM, Thomas Broyer  wrote:

> It amounts to knowledge by the AS whether this is a confidential or public
> client. When registering a native app, Google knows that it can only be a
> public app. When registering a web app, they can assume this will be a
> confidential client and expect you to keep the secret, well, secret. The AS
> (Google) can then have different policies regarding what scopes they allow,
> or how they present the consent screen and admin panel, depending on the
> type of client.
>
> Have a look at the definition of both types of clients in RFC 6749.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "GWT Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/google-web-toolkit/I4gXb4QLWtQ/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Regards,

Paul Mazzuca
Founder and CEO
<https://koozamo.com>


*Recent Software*

<https://www.podpay.co>
<https://itunes.apple.com/us/app/podpay/id834765416?mt=8>
<http://play.google.com/store/apps/details?id=com.koozamo.podpay>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: GWT OAuth2 Open Source Release

2016-07-12 Thread Paul Mazzuca
After reading some of the docs further, I think some of the confusion
stemmed from how Google describes that an Installed App can execute a
Authorization Code Flow (
https://developers.google.com/identity/protocols/OAuth2).


In this case, the doc suggests that the  “process results in a client ID
and, in some cases, a client secret, which you embed in the source code of
your application. (In this context, the client secret is obviously not
treated as a secret.)…The application should store the refresh token for
future use and use the access token to access a Google API. Once the access
token expires, the application uses the refresh token to obtain a new one.”



One could draw many similarities between a GWT app and native app.  The
question I have is why is a native App allowed to store this “sensitive”
data and not a GWT application.


Are we presuming that a binary, which can be decompiled and is in the
user’s control,  provides such a greater amount of security of secrets over
HTML 5 web storage that it is okay to store sensitive tokens in a native
app but not in a GWT app, especially when it just takes one curious user to
find the same client_secret stored in all other native app installs?

On Mon, Jul 11, 2016 at 9:45 AM, Thomas Broyer  wrote:

> There are many many many small things that are either wrong, or
> inappropriate, or inappropriately described.
>
> On Thursday, July 7, 2016 at 1:22:55 AM UTC+2, Paul Mazzuca wrote:
>>
>> I thought that it might be a good idea to update the existing GWT-OAuth2
>> project from 2011.  I know that I have certainly needed a reliable
>> framework for just about all of my projects, and unfortunately the old one
>> is too out of date for my use cases.   Let me know what you think and
>> contributions are definitely welcome.  Ideally, with the help of the
>> community, we can create a truly robust GWT module.
>>
>> Just to give you a quick summary, I have done the following:
>>
>> - Added authorization code flow with refresh tokens and JSON Web Tokens
>>
>
> JWT is a "format". What you're actually talking about is ID Tokens.
> ID Tokens, contrary to all other OAuth tokens and codes, and not opaque.
> They serve (almost) no other goal than authenticating the user (whereas
> OAuth is about authorization).
> ID Tokens come from OpenID Connect, which adds authentication on top of
> OAuth 2.
> See also http://oauth.net/articles/authentication/
>
>
>> - Added support for Cordova
>>
>
> Do not use WebViews for authentication or authorization, use true "in-app
> browsers" (aka Chrome Custom Tabs on Android, and SFSafariViewController on
> iOS) and fallback to true browsers, but do not use WebViews.
> See https://tools.ietf.org/html/draft-ietf-oauth-native-apps for the
> rationale.
>
>
>> - Hopefully made it a little easier to navigate
>> - Started to implement JsInterop
>> - Google Provider support
>>
>
> If you intend to use this as authentication (generally, when accessing the
> user's profile info, one wants authentication, not just authorization),
> then use OpenID Connect.
>
>
>> - Some Facebook provider support
>>
>> What would be nice:
>> - To make sure it is truly secure and robust through your contributions
>> and discussion
>>
>
> Implicit Flow is meant specifically for cases where there's no server.
> It's inherently less secure than the Authorization Code Flow.
> If you have a server component (that does more than just serving static
> assets), then use the Authorization Code Flow, and do not by any mean share
> the tokens with the JS client.
> See
> https://mailarchive.ietf.org/arch/msg/oauth/CI7xu-5u8O6VTeArl5gLvg2QzNE
>
> In your "security considerations" in your readme, you seem to mix up your
> client and server components, and possibly misunderstand the documents
> you're linking too.
> Your client_secret should be kept as secret as possible (sic!), so it must
> not appear in your client app; the authorization code flow is meant to be
> done by a server component (servlet, whatever).
> If it does (as is likely the case with Cordova, or any type of
> "installed/native app"), then the client_secret is not really a secret, and
> the app should not be viewed as a "private client" (in OAuth parlance). So
> care should be taken to not grant too much access to such apps (just like
> for the Implicit Flow, which doesn't even require a client_secret).
> The Google documentation you're linking to is specifically about
> "server-side web apps" (you'll notice that toe doc about "javascript web
> apps" describes the Implicit Flow)
>
> See also
> http://lists

Re: GWT OAuth2 Open Source Release

2016-07-11 Thread Paul Mazzuca
Thomas, thanks for all the feedback, and thanks again for taking the time.
This is exactly what we were hoping for.  We will need some time to read
through the references you have provided. Once we get through them, I will
be sure to respond back in the forum.

A couple of points that I think I can respond to right now though...

As far as writing an implementation from scratch, though I see the
reasoning behind it, especially given the complexity of
authentication/authorization, I still see value in at least in *trying* to
build a library for the same reasons why developers build libraries in the
first place.  Just as errors can arise in trying to make a complex protocol
expressed in a simple API, so do errors arise when trying to rewrite from
scratch each time.

In regards to the security considerations, is there an issue with not
viewing your App as a "private client" as you say?  Why not just consider
the client_secret as not that secret?  Native Apps seem to do it all the
time and Google suggests that flow for Native Apps in its docs?







On Mon, Jul 11, 2016 at 9:45 AM, Thomas Broyer  wrote:

> There are many many many small things that are either wrong, or
> inappropriate, or inappropriately described.
>
> On Thursday, July 7, 2016 at 1:22:55 AM UTC+2, Paul Mazzuca wrote:
>>
>> I thought that it might be a good idea to update the existing GWT-OAuth2
>> project from 2011.  I know that I have certainly needed a reliable
>> framework for just about all of my projects, and unfortunately the old one
>> is too out of date for my use cases.   Let me know what you think and
>> contributions are definitely welcome.  Ideally, with the help of the
>> community, we can create a truly robust GWT module.
>>
>> Just to give you a quick summary, I have done the following:
>>
>> - Added authorization code flow with refresh tokens and JSON Web Tokens
>>
>
> JWT is a "format". What you're actually talking about is ID Tokens.
> ID Tokens, contrary to all other OAuth tokens and codes, and not opaque.
> They serve (almost) no other goal than authenticating the user (whereas
> OAuth is about authorization).
> ID Tokens come from OpenID Connect, which adds authentication on top of
> OAuth 2.
> See also http://oauth.net/articles/authentication/
>
>
>> - Added support for Cordova
>>
>
> Do not use WebViews for authentication or authorization, use true "in-app
> browsers" (aka Chrome Custom Tabs on Android, and SFSafariViewController on
> iOS) and fallback to true browsers, but do not use WebViews.
> See https://tools.ietf.org/html/draft-ietf-oauth-native-apps for the
> rationale.
>
>
>> - Hopefully made it a little easier to navigate
>> - Started to implement JsInterop
>> - Google Provider support
>>
>
> If you intend to use this as authentication (generally, when accessing the
> user's profile info, one wants authentication, not just authorization),
> then use OpenID Connect.
>
>
>> - Some Facebook provider support
>>
>> What would be nice:
>> - To make sure it is truly secure and robust through your contributions
>> and discussion
>>
>
> Implicit Flow is meant specifically for cases where there's no server.
> It's inherently less secure than the Authorization Code Flow.
> If you have a server component (that does more than just serving static
> assets), then use the Authorization Code Flow, and do not by any mean share
> the tokens with the JS client.
> See
> https://mailarchive.ietf.org/arch/msg/oauth/CI7xu-5u8O6VTeArl5gLvg2QzNE
>
> In your "security considerations" in your readme, you seem to mix up your
> client and server components, and possibly misunderstand the documents
> you're linking too.
> Your client_secret should be kept as secret as possible (sic!), so it must
> not appear in your client app; the authorization code flow is meant to be
> done by a server component (servlet, whatever).
> If it does (as is likely the case with Cordova, or any type of
> "installed/native app"), then the client_secret is not really a secret, and
> the app should not be viewed as a "private client" (in OAuth parlance). So
> care should be taken to not grant too much access to such apps (just like
> for the Implicit Flow, which doesn't even require a client_secret).
> The Google documentation you're linking to is specifically about
> "server-side web apps" (you'll notice that toe doc about "javascript web
> apps" describes the Implicit Flow)
>
> See also
> http://lists.openid.net/pipermail/openid-specs-ab/Week-of-Mon-20151116/005865.html
> (which is what I believe Google is using for their "Logi

Re: GWT OAuth2 Open Source Release

2016-07-11 Thread Paul Mazzuca
Thanks Gilberto.  I think that's a great idea, however I would like to get
more feedback and have an opportunity to address key issues first,
especially in regards to Thomas Boyer's recent comments.   Once we get
through those issues and updates, definitely.  GWT Material is a fantastic
project by the way.


On Mon, Jul 11, 2016 at 8:46 AM, Gilberto 
wrote:

> Looks amazing Paul!
>
> Do you have interest in building a template/example project, covering all
> the common auth scenarios, in partnership with GWT Material
> <https://github.com/GwtMaterialDesign/gwt-material>?
>
> I talked with Mark Kevin (the founder of GWT Material) about it and I
> think we could make an interesting starter project for the community.
>
> I also would like to test it with gwt-views
> <https://github.com/gilberto-torrezan/gwt-views> ;-)
>
>
> Cheers,
>
> Gilberto
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "GWT Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/google-web-toolkit/I4gXb4QLWtQ/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> To post to this group, send email to google-web-toolkit@googlegroups.com.
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Regards,

Paul Mazzuca
Founder and CEO
<https://koozamo.com>


*Recent Software*

<https://www.podpay.co>
<https://itunes.apple.com/us/app/podpay/id834765416?mt=8>
<http://play.google.com/store/apps/details?id=com.koozamo.podpay>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


GWT OAuth2 Open Source Release

2016-07-06 Thread Paul Mazzuca
I thought that it might be a good idea to update the existing GWT-OAuth2 
project from 2011.  I know that I have certainly needed a reliable 
framework for just about all of my projects, and unfortunately the old one 
is too out of date for my use cases.   Let me know what you think and 
contributions are definitely welcome.  Ideally, with the help of the 
community, we can create a truly robust GWT module. 

Just to give you a quick summary, I have done the following:

- Added authorization code flow with refresh tokens and JSON Web Tokens
- Added support for Cordova
- Hopefully made it a little easier to navigate
- Started to implement JsInterop 
- Google Provider support
- Some Facebook provider support

What would be nice:
- To make sure it is truly secure and robust through your contributions and 
discussion

https://github.com/Koozamo/ezgwt-oauth


-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: Are GWT widgets "heavy" ?

2016-07-05 Thread Paul Stockley
If you make any calls that retrieve the size of an element then this will 
cause a re-flow even within a javascript block.

On Tuesday, July 5, 2016 at 12:36:38 PM UTC-4, fenyoapa wrote:
>
> "*This causes the browser to recalculate and repaint the page each time 
>> you append a single search item to the DOM*"
>
>
>
> I think this is true only if he uses some async method that allow the 
> browser to repaint. If not, then the repaint occures only once, when the 
> search results loop finished
>
> 2016. július 5., kedd 17:53:26 UTC+2 időpontban Jens a következőt írta:
>>
>> I wouldn't call them heavy but I would not use a widget in cases I don't 
>> need events, e.g. taking a UiBinder example:
>>
>> 
>>   
>> 
>>click me 1
>>click me 2
>> 
>> 
>>click me 1
>>click me 2
>> 
>>   
>> 
>>
>> In the above you are only interested in events for your labels and all 
>> the FlowPanels do not provide real value. IF you are familiar with HTML and 
>> CSS then you could use
>>
>> 
>>   
>> 
>>click me 1
>>click me 2
>> 
>> 
>>click me 1
>>click me 2
>> 
>>   
>> 
>>
>> The above uses less DOM operations to build the UI and needs less memory 
>> because there are fewer JavaScript objects pointing to DOM elements (= less 
>> GWT widgets).
>>
>> Some side notes: 
>>
>>- When you build a large list of widgets as in your search result, 
>>then do not append all the search result entries to a container in a 
>>for-loop if that container is already attached to the DOM. This causes 
>> the 
>>browser to recalculate and repaint the page each time you append a single 
>>search item to the DOM. Instead detach the container, fill it with the 
>>search results and then attach it again (or create a new container and 
>>replace the old one).
>>- Use pagination
>>- If you can't use pagination for any reason, consider only render 
>>the items that are visible. If you have 1000 search results but only 20 
>> are 
>>visible in the scroll panel, then only render 40 or so and render 
>>additional entries when the user scrolls to them.
>>- Only show the top 20 search results and add a "show more" button or 
>>let users redefine their search until their desired result is in the top 
>> 20.
>>
>>
>> Basically if your list is so long that it starts to get slow then you 
>> most likely have a general usability/UI problem because nobody will scroll 
>> through such long lists anyways.
>>
>> -- J.
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


gwt-interop-utils release on Maven Central

2016-06-18 Thread Paul Stockley
I have pushed an initial version of gwt-interop-utils to Maven Central. 
Thanks for everyone's feedback. I have incorporated what I think makes 
sense. The documentation has been updated to reflect the changes.

I am sure the library will evolve as GWT2.8 gets closer to release and we 
see what elemental 2 brings.

I have updated all of the GWTReact projects to use gwt-interop-utils and 
pushed new versions to Maven Central.

My focus now is to make React and MobX production ready.

https://github.com/GWTReact/gwt-interop-utils

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop and Java collections?

2016-06-09 Thread Paul Stockley
As Thomas says, it will be impossible to support passing any of the 
collection interfaces directly through to JS code. You might think however, 
that you could change the implementation of ArrayList to actually be a JS 
Array. I don't think this is possible either because an instance of 
ArrayList needs to fulfill the Java contract of being able to know which 
interfaces it implements. This is done by having special meta data attached 
to the object prototype. The minute you start touching the Array prototype 
you have the potential of incompatibility with existing JS code.

Having said that, it is totally possible to implement an adapter to make a 
JS array look like a List. Below is a very hacky way to do it (the example 
uses the Array JsNative interface I defined but you could do the same with 
JsArray)

*native * List asList(Array a) */*-{
**l** = @java.util.ArrayList::new()()
**l...@java.util.ArrayList::array ** = a;
return **l**;
}-*/*;

Array jsArray = Array.*create*();

jsArray.push(*"val1"*);
jsArray.push(*"val2"*);

List lArray = asList(jsArray);


//Any changes to lArray will reflect in jsArray and vice versa


lArray.add(*"val3"*);
jsArray.push(*"val4"*);


I strongly do not recommend using  the above approach. A better way would be to 
create an adapter class that takes the native Array to wrap in the constructor 
and implements the List methods. I have implemented this in my library.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop and Java collections?

2016-06-09 Thread Paul Stockley
As Thomas, says it will be impossible to support passing any of the 
collection interfaces directly through to JS code. You might think however, 
that you could change the implementation of ArrayList to actually be a JS 
Array. I don't think this is possible because an instance ArrayList needs 
to fulfill the Java contract of being able to know which interfaces it 
implements. This is done by having special meta data attached to the object 
prototype. The minute you start touching the Array prototype you have the 
potential of incompatibility with existing JS code.

Having said that, it is totally possible to have a native JS array Interop 
interface provide an adapter to make it look like a List. Below is a very 
hacky way to do it using the Array interface I defined.

*private native * List asList(Array a) */*-{
**l** = @java.util.ArrayList::new()()
**l...@java.util.ArrayList::array ** = a;
return **l**;
}-*/*;

Array jsArray = Array.*create*();

jsArray.push(*"val1"*);
jsArray.push(*"val2"*);

List lArray = asList(jsArray);



lArray.add(*"val3"*);
jsArray.push(*"val4"*);

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: gwt-inerop-utils preview

2016-06-03 Thread Paul Stockley
Jens,
I can see your point, about the usability when you get many arguments. 
Originally I was going to kind of mirror the Java JDK and not go more than 
2. Personally, I think it is a lot better to define custom interfaces when 
possible. To avoid having hundreds of class files I have started making 
them local to the API classes. I think this helps with readability.  

The case when the generic functions are useful is when you are prototyping 
a new API or porting some exsting javascript code. Hristo, what is an 
actual case where you need 4 or 5 parameters? 

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: gwt-inerop-utils preview

2016-06-03 Thread Paul Stockley
Jens,

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: gwt-inerop-utils preview

2016-06-02 Thread Paul Stockley
I will take a look at the putnami-gradle-plugin. I noticed Steffan's didn't 
seem to be supported. Thanks for the offer on migration. The projects are a 
bit in flux at the moment so probably better off not submitting a pull 
request until I have landed all the gwt-interop-utils changes.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: gwt-inerop-utils preview

2016-06-02 Thread Paul Stockley
I will add 4 and 5 arg interfaces. I think I can include something 
equivalent with your above code. I already have getters/setters and is 
defined functions for objects. All you would need to do is pass $wnd into 
these. Let me have a play around and see what I can come up with.

On Thursday, June 2, 2016 at 4:50:08 PM UTC-4, Hristo Stoyanov wrote:
>
> Thanks Paul,
> I was about to start releasing similar code 
> <https://github.com/hrstoyanov/gwt-functions/tree/master/src/main/java/org/gwtproject/functions/client>
> . 
> It does not make sense to do the same thing twice and obviously such 
> utility code is necessary. So, I will use your project as it seems a bit 
> more advanced and start contributing!
>
> Quick request before I adopt it in my libraries today:
> - Can you add functional interfaces with 4 and 5 arguments. I think you 
> have them up to 3 only, but I do face JS libraries with 4 and 5.
> - Do you have similar utils as the one below? If not, would it be possible 
> to incorporate something like it in your projects?
>
> /**
>  * JavaScript global variables and functions utils.
>  *
>  */
> //@JsType(isNative = true, namespace = JsPackage.GLOBAL)
> public abstract class VariablesAndFunctions {
>
> public native static  T eval(String expresion);
>
> //@JsOverlay
> //public boolean isJSVariableDefined(String jsVariableName) {
> //return Boolean.TRUE.equals(eval("!!window[" + jsVariableName + 
> "]"));
> //}
> //
> //@JsOverlay
> //public static  T getJSVariableValue(String jsVariableName) {
> //return eval("!!window[" + jsVariableName + "]");
> //}
> public static native String getStringJSVariable(String jsVar) /*-{
> return $wnd[jsVar].toString();
> }-*/;
>
> public static native Object getJSVariable(String jsVar) /*-{
> return $wnd[jsVar];
> }-*/;
> 
> public static native boolean isVariableDefined(String jsVar)/*-{
> return !!$wnd[jsVar];
> }-*/;
>
> public static native boolean isFunctionDefined(String functionName)/*-{
> return typeof functionName == 'function';
> }-*/;
> }
>
>
>
> On Thursday, June 2, 2016 at 11:57:46 AM UTC-7, Paul Stockley wrote:
>>
>> I have committed an initial version of gwt-interop-utils. 
>>
>> https://github.com/GWTReact/gwt-interop-utils
>>
>> This library provides some common utilities for working with JsInterop 
>> e.g.
>>
>> 1) Object Literal support
>> 2) Shared JSON compatible structures
>> 3) Common functional interfaces
>> 4) JSON utilities
>> 5) Low level Javascript utilities.
>>
>> One of my major goals was to enable creating complex object literals with 
>> arrays and maps that could be represented by a single class, accessible 
>> both on the client and server. You can now define a class such as
>>
>> import gwt.interop.utils.shared.collections.Array;
>> import gwt.interop.utils.shared.collections.StringMap;
>> import gwt.interop.utils.shared.valuetypes.NumberValue;
>>
>> @JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Object")
>> public class CommonDataObject {
>> public int intVal;
>> public double doubleVal;
>> public boolean booleanVal;
>> public String stringVal;
>> public NumberValue numberVal;
>> public Array anArray;
>> public StringMap aMap;
>> public CommonDataObject2 embeddedObj;
>>
>> @JsOverlay
>> public static CommonDataObject create() {
>> CommonDataObject o = new CommonDataObject();
>> o.intVal = 10;
>> o.doubleVal = 20.20;
>> o.booleanVal = true;
>> o.stringVal = "A String Value";
>> o.numberVal = NumberValue.from(10);
>> o.anArray = Array.create();
>>
>> o.anArray.set(0, "ArrayValue1");
>> o.anArray.set(2, "ArrayValue2");
>> o.anArray.set(2, "ArrayValue3");
>>
>> o.aMap = StringMap.create();
>>
>> o.aMap.put("v1", "A Map Value 1");
>> o.aMap.put("v2", "A Map Value 2");
>>
>> o.embeddedObj = new CommonDataObject2();
>> o.embeddedObj.field1 = "An embbeded object field";
>> return o;
>> }
>>
>> @JsOverlay
>> public final String convolutedSharedMethod(String someArg) {
>> StringBuilder o = new StringBuilder();
>>
>> anArray.forEachElem((e) -> {
>> o.append(aMap.get(someArg));
>> o.append(embeddedObj.field1);
>> o.append(e);
>> });
>>
>> return o.toString();
>> }
>> }
>

gwt-inerop-utils preview

2016-06-02 Thread Paul Stockley
I have committed an initial version of gwt-interop-utils. 

https://github.com/GWTReact/gwt-interop-utils

This library provides some common utilities for working with JsInterop e.g.

1) Object Literal support
2) Shared JSON compatible structures
3) Common functional interfaces
4) JSON utilities
5) Low level Javascript utilities.

One of my major goals was to enable creating complex object literals with 
arrays and maps that could be represented by a single class, accessible 
both on the client and server. You can now define a class such as

import gwt.interop.utils.shared.collections.Array;
import gwt.interop.utils.shared.collections.StringMap;
import gwt.interop.utils.shared.valuetypes.NumberValue;

@JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Object")
public class CommonDataObject {
public int intVal;
public double doubleVal;
public boolean booleanVal;
public String stringVal;
public NumberValue numberVal;
public Array anArray;
public StringMap aMap;
public CommonDataObject2 embeddedObj;

@JsOverlay
public static CommonDataObject create() {
CommonDataObject o = new CommonDataObject();
o.intVal = 10;
o.doubleVal = 20.20;
o.booleanVal = true;
o.stringVal = "A String Value";
o.numberVal = NumberValue.from(10);
o.anArray = Array.create();

o.anArray.set(0, "ArrayValue1");
o.anArray.set(2, "ArrayValue2");
o.anArray.set(2, "ArrayValue3");

o.aMap = StringMap.create();

o.aMap.put("v1", "A Map Value 1");
o.aMap.put("v2", "A Map Value 2");

o.embeddedObj = new CommonDataObject2();
o.embeddedObj.field1 = "An embbeded object field";
return o;
}

@JsOverlay
public final String convolutedSharedMethod(String someArg) {
StringBuilder o = new StringBuilder();

anArray.forEachElem((e) -> {
o.append(aMap.get(someArg));
o.append(embeddedObj.field1);
o.append(e);
});

return o.toString();
}
}

@JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Object")
public class CommonDataObject2 {
public String field1;
}

Instances of this class can be encoded to/from JSON using standard JSON 
functions. You can also create/use the same class on the server and full 
emulation is provided. Given this setup, it gives you a lot of the benefits 
of GWT RPC (i.e. shared data objects and behavior across client/server) 
without the code bloat or performance hit.

Before I publish it to Maven, I still need to finish the docs and do some 
more testing. I am also waiting for some compiler fixes to land.

Please take a look and let me know if there are any changes/additions you 
would like.

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


Re: JsInterop receipts for simple JSNI code ?

2016-05-27 Thread Paul Stockley
Will this be for J2CL only?

On Thursday, May 26, 2016 at 6:35:36 PM UTC-4, Goktug Gokdogan wrote:
>
> JsInterop will provide some base classes for stuff that are not possible 
> with JsInterop annotations.
>
> On Wed, May 25, 2016 at 1:30 PM, Paul Stockley  > wrote:
>
>> Eval is really slow. I would use JSNI. Eventually I think J2CL will have 
>> a way to execute javascript. Just isolate the JSNI in a helper class so it 
>> can easily be replaced.
>>
>>
>> On Wednesday, May 25, 2016 at 3:35:07 PM UTC-4, Hristo Stoyanov wrote:
>>>
>>> Actually, it might be possible to do it with JsInterop only:
>>>
>>> class Globals {
>>>
>>> @JsMethod(namespace=GLOBAL)
>>> public native Object eval(String expresion);
>>> 
>>> @JsOverlay
>>> public native boolean isVariableDefined(String varName){
>>>  return Boolean.TRUE.equals(eval("!!window['"+varName+"']"));
>>> }
>>>
>>> }
>>>
>>> I guess, you can also use JSON.safeEval() ... but we dont know if will 
>>> survive  in J2CL.
>>>
>>>
>>> On Wednesday, May 25, 2016 at 12:21:26 PM UTC-7, Hristo Stoyanov wrote:
>>>>
>>>> Jens,
>>>> Thanks, so apparently JsInterop cannot be a complete replacement of 
>>>> JSNI?
>>>>
>>>> I was hoping to be able to wrap in @JsType(native = true) something 
>>>> like Object.keys(window) 
>>>> <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys>
>>>>
>>>> On Tuesday, May 24, 2016 at 5:11:39 PM UTC-7, Jens wrote:
>>>>>
>>>>> You still need to use JSNI for accessing these properties. Depending 
>>>>> on the API you want to build you could define @JsOverlay methods inside 
>>>>> @JsType(native = true) classes and let them delegate to a JSNI based 
>>>>> utility class.
>>>>>
>>>>> -- J.
>>>>>
>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "GWT Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to google-web-toolkit+unsubscr...@googlegroups.com .
>> To post to this group, send email to google-we...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/google-web-toolkit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.


  1   2   3   4   5   6   7   8   9   10   >