You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Maxim Solodovnik <so...@apache.org> on 2026/05/30 06:37:49 UTC
[ANNOUNCE] WicketStuff 10.9.2 Released
WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
and soon will be available at Maven Central!
Maxim Solodovnik (3):
Switching to the next dev version
Typo is fixed
wicketstuff-core-10.9.2 build was successful
dependabot[bot] (2):
Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
7.3.6.Final (#1463)
xomit (2):
fix: fixing of loading of i18n resources (#1466)
Fixing setup of resource name when loading i18n resources (#1467)
The WicketStuff team
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: WicketStuff rest annotations is pretty useful
Posted by Andrea Del Bene <an...@gmail.com>.
Thank for your feedback! I've written that code more than 10 years ago, so
I'm sure there's room for improvements :-) . Feel free to open a PR if you
want.
On Thu, Jun 25, 2026 at 6:05 PM andrew goh via users <
users@wicket.apache.org> wrote:
> hi, all,
>
> I'm playing a bit with REST APIs recently and found WicketStuff
> rest-annotations quite useful
>
>
> https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent
>
> Though at present, I'm just started working with it.
>
> Prior this, I've looked at trying to integrate Eclipse Jersey
> https://eclipse-ee4j.github.io/jersey/
> or RESTEasy
> https://resteasy.dev/
>
> Initially, one of the stumbling blocks is authentication and
> authorization, especially if one intends to run such a service on the
> open internet. It isn't easy integrating with Wicket security for
> authentication/authorization with different architecture.
>
> doing REST API completely within Apache Wicket alleviates this issue. A
> problem is that I'd need to expose different http methods endpoints,
> e.g. with the use of custom resources. rest endpoints isn't just
> straightforward http get. restannotations has a proper implementation
> and did quite a lot more. e.g. that it automatically deserializes to
> Json via Gson etc.
>
> But that there are some currently I deemed minor issues and I'm still
> figuring out other use cases.
>
> Some of the issues encountered are like:
>
> - use AbstractRestResource as base class
>
> If you review the readme
>
> https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent#readme
>
> it isn't initially apparent that a better practice is to build your rest
> classes by inheriting from AbstractRestResource
>
> https://github.com/wicketstuff/core/blob/master/wicketstuff-restannotations-parent/restannotations/src/main/java/org/wicketstuff/rest/resource/AbstractRestResource.java
>
> Initially, I'm troubleshooting why the RestAPI endpoints are not mapped.
> it turns out to use @ResourcePath("/mountedpath") and
> PackageScanner.scanPackage("your.restapi.package");
>
>
> https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent#mounting-resources-to-a-specific-path
> it is necessary to subclass from AbstractRestResource as a REST API
> container class,
> then define the
> @MethodMapping("/apipath")
> methods as the rest endpoints for each method.
> After that the it correctly mount the rest endpoints, and practically
> many things 'just works'
> A good example is to look at the examples e.g.
>
> https://github.com/wicketstuff/core/blob/master/wicketstuff-restannotations-parent/restannotations-examples/src/main/java/org/wicketstuff/rest/resource/PersonsRestResource.java
> to see how it is implemented.
>
> - register the Json serializer and deserializer while constructing the
> class wrapper for the rest APIs.
> in the constructor one should have a line like.
>
> public PersonsRestResource() {
> super(new JsonWebSerialDeserial(new GsonObjectSerialDeserial()));
>
> to register the Json serializer / deserializer, this is what takes pojo
> classes including like List<Person> etc and serialize them directly to
> json, practically no other codes is needed.
>
>
> https://github.com/wicketstuff/core/blob/77dc12337444090867368e972cb66d35c048ce37/wicketstuff-restannotations-parent/restannotations-examples/src/main/java/org/wicketstuff/rest/resource/PersonsRestResource.java#L35
>
> but that I encountered a rather tricky situation where the default Gson
> serializer / deserializer can't convert a particular class / structure
> in a class / object. it needs an (custom) adapter to do that
> serialization / deserialization.
> A trouble with the above is that in the earlier java versions superclass
> constructor calls has to be the first line of code in the constructor.
> This is a bit of trouble as I had trouble building a custom Gson()
> object that has the conversion adapters registered.
> I end up using discrete classes for the converters and used the Gson
> builder in a fluent notation to build the Gson() converter object within
> the constructor call.
>
> hope this helps if anyone is working with the restannotations library
>
> note also that WicketStuff rest annotations is directly available as a
> dependency in maven central. e.g.
>
> https://central.sonatype.com/artifact/org.wicketstuff/wicketstuff-restannotations
> verify that by matching the pom entries in the github repo with that in
> maven central.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
--
Andrea Del Bene.
Apache Wicket committer.
WicketStuff rest annotations is pretty useful
Posted by andrew goh via users <us...@wicket.apache.org>.
hi, all,
I'm playing a bit with REST APIs recently and found WicketStuff
rest-annotations quite useful
https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent
Though at present, I'm just started working with it.
Prior this, I've looked at trying to integrate Eclipse Jersey
https://eclipse-ee4j.github.io/jersey/
or RESTEasy
https://resteasy.dev/
Initially, one of the stumbling blocks is authentication and
authorization, especially if one intends to run such a service on the
open internet. It isn't easy integrating with Wicket security for
authentication/authorization with different architecture.
doing REST API completely within Apache Wicket alleviates this issue. A
problem is that I'd need to expose different http methods endpoints,
e.g. with the use of custom resources. rest endpoints isn't just
straightforward http get. restannotations has a proper implementation
and did quite a lot more. e.g. that it automatically deserializes to
Json via Gson etc.
But that there are some currently I deemed minor issues and I'm still
figuring out other use cases.
Some of the issues encountered are like:
- use AbstractRestResource as base class
If you review the readme
https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent#readme
it isn't initially apparent that a better practice is to build your rest
classes by inheriting from AbstractRestResource
https://github.com/wicketstuff/core/blob/master/wicketstuff-restannotations-parent/restannotations/src/main/java/org/wicketstuff/rest/resource/AbstractRestResource.java
Initially, I'm troubleshooting why the RestAPI endpoints are not mapped.
it turns out to use @ResourcePath("/mountedpath") and
PackageScanner.scanPackage("your.restapi.package");
https://github.com/wicketstuff/core/tree/master/wicketstuff-restannotations-parent#mounting-resources-to-a-specific-path
it is necessary to subclass from AbstractRestResource as a REST API
container class,
then define the
@MethodMapping("/apipath")
methods as the rest endpoints for each method.
After that the it correctly mount the rest endpoints, and practically
many things 'just works'
A good example is to look at the examples e.g.
https://github.com/wicketstuff/core/blob/master/wicketstuff-restannotations-parent/restannotations-examples/src/main/java/org/wicketstuff/rest/resource/PersonsRestResource.java
to see how it is implemented.
- register the Json serializer and deserializer while constructing the
class wrapper for the rest APIs.
in the constructor one should have a line like.
public PersonsRestResource() {
super(new JsonWebSerialDeserial(new GsonObjectSerialDeserial()));
to register the Json serializer / deserializer, this is what takes pojo
classes including like List<Person> etc and serialize them directly to
json, practically no other codes is needed.
https://github.com/wicketstuff/core/blob/77dc12337444090867368e972cb66d35c048ce37/wicketstuff-restannotations-parent/restannotations-examples/src/main/java/org/wicketstuff/rest/resource/PersonsRestResource.java#L35
but that I encountered a rather tricky situation where the default Gson
serializer / deserializer can't convert a particular class / structure
in a class / object. it needs an (custom) adapter to do that
serialization / deserialization.
A trouble with the above is that in the earlier java versions superclass
constructor calls has to be the first line of code in the constructor.
This is a bit of trouble as I had trouble building a custom Gson()
object that has the conversion adapters registered.
I end up using discrete classes for the converters and used the Gson
builder in a fluent notation to build the Gson() converter object within
the constructor call.
hope this helps if anyone is working with the restannotations library
note also that WicketStuff rest annotations is directly available as a
dependency in maven central. e.g.
https://central.sonatype.com/artifact/org.wicketstuff/wicketstuff-restannotations
verify that by matching the pom entries in the github repo with that in
maven central.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Re: [ANNOUNCE] WicketStuff 10.9.2 Released
Posted by Maxim Solodovnik <so...@gmail.com>.
Hello Per,
from mobile (sorry for typos ;)
On Mon, Jun 1, 2026, 13:54 Per Newgro <pe...@gmx.ch> wrote:
> Hey,
>
> thanks for release and your effort.
>
> What's changed list in https://github.com/wicketstuff/core/releases looks
> a little bit messy.
>
It is hopefully fixed :)
I try to find out what causes all my tests to fail with
> "
> Cause 1: java.lang.ExceptionInInitializerError: Exception
> java.lang.IllegalStateException: you have to call WicketWebjars.install()
> before you can use an IWebjarsResourceReference or any other component. [in
> thread "Test worker"]
> at
> de.agilecoders.wicket.webjars.WicketWebjars.settings(WicketWebjars.java:136)
> at
> de.agilecoders.wicket.webjars.util.WebjarsVersion$Holder.<clinit>(WebjarsVersion.java:29)
> at
> de.agilecoders.wicket.webjars.util.WebjarsVersion.useRecent(WebjarsVersion.java:45)
> at
> de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference.<init>(WebjarsJavaScriptResourceReference.java:29)
> at
> org.wicketstuff.select2.ApplicationSettings.<init>(ApplicationSettings.java:38)
> at
> org.wicketstuff.select2.ApplicationSettings.get(ApplicationSettings.java:142)
> at
> org.wicketstuff.select2.Select2ResourcesBehavior.renderHead(Select2ResourcesBehavior.java:38)
> at
> org.wicketstuff.select2.Select2Behavior$1.renderHead(Select2Behavior.java:43)
> at
> org.wicketstuff.select2.Select2Behavior.renderHead(Select2Behavior.java:55)
> at
> org.apache.wicket.Component.internalRenderHead(Component.java:2674)
> at
> org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85)
> "
> but it is hard to find out which of all these changes initiates my problem.
>
> Maybe you need to have a look?
>
Yoy line of code like this:
https://github.com/wicketstuff/core/blob/master/select2-parent/select2-examples/src/main/java/org/wicketstuff/select2/WicketApplication.java#L30
:)
> Regards
> Per
>
>
> > Gesendet: Samstag, 30. Mai 2026 um 19:08
> > Von: "Andrea Del Bene" <an...@gmail.com>
> > An: dev@wicket.apache.org
> > CC: users@wicket.apache.org, announce@wicket.apache.org
> > Betreff: Re: [ANNOUNCE] WicketStuff 10.9.2 Released
> >
> > Thank you Maxim
> >
> > Andrea Del Bene.
> > Apache Wicket committer.
> >
> > On Sat, 30 May 2026, 08:38 Maxim Solodovnik, <so...@apache.org> wrote:
> >
> > > WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> > > and soon will be available at Maven Central!
> > >
> > > Maxim Solodovnik (3):
> > > Switching to the next dev version
> > > Typo is fixed
> > > wicketstuff-core-10.9.2 build was successful
> > >
> > > dependabot[bot] (2):
> > > Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> > > Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> > > 7.3.6.Final (#1463)
> > >
> > > xomit (2):
> > > fix: fixing of loading of i18n resources (#1466)
> > > Fixing setup of resource name when loading i18n resources
> (#1467)
> > >
> > > The WicketStuff team
> > ></s...@apache.org>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Aw: Re: [ANNOUNCE] WicketStuff 10.9.2 Released
Posted by Per Newgro <pe...@gmx.ch>.
Hey,
thanks for release and your effort.
What's changed list in https://github.com/wicketstuff/core/releases looks a little bit messy.
I try to find out what causes all my tests to fail with
"
Cause 1: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalStateException: you have to call WicketWebjars.install() before you can use an IWebjarsResourceReference or any other component. [in thread "Test worker"]
at de.agilecoders.wicket.webjars.WicketWebjars.settings(WicketWebjars.java:136)
at de.agilecoders.wicket.webjars.util.WebjarsVersion$Holder.<clinit>(WebjarsVersion.java:29)
at de.agilecoders.wicket.webjars.util.WebjarsVersion.useRecent(WebjarsVersion.java:45)
at de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference.<init>(WebjarsJavaScriptResourceReference.java:29)
at org.wicketstuff.select2.ApplicationSettings.<init>(ApplicationSettings.java:38)
at org.wicketstuff.select2.ApplicationSettings.get(ApplicationSettings.java:142)
at org.wicketstuff.select2.Select2ResourcesBehavior.renderHead(Select2ResourcesBehavior.java:38)
at org.wicketstuff.select2.Select2Behavior$1.renderHead(Select2Behavior.java:43)
at org.wicketstuff.select2.Select2Behavior.renderHead(Select2Behavior.java:55)
at org.apache.wicket.Component.internalRenderHead(Component.java:2674)
at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85)
"
but it is hard to find out which of all these changes initiates my problem.
Maybe you need to have a look?
Regards
Per
> Gesendet: Samstag, 30. Mai 2026 um 19:08
> Von: "Andrea Del Bene" <an...@gmail.com>
> An: dev@wicket.apache.org
> CC: users@wicket.apache.org, announce@wicket.apache.org
> Betreff: Re: [ANNOUNCE] WicketStuff 10.9.2 Released
>
> Thank you Maxim
>
> Andrea Del Bene.
> Apache Wicket committer.
>
> On Sat, 30 May 2026, 08:38 Maxim Solodovnik, <so...@apache.org> wrote:
>
> > WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> > and soon will be available at Maven Central!
> >
> > Maxim Solodovnik (3):
> > Switching to the next dev version
> > Typo is fixed
> > wicketstuff-core-10.9.2 build was successful
> >
> > dependabot[bot] (2):
> > Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> > Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> > 7.3.6.Final (#1463)
> >
> > xomit (2):
> > fix: fixing of loading of i18n resources (#1466)
> > Fixing setup of resource name when loading i18n resources (#1467)
> >
> > The WicketStuff team
> ></s...@apache.org>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: [ANNOUNCE] WicketStuff 10.9.2 Released
Posted by Andrea Del Bene <an...@gmail.com>.
Thank you Maxim
Andrea Del Bene.
Apache Wicket committer.
On Sat, 30 May 2026, 08:38 Maxim Solodovnik, <so...@apache.org> wrote:
> WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> and soon will be available at Maven Central!
>
> Maxim Solodovnik (3):
> Switching to the next dev version
> Typo is fixed
> wicketstuff-core-10.9.2 build was successful
>
> dependabot[bot] (2):
> Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> 7.3.6.Final (#1463)
>
> xomit (2):
> fix: fixing of loading of i18n resources (#1466)
> Fixing setup of resource name when loading i18n resources (#1467)
>
> The WicketStuff team
>
Re: [ANNOUNCE] WicketStuff 10.9.2 Released
Posted by Andrea Del Bene <an...@gmail.com>.
Thank you Maxim
Andrea Del Bene.
Apache Wicket committer.
On Sat, 30 May 2026, 08:38 Maxim Solodovnik, <so...@apache.org> wrote:
> WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> and soon will be available at Maven Central!
>
> Maxim Solodovnik (3):
> Switching to the next dev version
> Typo is fixed
> wicketstuff-core-10.9.2 build was successful
>
> dependabot[bot] (2):
> Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> 7.3.6.Final (#1463)
>
> xomit (2):
> fix: fixing of loading of i18n resources (#1466)
> Fixing setup of resource name when loading i18n resources (#1467)
>
> The WicketStuff team
>
Re: [ANNOUNCE] WicketStuff 10.9.2 Released
Posted by Andrea Del Bene <an...@gmail.com>.
Thank you Maxim
Andrea Del Bene.
Apache Wicket committer.
On Sat, 30 May 2026, 08:38 Maxim Solodovnik, <so...@apache.org> wrote:
> WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> and soon will be available at Maven Central!
>
> Maxim Solodovnik (3):
> Switching to the next dev version
> Typo is fixed
> wicketstuff-core-10.9.2 build was successful
>
> dependabot[bot] (2):
> Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> 7.3.6.Final (#1463)
>
> xomit (2):
> fix: fixing of loading of i18n resources (#1466)
> Fixing setup of resource name when loading i18n resources (#1467)
>
> The WicketStuff team
>