MarcGiffing / wicket-spring-boot

Spring Boot starter for Apache Wicket
152 stars 62 forks source link

Proposal: Upgrade to Wicket 9 #159

Closed mmoayyed closed 4 years ago

mmoayyed commented 5 years ago

Problem

As of this writing, Wicket 9 is still in milestone mode (9.0.0-M3), though there are some preliminary instructions on what the upgrade could take.

I would like to upgrade Apache Syncope to use Wicket 9 and start testing. Apache Syncope does depend on wicket-spring-boot as it's a Spring Boot application itself. Given a number of API incompatibilities, specially those related to Time/Duration APIs, it's not quite possible to simply override a Wicket version number in a pom file. Example errors would be:

SEVERE: Exception starting filter [wicket-filter]
java.lang.NoSuchMethodError: org.apache.wicket.settings.RequestCycleSettings.setTimeout(Lorg/apache/wicket/util/time/Duration;)
Lorg/apache/wicket/settings/RequestCycleSettings;
    at com.giffing.wicket.spring.boot.starter.configuration.extensions.core.settings.requrestcycle.RequestCycleSettingsConfig.init(RequestCycleSettingsConfig.java:35)
    at com.giffing.wicket.spring.boot.starter.app.WicketBootSecuredWebApplication.init(WicketBootSecuredWebApplication.java:84)
    at org.apache.syncope.client.console.SyncopeWebApplication.init(SyncopeWebApplication.java:167)
    at org.apache.wicket.Application.initApplication(Application.java:762)
    at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:434)
    at org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter.init(JavaxWebSocketFilter.java:48)
    at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:358)

Proposal

I'd like to try and upgrade wicket-spring-boot to Wicket v9 in form of a pull request and submit it here, such that I can later upgrade Apache Syncope to Wicket v9 too. Questions are:

Thank you.

martin-g commented 5 years ago

Thank you for offering your help, @mmoayyed !

MarcGiffing commented 5 years ago

Thanks! wicket-9 branch created!

mmoayyed commented 5 years ago

Thank you. I'll get started.

mmoayyed commented 5 years ago

I have made good progress on this issue and should have a WIP pull request ready by next Monday for your review. Changes are generally small, and probably the most significant areas with changes are those that affect the construction of IDataStores as Wicket itself has broken down that component into several smaller ones.

PR coming up shortly.

MarcGiffing commented 5 years ago

3.0.2-RC is released to the Maven Central Repository. Available in a couple of hours...

mmoayyed commented 5 years ago

That's excellent, thank you. I'll start testing this more with Apache Syncope next week, and will follow-up with fixes or pull requests if needed to account for possible issues.