Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
1.4-M1
-
None
-
None
-
Any
Description
Hi,
I don't know if it is the right place to post this So here is the request:
We wanted to use wicket with Guice, but we found some limitations in the source code and Guice integration. So i decided to extract all the classes i developped in a project : wicket-contrib at http://code.google.com/p/wicket-contrib/. You can find all the improved wicket classes with a user guide explaining how to use the changes, but i hardly suggest you checkout the code base, issue a mvn idea:idea and run the sample webapps as described in the user guide.
Here is the list of our concerns:
1 - we wanted to have the minimal configuration to do - using Convention Over Configuration, but still be able to customize as wee need
2 - we wanted to be able to use a ReloadableClassloader when testing mutliple wicket apps in the same webapp
3 - we wanted to have a real simple way to use Guice with wicket
4 - we wanted to have Guice features provided, like the ability to use scope bindings (request, session, flash), and also the ability to integration easily WARP modules for persistence, security, ... from http://www.wideplay.com/
5 - we wanted to use wicket testing features without junit but with TestNG and also with Guice integration
We found some limitations in the current code base of wicket (1.4-SNAPSHOT):
1 - Too many configurations in the web.xml file
2 - Must provide a WebApplication
3 - Must change the filter if we want to use reloadable classloader
4 - ReloadableClassloader has static configuration, which prevents using it in a web.xml file that contains several wicket applications
5 - Guice integration is very limited - no scopes bindings, cannot inject HttpSession, request and response to classes, ...
6 - WicketTester is completely binded to Junit,
7 - The way WicketTester has been developped, with many inheritances, makes it very difficult to extend and provide different behavior. I.e, when we enhanced the wicket tester, we wanted to provide our proper WicketApplication already configured through our filter. But the MockWebApplication class has no constructor that simply take has argument a configured - ready to use WebApplication (it recreate a filter, etc...)
So this issue is much more a improvement request: wicket-contrib code could be taken / modified / integrated in Wicket code base to improve Guice support, testing features, and also to fix issues about reloading classloader, wicket tester binded to junit, ...
Hope it will help !
Mathieu.