Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread Sven Meier
Wicket way:         final IModel>> listPerGroup = LoadableDetachableModel.of(() -> reportService.listPerGroup());         add(new ListView("group", () -> new ArrayList<>(listPerGroup.getObject().keySet())) {             @Override             protected void populateItem(ListItem groupItem) {

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread m.xinu
yes, thank you, that's the reason! The problem is the Comparator in TreeMap. I prefer to use your second proposed solution, however my service returns Map> and I render the result in two nested ListView as follows:        final Map> listPerGroup = reportService.listPerGroup();          

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread Sven Meier
Hi, your service method is return a TreeMap holding a lambda comparator: Comparator.comparing(DataGroup::getName) Either you make that comparator serializable (you can but you don't *need* to use org.danekja as Wicket does it): https://stackoverflow.com/questions/22807912/how-

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread Andrea Del Bene
That's strange. Could you show the full exception stack trace? On Thu, Jun 21, 2018 at 1:26 PM, m.xinu wrote: > I manually create the Spring context, which is > ClassPathXmlApplicationContext, and pass it to Wicket application by > calling > > getComponentInstantiationListeners().add(new > S

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread m.xinu
I manually create the Spring context, which is ClassPathXmlApplicationContext, and pass it to Wicket application by calling     getComponentInstantiationListeners().add(new SpringComponentInjector(this, MyApp.get().getApplicationContext())). Then, In my panel I have this     private class Rep

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread Andrea Del Bene
I think you are keeping a reference to your Spring bean in a page or in a component, that's why Wicket is trying to serialize it. Are you injecting this bean with @SpringBean annotation? On Thu, Jun 21, 2018 at 12:45 PM, m.xinu wrote: > Thanks for your reply. > > Both of your proposed solutions

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-21 Thread m.xinu
Thanks for your reply. Both of your proposed solutions mean using other interfaces in the Lambda expressions. However most of my Lambda definitions are in my Service tier classes (Spring beans), and the Service tier must be independent from the Web tier, and the force of Wicket serialization (e

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-20 Thread Maxim Solodovnik
Wicket7: https://github.com/wicketstuff/core/blob/wicket-7.x/lambda-parent/lambda/src/main/java/org/wicketstuff/lambda/SerializableBiConsumer.java WBR, Maxim (from mobile, sorry for the typos) On Thu, Jun 21, 2018, 08:13 Maxim Solodovnik wrote: > > https://cwiki.apache.org/confluence/display/WI

Re: Serialization Problem for Streams' Lambda used in Spring beans

2018-06-20 Thread Maxim Solodovnik
https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+8.0#MigrationtoWicket8.0-Provideserializableversionsofjava.util.function.(Supplier|Consumer|Function|BiConsumer)ASFJIRA5aa69414-a9e9-3523-82ec-879b028fb15bWICKET-5991 WBR, Maxim (from mobile, sorry for the typos) On Wed, Jun 2

Serialization Problem for Streams' Lambda used in Spring beans

2018-06-20 Thread m.xinu
Hi, I'm using Apache Wicket 7.9.0 alongside Spring 5.0.5.RELEASE. In one of my beans, I call some stream API containing multiple lambda expressions. During that page execution, I get following exception: Caused by: java.io.NotSerializableException: org.devocative.metis.service.data.ReportServi