GWT 2.9 compatiblity with GXT 2.3.1a

1,017 views
Skip to first unread message

Priya Kolekar

unread,
Jun 11, 2020, 8:13:31 AM6/11/20
to GWT Users
Hi All,

Currently our application has below versions -
1. GWT - 2.8.2
2. GXT - 2.3.1a

We are planning to upgrade GWT from 2.8.2 to 2.9.0. But have query regarding its compatibility towards GXT 2.3.1a.
I have gone through GXT Compatiblity version matrix page, but found nowhere officially mentioned that its supported.
So can you please confirm that GWT 2.9 is officially supported with GXT 2.3.1a?

Michael Conrad

unread,
Jun 11, 2020, 9:11:32 AM6/11/20
to google-we...@googlegroups.com
Even if other GXT users share their experiences with that framework in combination with GWT 2.9.0, especially considering the old version of GXT specified, unless the GXT team runs tests and validates against 2.9.0 and the GXT team specifically gives the "officially supported" label. You should not consider the combination officially supported. And I think it would be for the GXT team to determine that, not the GWT team.
--
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/2829460d-9008-4a2a-a09c-8fcbdd76e3f7o%40googlegroups.com.

Ricardo Serathiuk

unread,
Jun 11, 2020, 9:21:53 AM6/11/20
to google-we...@googlegroups.com
Hi,

We've tried the GXT 2.3.1a with the GWT 2.9.0 in our application and It has worked well. We have put our application in production with GXT 2.3.1a and GWT 2.9.0 without problems. I don't believe the GXT 2.3.1a will have official support for the GWT 2.9.0 because the 2.3.1a is an outdated version of GXT. This version of GXT was released in 2014.

--
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/2829460d-9008-4a2a-a09c-8fcbdd76e3f7o%40googlegroups.com.


--
Ricardo Serathiuk

Ricardo Serathiuk

unread,
Jun 11, 2020, 9:22:05 AM6/11/20
to GWT Users
Hi,

We've tried the GXT 2.3.1a with the GWT 2.9.0 in our application and It has worked well. We have put our application in production with GXT 2.3.1a and GWT 2.9.0 without problems. I don't believe the GXT 2.3.1a will have official support for the GWT 2.9.0 because the 2.3.1a is an outdated version of GXT. This version of GXT was released in 2014.

Colin Alworth

unread,
Jun 11, 2020, 9:36:21 AM6/11/20
to GWT Users
There are multiple problems with using GXT 2.x with a recent version of GWT (anything since GWT 2.6 or so, released in 2014). Sencha hasn't offered support for GXT 2 since version 4 was released (and doesn't appear to provide support for GXT 4 any longer either), but the last time I ran into this, I was able to successfully change a few .java files in the jar and recompile to continue using GXT 2.

But as Michael said, while GWT 2.6, 2.7, 2.8, 2.9 have added features and browser support, these will not necessarily help old GXT builds to have bug fixes also, though it may still improve your compiled output size and runtime performance.

Ricardo Serathiuk

unread,
Jun 11, 2020, 10:22:57 AM6/11/20
to GWT Users
When we have migrated to GWT 2.6, We changed the GXT com.extjs.gxt.ui.client.image.XImages class to extend ClientBundle and changed its methods to return an ImageResource. After that, we changed the components to utilize ImageResource instead of AbstractImagePrototype. We made some other minor fixes which I don't remember now. We have been using newer versions since its launch without problems with these modifications. We have tested the version GWT 2.9.0 with this update and worked fine for us.

Priya said about version GWT 2.8.2, because of that I believe her company has made some updates on GXT by yourselves. And about the migration from 2.8.2 to 2.9.0, in my company, we haven't had problems with that. :)

Hari

unread,
Feb 18, 2021, 1:32:06 PM2/18/21
to GWT Users
Hi we are trying to upgrade as well with GXT 2.3.1a  and GWT 2.9.0, could you please let me know if you were successful in your upgrade and any pitfalls which we need to be avoid.

Ricardo Serathiuk

unread,
Feb 18, 2021, 2:55:50 PM2/18/21
to google-we...@googlegroups.com
We have successfully updated a big ERP application. First of all, we have changed the GWT version to a new version. After that, we have fixed all the errors. I don't remember all the steps, because It was years ago. Some methods were removed on GXT 2.3.1.a, for example the ContentPanel.setHeading. In our case, the migration was easy because We never use the GXT components directly. At the project beginning, We have extended all the GXT components, and We have been using the extended components in our code. We have recreated the removed methods in our classes and overload them with the replacement method. We have made the changes in XImages to extend ClientBundle, as described in my last message too. The app has been working for years with these changes.

I believe the major big step is to try to change the GWT version to evaluate the impact.

--
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.

Hari

unread,
Feb 19, 2021, 1:01:58 AM2/19/21
to GWT Users
I tried changing GWT to 2.9 and GXT 2.3.1a-gwt22.jar, most of the errors were because of the method name changes like you mentioned ContentPanel.setHeading being changed to html specific setters and getters, but one issue which i am not able to figure out is below error, 

Error:
[Error]  Error in 'com/extjs/gxt/ui/client/widget/ListView.java' 
[Error]  Line 816: Type mismatch: cannot convert from Node to Element

and this error is cascading to all the classes using ListView widget. Any idea on this specific issue?
thanks

Ricardo Serathiuk

unread,
Feb 19, 2021, 5:38:32 AM2/19/21
to google-we...@googlegroups.com
We have solved this problem by changing line 816, casting the Element.
"Element node = (Element) bufferRender(list).getItem(0);"

RT

unread,
Oct 13, 2021, 4:41:52 PM10/13/21
to GWT Users
Hi, I am attempting to update to GWT 2.8.2 from 2.7.0 using GXT 2.3.1a however I get the following error:
Errors in 'jar:file:/war/WEB-INF/lib/gxt-2.3.1a-gwt22.jar!/com/extjs/gxt/ui/client/widget/form/ListField.java'
         Line 322: The method append(boolean) is ambiguous for the type StringBuffer

How were you able to get 2.8.2 working with 2.3.1a?  I'm running Java 8 with compiler compliance set to 1.7

Colin Alworth

unread,
Oct 13, 2021, 6:48:47 PM10/13/21
to GWT Users
The updated JDT probably caused this (so that gwt 2.8.2 can support Java 8 language features) - at a guess you'll need to cast the result of m.get(prop) on that line to Object so that StringBuilder.append correctly uses the Object overload.

RT

unread,
Oct 15, 2021, 12:08:14 AM10/15/21
to GWT Users
Yes, I agree changing the line in the GXT 2.3.1a ListField.java file from:
sb.append(m.get(prop));

To this:
sb.append(m.get(prop).toString());

Would seemingly fix the issue. However I would then need to compile this to a .class file to replace the one in the gxt-2.3.1a-gwt22,jar that I reference in my project and therein lies the problem.  Must I track down all the dependencies for GXT and GWT so that I can do a full recompile from source just for this one line change? Or can I use a java byte code editor to simply insert the .toString() at the right place in the .class file for ListField? I'm not sure how to do that, so I'll have to read up on byte code editors as that seems easier than a full recompile - if I knew where and how to inject the .toString()

However if the OP already had GXT 2.3.1a working with GWT 2.8.2 then I'm guessing they already had to do this operation, and may be able to provide some insight. Unless they were using Java 7 and this is only a Java 8 issue perhaps.

Colin Alworth

unread,
Oct 15, 2021, 1:15:54 PM10/15/21
to GWT Users
The short answer is yes, you need to do this for each such bug you find, and if you have a commercial license, you need to do it yourself - the only way to distribute fixes for things like this is under GPLv2, which may not be something you want in your project as a dependency.

If this is a gwt compiler error, editing bytecode is not sufficient, as GWT consumes the source each time it builds. You probably should also update the bytecode if you update the source files. Only the file in question needs to be edited in this way (HtmlEditor, ListField are the ones I know of).

Do not replace with a .toString() call, in case the model holds an explicit null value, casting to object will use StringBuilder.append(Object), which will be null safe, or pick some other null safe approach.

Sencha's release policy at the time was that they supported the last major release - this means that until GXT 4 was released, GXT 2 was supported, and got updates, but once 4.0.0 was available, GXT 2 was no longer supported. To my knowledge, GXT isn't receiving any updates at all any more. Combined with the license issues, it is hard to do more than discuss the possible fixes and how they could be applied.
Reply all
Reply to author
Forward
0 new messages