[seam-dev] Re: Wicket Seam integration
Pete Muir
pete.muir at jboss.org
Thu Feb 21 11:12:43 EST 2008
Hi,
Please see below for discussions surrounding Wicket with Seam.
Looking forward to some feedback!
Thanks,
Pete
On 21 Feb 2008, at 16:08, Eelco Hillenius wrote:
> Hi,
>
> Cheers for looking into this. I'm afraid I don't have time to take a
> closer look at this for the next two weeks though, as I'm right in the
> middle of this: http://kayandeelco.weddingwindow.com/ :-)
>
> As for suggestions for improvement, it is probably best to start
> discussions on the dev list. Part of our team is here in Bangkok as
> well (Johan, Matej, Jonathan and Martijn), but other active committers
> (like Igor and Al, who set up the IoC stuff) will have ideas to work
> from. And the rest can hook into any discussions at a later point.
>
> Thanks,
>
> Eelco
>
> On Thu, Feb 21, 2008 at 7:50 PM, Pete Muir <pete.muir at jboss.org>
> wrote:
>> Hi Eelco, Frank
>>
>> Apologies for being slow in getting back in contact with you.
>>
>> If you take a look at Seam trunk (we did an alpha release as Seam
>> 2.1.0.A1) you can find my work on Seam-Wicket integration. I
>> followed
>> a slightly different approach to both of you ;-)
>>
>> 1) I used Eelco's approach to support injection (my backend code
>> needs rewriting for this). The major issue I ran into here is
>> that we
>> need to "disinject" Seam components after the request as Seam
>> manages
>> their lifecycle, not Wicket. I currently don't have a good way of
>> doing this, and am using a proxy to do a lookup on each call to Seam
>> component (which is slow). I also corrected the logic so that it
>> followed Seam standards (Seam doesn't do injection based on type).
>>
>> 2) I created a base SeamWebPage class for users to extend. This
>> essentially sets up the Seam integration code, enables Seam
>> Security,
>> enables conversation propagation etc. We can probably try to factor
>> out some this code into other integration points
>>
>> 3) Ported the booking example across to run on wicket rather than
>> JSF
>> (see examples/wicket in Seam distro)
>>
>> 4) Wrote integration for model based validation
>>
>>
>> My future ideas
>> ----------------------
>>
>> 1) Improve integration code (including better way of doing
>> injection)
>> 2) Support outjection
>> 3) Support annotations like @Begin, @End, @BeginTask, @EndTask,
>> @RaiseEvent inside Wicket components (if you are familiar with Seam
>> +JSF, this is what pages.xml does)
>> 4) Finer grained Seam Security (currently @Restrict only works on
>> the
>> Page class)
>> 5) Port another example
>> 6) Support for "facesMessages" to transport messages from the
>> business layer to the view layer
>>
>> My major obstacle is lack of interceptors in Wicket (it makes it
>> hard
>> to hook into Wicket at the correct points) - any ideas? For example,
>> it would be good to do
>>
>> add(new Link("cancel")
>> {
>>
>> @Override
>> @RaiseEvent("someEvent")
>> public void onClick()
>> {
>> setResponsePage(Main.class);
>> }
>>
>> });
>>
>> But actually @RaiseEvent could go on any method.
>>
>> Any thoughts?
>>
>> Thanks,
>>
>> Pete
>>
>> --
>> Pete Muir
>> http://www.seamframework.org
>> http://in.relation.to/Bloggers/Pete
>>
>>
>>
>>
>>
--
Pete Muir
http://www.seamframework.org
http://in.relation.to/Bloggers/Pete
More information about the seam-dev
mailing list