On Fri, Dec 20, 2013 at 11:32 AM, Sven Meier <s...@meiers.net> wrote:

> The reporter of the issue states that a "call to isErrorPage() would be
> more elegant in that situation"
>
> If the passed instance is not yet fully constructed, how can
> #isErrorPage() return anything useful other than static information? Isn't
> the class or any of its annotations sufficient in this case?


https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/AbstractErrorPage.java?source=cc#L49
will
work fine.
anything that requires more state may not work.

And yes, using the class type or annotations will do the job for his use
case.

My question is more about the overall consistency.
It is strange that the unauthorized listener receives the instance right
after the rejected class.


>
>
> Sven
>
>
> On 12/20/2013 10:19 AM, Carl-Eric Menzel wrote:
>
>> Duh. I knew I missed an obvious one! You are of course right.
>>
>> So we can't get rid of that one easily. That said, I'm still wary of
>> spreading unfinished objects even further around the API.
>>
>> Carl-Eric
>>
>> On Fri, 20 Dec 2013 10:12:32 +0100
>> Sven Meier <s...@meiers.net> wrote:
>>
>>  SpringComponentInjector?
>>>
>>> Sven
>>>
>>> On 12/20/2013 10:09 AM, Carl-Eric Menzel wrote:
>>>
>>>> I agree that something should be cleaned up. But like I said in the
>>>> comment to that Jira ticket, I think it should in fact move more
>>>> toward passing the class rather than the uninitialized instance. I
>>>> like my objects to be predictable, and I like it even more when I
>>>> don't have to think about any traps, even if they are
>>>> well-documented.
>>>>
>>>> I think (I also wrote that in the comment) that perhaps
>>>> IComponentInstantiationListener should be deprecated and eventually
>>>> removed, since IComponentInitializationListener should be able to
>>>> cover all the same use cases without having the unfinished
>>>> constructor problem.
>>>>
>>>> Is there a use case that would not be handled by the initialization
>>>> listener?
>>>>
>>>> Carl-Eric
>>>>
>>>> On Fri, 20 Dec 2013 10:53:40 +0200
>>>> Martin Grigorov <mgrigo...@apache.org> wrote:
>>>>
>>>>  Hi,
>>>>>
>>>>> The reporter of https://issues.apache.org/jira/browse/WICKET-5454
>>>>> asked to pass the Component instance
>>>>> to  IAuthorizationStrategy#isInstantiationAuthorized() instead of
>>>>> just its class.
>>>>> I have no idea why the API has been designed this way but Carl-Eric
>>>>> gave a good explanation - the component is not yet fully
>>>>> constructed.
>>>>>
>>>>> The thing that bothers me is why it is OK to use the instance in my
>>>>> custom IComponentInstantiationListener and it is not OK to do the
>>>>> same in IAuthorizationStrategy#isInstantiationAuthorized() ?
>>>>> If there is a javadoc explaining the possible problem (as for
>>>>> IComponentInstantiationListener#onInstantiation()) then it is OK.
>>>>>
>>>>> Even more - at
>>>>> https://github.com/apache/wicket/blob/master/wicket-
>>>>> core/src/main/java/org/apache/wicket/Application.java#L276you
>>>>> can see that right ater rejecting the *Class* we pass the
>>>>> *instance* to
>>>>> the UnauthorizedComponentInstantiationListener!
>>>>>
>>>>>
>>>>> Martin Grigorov
>>>>> Wicket Training and Consulting
>>>>>
>>>>
>

Reply via email to