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:
> >
> > &gt; WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> > &gt; and soon will be available at Maven Central!
> > &gt;
> > &gt; Maxim Solodovnik (3):
> > &gt;       Switching to the next dev version
> > &gt;       Typo is fixed
> > &gt;       wicketstuff-core-10.9.2 build was successful
> > &gt;
> > &gt; dependabot[bot] (2):
> > &gt;       Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> > &gt;       Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> > &gt; 7.3.6.Final (#1463)
> > &gt;
> > &gt; xomit (2):
> > &gt;       fix: fixing of loading of i18n resources (#1466)
> > &gt;       Fixing setup of resource name when loading i18n resources
> (#1467)
> > &gt;
> > &gt; The WicketStuff team
> > &gt;</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:
> 
> &gt; WicketStuff core 10.9.2 based on Apache Wicket 10.9.1 is released
> &gt; and soon will be available at Maven Central!
> &gt;
> &gt; Maxim Solodovnik (3):
> &gt;       Switching to the next dev version
> &gt;       Typo is fixed
> &gt;       wicketstuff-core-10.9.2 build was successful
> &gt;
> &gt; dependabot[bot] (2):
> &gt;       Bump org.webjars:datatables from 2.3.7 to 2.3.8 (#1464)
> &gt;       Bump org.hibernate.orm:hibernate-core from 7.3.5.Final to
> &gt; 7.3.6.Final (#1463)
> &gt;
> &gt; xomit (2):
> &gt;       fix: fixing of loading of i18n resources (#1466)
> &gt;       Fixing setup of resource name when loading i18n resources (#1467)
> &gt;
> &gt; The WicketStuff team
> &gt;</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
>