You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Korbinian Bachl <ko...@whiskyworld.de> on 2007/03/09 18:18:51 UTC

State 1.3/ features

Hi,
 
as it seems, that 2.0 will be dropped (at least my understanding from the
discussions) i will have to change from 2.0 to 1.3 ... so, excuse the
question but what are the "main" differences regarding 2.0 in trunk and 1.3
?
 
What will be missed beside JDK1.5 and the constructor?
 
Best Regards,
 
Korbinian
 

Re: State 1.3/ features

Posted by Alexandre Bairos <al...@gmail.com>.
http://cwiki.apache.org/confluence/display/WICKET/FAQs#FAQs-WhatisthefutureofonAttachandonDetachmethods%3F



On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
>
> the power of the wiki is that anyone can contribute :)
>
> -igor
>
>
> On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
> >
> > Cool Igor... Now I see the problem and what's coming next :)
> >
> > PS: this explanation should be wiked !! =)
> >
> > []'s
> >
> > On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> > >
> > > we are trying to consolidate the methods. we have a bunch of
> > > internalOnAttach/internalAttach/attach/onattach methods. its a big
> mess.
> > > what this refactor does is give you one method you can override -
> > > onattach()
> > > but forces the call to super.
> > >
> > > doing it like it has been done doesnt work. users assume onattach() is
> a
> > > template method, they can override and not have to call super - but
> this
> > > fails if you go more then one method deep!
> > >
> > > if i create a custom component and do something in onattach(), then
> the
> > > user
> > > subclasses it and they do something in onattach() and dont bother to
> > call
> > > super() they will break my functionality. my only choice of action is
> to
> > > make onattach() final in my custom component and provide yet another
> > > template for the user, onattach2() ? this just doesnt scale. better to
> > > have
> > > a simple and clear contract - onattach and ondetach always require the
> > > call
> > > to super.
> > >
> > > unfortunately the only way to do that at this point _and_ keep the
> same
> > > method names is to do what i did.
> > >
> > > OT there is a jsr for software defect annotations that includes
> > something
> > > like @MustCallSuper (forget what its called), that combined with an
> apt
> > > builder in an ide will make these kinds of contracts very easy to
> > enforce
> > > at
> > > compile time. we are just not there just yet.
> > >
> > > -igor
> > >
> > >
> > > On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
> > > >
> > > > I want to make a comment about the onAttach/Detach refactor:
> > > >
> > > > This really can't be done without breaking current overridden codes?
> > > >
> > > > Isn't possible to convert onAttach to final onBeforeAttach, and let
> > > > onAttach
> > > > empty so users can override? The same for detach...
> > > >
> > > > []'s
> > > >
> > > > On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> > > > >
> > > > > he forgot the onattach/detach refactor which will break a lot of
> > > clients
> > > > > in
> > > > > runtime if they overrode onattach/detach and didnt call super().
> > > > >
> > > > > so dont worry.
> > > > >
> > > > > -igor
> > > > >
> > > > >
> > > > > On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
> > > > > >
> > > > > > > Right now, the differences between 2.0
> > > > > > > and 1.3 are also models, validators and generics. I think
> that's
> > > it.
> > > > > >
> > > > > >
> > > > > > Oh, that's all?  For a second I was worried. :)
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Nick Heudecker
> > > > > > Professional Wicket Training & Consulting
> > > > > > http://www.systemmobile.com
> > > > > >
> > > > > > Eventful - Intelligent Event Management
> > > > > > http://www.eventfulhq.com
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Bruno Borges
> > > > Summa Technologies Inc.
> > > > www.summa-tech.com
> > > > (48) 8404-1300
> > > > (11) 3055-2060
> > > >
> > >
> >
> >
> >
> > --
> > Bruno Borges
> > Summa Technologies Inc.
> > www.summa-tech.com
> > (48) 8404-1300
> > (11) 3055-2060
> >
>

Re: State 1.3/ features

Posted by Igor Vaynberg <ig...@gmail.com>.
the power of the wiki is that anyone can contribute :)

-igor


On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
>
> Cool Igor... Now I see the problem and what's coming next :)
>
> PS: this explanation should be wiked !! =)
>
> []'s
>
> On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> >
> > we are trying to consolidate the methods. we have a bunch of
> > internalOnAttach/internalAttach/attach/onattach methods. its a big mess.
> > what this refactor does is give you one method you can override -
> > onattach()
> > but forces the call to super.
> >
> > doing it like it has been done doesnt work. users assume onattach() is a
> > template method, they can override and not have to call super - but this
> > fails if you go more then one method deep!
> >
> > if i create a custom component and do something in onattach(), then the
> > user
> > subclasses it and they do something in onattach() and dont bother to
> call
> > super() they will break my functionality. my only choice of action is to
> > make onattach() final in my custom component and provide yet another
> > template for the user, onattach2() ? this just doesnt scale. better to
> > have
> > a simple and clear contract - onattach and ondetach always require the
> > call
> > to super.
> >
> > unfortunately the only way to do that at this point _and_ keep the same
> > method names is to do what i did.
> >
> > OT there is a jsr for software defect annotations that includes
> something
> > like @MustCallSuper (forget what its called), that combined with an apt
> > builder in an ide will make these kinds of contracts very easy to
> enforce
> > at
> > compile time. we are just not there just yet.
> >
> > -igor
> >
> >
> > On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
> > >
> > > I want to make a comment about the onAttach/Detach refactor:
> > >
> > > This really can't be done without breaking current overridden codes?
> > >
> > > Isn't possible to convert onAttach to final onBeforeAttach, and let
> > > onAttach
> > > empty so users can override? The same for detach...
> > >
> > > []'s
> > >
> > > On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> > > >
> > > > he forgot the onattach/detach refactor which will break a lot of
> > clients
> > > > in
> > > > runtime if they overrode onattach/detach and didnt call super().
> > > >
> > > > so dont worry.
> > > >
> > > > -igor
> > > >
> > > >
> > > > On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
> > > > >
> > > > > > Right now, the differences between 2.0
> > > > > > and 1.3 are also models, validators and generics. I think that's
> > it.
> > > > >
> > > > >
> > > > > Oh, that's all?  For a second I was worried. :)
> > > > >
> > > > >
> > > > > --
> > > > > Nick Heudecker
> > > > > Professional Wicket Training & Consulting
> > > > > http://www.systemmobile.com
> > > > >
> > > > > Eventful - Intelligent Event Management
> > > > > http://www.eventfulhq.com
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Bruno Borges
> > > Summa Technologies Inc.
> > > www.summa-tech.com
> > > (48) 8404-1300
> > > (11) 3055-2060
> > >
> >
>
>
>
> --
> Bruno Borges
> Summa Technologies Inc.
> www.summa-tech.com
> (48) 8404-1300
> (11) 3055-2060
>

Re: State 1.3/ features

Posted by Bruno Borges <br...@gmail.com>.
Cool Igor... Now I see the problem and what's coming next :)

PS: this explanation should be wiked !! =)

[]'s

On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
>
> we are trying to consolidate the methods. we have a bunch of
> internalOnAttach/internalAttach/attach/onattach methods. its a big mess.
> what this refactor does is give you one method you can override -
> onattach()
> but forces the call to super.
>
> doing it like it has been done doesnt work. users assume onattach() is a
> template method, they can override and not have to call super - but this
> fails if you go more then one method deep!
>
> if i create a custom component and do something in onattach(), then the
> user
> subclasses it and they do something in onattach() and dont bother to call
> super() they will break my functionality. my only choice of action is to
> make onattach() final in my custom component and provide yet another
> template for the user, onattach2() ? this just doesnt scale. better to
> have
> a simple and clear contract - onattach and ondetach always require the
> call
> to super.
>
> unfortunately the only way to do that at this point _and_ keep the same
> method names is to do what i did.
>
> OT there is a jsr for software defect annotations that includes something
> like @MustCallSuper (forget what its called), that combined with an apt
> builder in an ide will make these kinds of contracts very easy to enforce
> at
> compile time. we are just not there just yet.
>
> -igor
>
>
> On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
> >
> > I want to make a comment about the onAttach/Detach refactor:
> >
> > This really can't be done without breaking current overridden codes?
> >
> > Isn't possible to convert onAttach to final onBeforeAttach, and let
> > onAttach
> > empty so users can override? The same for detach...
> >
> > []'s
> >
> > On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> > >
> > > he forgot the onattach/detach refactor which will break a lot of
> clients
> > > in
> > > runtime if they overrode onattach/detach and didnt call super().
> > >
> > > so dont worry.
> > >
> > > -igor
> > >
> > >
> > > On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
> > > >
> > > > > Right now, the differences between 2.0
> > > > > and 1.3 are also models, validators and generics. I think that's
> it.
> > > >
> > > >
> > > > Oh, that's all?  For a second I was worried. :)
> > > >
> > > >
> > > > --
> > > > Nick Heudecker
> > > > Professional Wicket Training & Consulting
> > > > http://www.systemmobile.com
> > > >
> > > > Eventful - Intelligent Event Management
> > > > http://www.eventfulhq.com
> > > >
> > >
> >
> >
> >
> > --
> > Bruno Borges
> > Summa Technologies Inc.
> > www.summa-tech.com
> > (48) 8404-1300
> > (11) 3055-2060
> >
>



-- 
Bruno Borges
Summa Technologies Inc.
www.summa-tech.com
(48) 8404-1300
(11) 3055-2060

Re: State 1.3/ features

Posted by Igor Vaynberg <ig...@gmail.com>.
we are trying to consolidate the methods. we have a bunch of
internalOnAttach/internalAttach/attach/onattach methods. its a big mess.
what this refactor does is give you one method you can override - onattach()
but forces the call to super.

doing it like it has been done doesnt work. users assume onattach() is a
template method, they can override and not have to call super - but this
fails if you go more then one method deep!

if i create a custom component and do something in onattach(), then the user
subclasses it and they do something in onattach() and dont bother to call
super() they will break my functionality. my only choice of action is to
make onattach() final in my custom component and provide yet another
template for the user, onattach2() ? this just doesnt scale. better to have
a simple and clear contract - onattach and ondetach always require the call
to super.

unfortunately the only way to do that at this point _and_ keep the same
method names is to do what i did.

OT there is a jsr for software defect annotations that includes something
like @MustCallSuper (forget what its called), that combined with an apt
builder in an ide will make these kinds of contracts very easy to enforce at
compile time. we are just not there just yet.

-igor


On 3/9/07, Bruno Borges <br...@gmail.com> wrote:
>
> I want to make a comment about the onAttach/Detach refactor:
>
> This really can't be done without breaking current overridden codes?
>
> Isn't possible to convert onAttach to final onBeforeAttach, and let
> onAttach
> empty so users can override? The same for detach...
>
> []'s
>
> On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
> >
> > he forgot the onattach/detach refactor which will break a lot of clients
> > in
> > runtime if they overrode onattach/detach and didnt call super().
> >
> > so dont worry.
> >
> > -igor
> >
> >
> > On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
> > >
> > > > Right now, the differences between 2.0
> > > > and 1.3 are also models, validators and generics. I think that's it.
> > >
> > >
> > > Oh, that's all?  For a second I was worried. :)
> > >
> > >
> > > --
> > > Nick Heudecker
> > > Professional Wicket Training & Consulting
> > > http://www.systemmobile.com
> > >
> > > Eventful - Intelligent Event Management
> > > http://www.eventfulhq.com
> > >
> >
>
>
>
> --
> Bruno Borges
> Summa Technologies Inc.
> www.summa-tech.com
> (48) 8404-1300
> (11) 3055-2060
>

Re: State 1.3/ features

Posted by Bruno Borges <br...@gmail.com>.
I want to make a comment about the onAttach/Detach refactor:

This really can't be done without breaking current overridden codes?

Isn't possible to convert onAttach to final onBeforeAttach, and let onAttach
empty so users can override? The same for detach...

[]'s

On 3/9/07, Igor Vaynberg <ig...@gmail.com> wrote:
>
> he forgot the onattach/detach refactor which will break a lot of clients
> in
> runtime if they overrode onattach/detach and didnt call super().
>
> so dont worry.
>
> -igor
>
>
> On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
> >
> > > Right now, the differences between 2.0
> > > and 1.3 are also models, validators and generics. I think that's it.
> >
> >
> > Oh, that's all?  For a second I was worried. :)
> >
> >
> > --
> > Nick Heudecker
> > Professional Wicket Training & Consulting
> > http://www.systemmobile.com
> >
> > Eventful - Intelligent Event Management
> > http://www.eventfulhq.com
> >
>



-- 
Bruno Borges
Summa Technologies Inc.
www.summa-tech.com
(48) 8404-1300
(11) 3055-2060

Re: State 1.3/ features

Posted by Igor Vaynberg <ig...@gmail.com>.
he forgot the onattach/detach refactor which will break a lot of clients in
runtime if they overrode onattach/detach and didnt call super().

so dont worry.

-igor


On 3/9/07, Nick Heudecker <nh...@gmail.com> wrote:
>
> > Right now, the differences between 2.0
> > and 1.3 are also models, validators and generics. I think that's it.
>
>
> Oh, that's all?  For a second I was worried. :)
>
>
> --
> Nick Heudecker
> Professional Wicket Training & Consulting
> http://www.systemmobile.com
>
> Eventful - Intelligent Event Management
> http://www.eventfulhq.com
>

Re: State 1.3/ features

Posted by Nick Heudecker <nh...@gmail.com>.
> Right now, the differences between 2.0
> and 1.3 are also models, validators and generics. I think that's it.


Oh, that's all?  For a second I was worried. :)


-- 
Nick Heudecker
Professional Wicket Training & Consulting
http://www.systemmobile.com

Eventful - Intelligent Event Management
http://www.eventfulhq.com

Re: State 1.3/ features

Posted by Eelco Hillenius <ee...@gmail.com>.
We're gonna vote about this officially in a few days, when everyone
have had the time to have their say and think things over. If it is up
to me, the only difference between 2.0 and what either will be 1.4 or
1.5 is the constructor change. Right now, the differences between 2.0
and 1.3 are also models, validators and generics. I think that's it.

Eelco

On 3/9/07, Korbinian Bachl <ko...@whiskyworld.de> wrote:
> Hi,
>
> as it seems, that 2.0 will be dropped (at least my understanding from the
> discussions) i will have to change from 2.0 to 1.3 ... so, excuse the
> question but what are the "main" differences regarding 2.0 in trunk and 1.3
> ?
>
> What will be missed beside JDK1.5 and the constructor?
>
> Best Regards,
>
> Korbinian
>
>