Greetings,
I've been working on wicket integration, and I have a number of things done that I'd like to contirbute:
* An ant task to instrument wicket components at build time
* Fixes to make it possible to hot-deploy wicket components that have been instrumented by that task.
* Fixes to problems surrounding inheritance and wicket components.
(Currently if you try to inherit one wicket component from another, and seam tries to instrument both, you'll hit lots of problems. The fixes are both in how the components are instrumented and how WicketComponent/WicketHandler function.)
* Fixes to make it possible for jsf, wicket, and other web tier components (i.e. struts, using ContextFilter) to co-exist in the same deployment, which is a requirement of ours.
I'd like to know how you suggest I go about submitting all this. Should I create jira issues for each, and then attach the patches to each? Many are entangled, so I can do this, but it will be harder for me, and harder for whomever integrates, as the patches will collide.
For the last one (jsf/wicket co-existence) I'd like to have a discussion on best practice. The current approach of having things like WicketExceptionFilter, WicketManager, and WicketStatusMessages override the defaults if they are present, based on class dependencies, obviously doesn't work for the above goal. Some sort of architecture is needed to use the correct component based on the type of request, which means we need someone to say "whose request is this?" Should that discussion happen on this list, or through jira issue comments?
Also, with regard to the ant task, I don't know how you want that packaged. Is the plan to keep the just-in-time instrumentation of WEB-INF/wicket (which isn't hot-deployment-compatible) as an option, with build time instrumentation as the default (i.e. the default in seam-gen'd build files?) Or get rid of the just-in-time thing? Currently I have JavassistInstrumentor extending extending org.apache.tools.ant.Task, but I have it in a separate project to build the task jar. It also could remain in jboss-seam.jar.
I'm very happy with the results. JSF/RichFaces has unfortunately been a nightmare for us in terms of maintainability, testability, and general bugginess, butI didn't want to dump seam's contextual model, security support, and event support in order to move to Wicket. I'm very glad I don't have to do so :)
Thanks,
-Clint