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
<tobiassolosche...@googlemail.com> 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
>> <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
>>>>>
>>
>>
>



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

Reply via email to