GXT 2.X to 4.0.2 migration issues - java-8

We used to have GWT 2.4 & GXT 2.2.5 and we are migrating to GWT 2.8.1.
Now I am using GWT 2.8 with gxt 2.2.5 and Jdk 1.8.0_291, even when upgrading gxt-2.3.1a-gwt22 I still get this error when maven is building I got this error
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
After searching I thought it is imposible to resolve it, I don't have the right to edit the dependency.
So I decided to upgrade gxt to 4.0.2, am I right?
but when I did all the app broke, most of Types don't exist anymore and the migration is not well documented on sencha website, they provide a unique page that doesn't help.
Do you have a tutorial or a guide that helps? or maybe a workaround?

Moving from GXT 2.x to 4.0.2 will create a lot of work. Take a look here:
Sencha GXT 2.x to 4.x Migration Guide
To get gxt-2.3.1a working with GWT 2.8.2 or even 2.9.0 (and maybe 2.10.0 - did not check this) you need to fix the bugs. The easiest way would be to
override the class and correct the things that are wrong.
F.e.: Fixing the ListField bug, you have to:
create a package: 'com.extjs.gxt.ui.client.widget.form'
create a class named 'ListField'
copy the code from the ListField class into you new class
fix the problem
I did that in the past and IIRC it was not much work.

Related

Kotlin complains about API version not supported

I'm relatively new to Kotlin.
I did create a test project, just the Hello World for now.
Compile/Package OK, then when I try to run the main.kt :
Kotlin: API version 1.1 is no longer supported; please, use version 1.2 or greater.
Is driving me nuts.
Ok, here some info and things I did :
Ubuntu 18.04
IntelliJ Idea Ultimate 2020.3 - all plugins/libraries updated
Kotlin project created from Project --> Kotlin --> Console Application --> SDK 1.8 --> Maven (need to simulate another environment that has similar settings)
On Settings/Build/Kotlin Compiler I selected Language version 1.4
When building I have only some warnings and I did notice this one :
[WARNING] Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
/home/steve/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.1.1/kotlin-stdlib-1.1.1.jar (version 1.1)
/home/steve/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.31/kotlin-stdlib-jdk8-1.4.31.jar (version 1.4)
/home/steve/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.31/kotlin-stdlib-jdk7-1.4.31.jar (version 1.4)
So it seems is still importing a stdlib 1.1.1, I did try to remove manually it but without success, is always there.
The POM only has this from jetbrains :
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>1.4.31</version>
</dependency>
Can anybody please give me some suggestions about how to fix this kind of problem ?
Thanks
STeve
Ok, I did restart from scratch many times trying to identify the problem and I think I did it, i.e. I identified the problem but I don't have a solution.
Starting from scratch everything is working, however I need to add to the project some classes I created in other projects in order to test them.
One of the class imported uses a library called khttp.
Well the moment I add this library as dependence in the project, even without adding any code that use it, screw up everything and I end up with the error :
Kotlin: API version 1.0 is no longer supported; please, use version 1.3 or greater.
The ONLY way I found so far to solve the problem is to remove from the POM the dependency of the library.
So I guess that the problem is IN the library.
If I can't find a solution I guess I need to don't use khttp.
Thanks
Go to
Intellij Preferences -> Build, Execution, Deployment -> Compiler -> Kotlin Compiler. Update Language version
and Api version to the one you wish.
**Click run again it should work fine.
for me it worked like this: right click on project and go to
project settings -> modules -> Kotlin
there I set the API Version to 1.5
I update the Kotlin dependencies version in pom.xml from 1.3.61 to 1.5.10 and it's ok for me
Project Structure>Modules>General
When you go there you gonna see 2 sections right side. Language version and API version. Update these 1.5 and problem will solve easily.

Grails CXF plugin not found

I am trying to implement SOAP services in my app, the best plugin I found is CXF, but I couln't install it, it looks like that I should put some additional repository.
I raised an issue in the source page, but if someone has faced this before, can share the solution plz?
If you are trying to use version 3.1.2 of the plugin, you want org.grails.plugins:cxf:3.1.2, not org.grails.plugins:grails-cxf:3.1.2.
The problem is that the plugin's documentation talks about to use the version 3.1.2, but the latest version in the repository is the 3.0.9

Spring Roo says "Version is required for org.apache.maven.plugins:maven-compiler-plugin"

I am trying out Spring Roo 1.2.2 and can't get past this error:
roo> hint
Version is required for org.apache.maven.plugins:maven-compiler-plugin
My maven version: Apache Maven 2.2.1
Appreciate any help.
Update:
Changing the directory and trying again makes it disappear! But I would still like to know what it was looking at, thanks.
Roo 1.2.2 has issues working with maven plugin versions. You will need to make sure that all your plugin declarations in every module have version tag specified. Similar problem is described here http://forum.springsource.org/showthread.php?132520-Multimodule-application-issue-Spring-Roo-1-2-2
Besides that I assume that you are trying to use Roo 1.2.2. on existing codebase. Than you need to follow this http://static.springsource.org/spring-roo/reference/html/existing.html
Although it is not said in this documentation, you possibly will need Maven 3 (3.0.4 comes with Roo/STS distribution) I suggest using this. It would be better first to migrate your project to Maven 3.
You should always start roo in an empty directory (or already existing roo project directory) because the working directory is scanned by roo. In your case a POM is probably detected.
Also notice that roo becomes very slow when working from a "crowded" directory.

Upgrading dojo in Spring-js from 1.3 to 1.4

We have a project where we're using Spring-js. With it comes Spring-dojo and the full dojo package. But in the current version of Spring-js (2.0.9), it's using dojo 1.3. Is there a way to upgrade manually to dojo 1.4? Or even a new Spring-js.jar-file that can be donwloaded that uses dojo 1.4?
Yes. If you are using the ResourceServlet, you can simply drop the new version of Dojo in the top-level directory of your WAR structure. The ResourceServlet always looks there before it looks on the classpath, thus resources in top-level of the WAR take precedence. I would suggest using a full uncompressed source distro of Dojo during development, and then doing a custom build that is tailored to your usage patterns for production.
Beware that we've occasionally seen some minor incompatibilities when upgrading Dojo versions, so be on the lookout for that and report any issues in the Web Flow Jira.
I suspect we'll be upgrading to Dojo 1.4 in the official distribution for the upcoming Spring Web Flow 2.1 release.
Btw., spring webflow 2.0.9 uses dojo 1.2.4 not 1.3 as the release notes tell

How to use Scaffoling from SS2 in SubSonic 3.0?

I just started using SubSonic ver 3.0 and I am not able to find sufficient info on the scaffolding feature. I understand scaffolding is included in version 2.x but can be used with 3.x also.
My question is, what do I have to include in my SunSonic 3.x ActiveRecord project, what to reference and what to add to the web.config / App.config to be able to use the scaffolding feature in SubSonic Version 3.x.
An example would be nice.
Thanks for your help.
gm

Resources