+1
Although I don't expect anyone trying to implement custom IPageProvider.
If it was that easy we would simplify our own long time ago:
https://issues.apache.org/jira/browse/WICKET-4201

On Sun, Feb 22, 2015 at 8:13 PM, Martijn Dashorst <
[email protected]> wrote:

> What about this construct:
>
>     public <P extends IPageProvider & Serializable> InlineFrame(final
> String id, P p)
>     {
>        super(id);
>        pageProvider = p;
>     }
>
> Would that be something (works in Java 8)? It would solve the problem
> of InlineFrame, force users to at least use a serializable
> IPageProvider implementation.
>
> Martijn
>
> On Sun, Feb 22, 2015 at 7:02 PM, Tobias Soloschenko
> <[email protected]> wrote:
> > 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
> >> <[email protected]> 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 <[email protected]
> >:
> >>>>
> >>>> This has been fixed recently in master. Right after you've cut M5
> >>>> On Feb 22, 2015 6:29 PM, "Martijn Dashorst" <
> [email protected]>
> >>>> 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
> >>>>>
> >>
> >>
> >
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
>

Reply via email to