+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 >
