So,

based on further researches there is a very big impact if IPageProvider is going to be IClusterable in general. I would recommend to keep it the way it is currently implemented. If users want to build their own PageProvider and want to use InlineFrame should build their PageProvider to be IClusterable, but we should not define it in general.

kind regards

Tobias

------------

Infact that the InlineFrame uses the Interface of IPageProvider and users may implement their own PageProvider I would say yes - so that the InlineFrame also works with other PageProviders we have to move the ICusterable to IPageProvider. I checked out the other places IPageProvider is used:

1. org.apache.wicket.core.request.handler.PageProvider
2. org.apache.wicket.core.request.handler.PageAndComponentProvider
through interface org.apache.wicket.core.request.handler.IPageAndComponentProvider

The only thing which might be a problem then is that org.apache.wicket.request.component.IRequestableComponent of the PageAndComponentProvider is not serializable and this would lead to a NotSerializableException, because several RequestHandler is using it.

kind regards

Tobias

Am 22.02.15 um 18:07 schrieb Martijn Dashorst:
Ok,

But shouldn't IPageProvider rather extend IClusterable? One can
provide a custom IPageProvider implementation without having it be
serializable.

Martijn


On Sun, Feb 22, 2015 at 5:54 PM, Tobias Soloschenko
<tobiassolosche...@googlemail.com> wrote:
Hi,

here is the ticket in which we discussed it.

https://issues.apache.org/jira/browse/WICKET-5828

kind regards

Tobias

Am 22.02.2015 um 17:31 schrieb Martin Grigorov <mgrigo...@apache.org>:

This has been fixed recently in master. Right after you've cut M5
On Feb 22, 2015 6:29 PM, "Martijn Dashorst" <martijn.dasho...@gmail.com>
wrote:

While fixing a compilation error due to the removal of IPageLink, I
encountered that InlineFrame now uses IPageProvider and stores it in
an instance field.

Unfortunately, IPageProvider has no requirement to be Serializable and
the default implementation PageProvider is not serializable. This will
lead to serialization errors.

What shall we do? I don't think that PageProvider was ever intended as
a serializable concept so this can go a lot of ways...

Martijn


--
Become a Wicket expert, learn from the best: http://wicketinaction.com




Reply via email to