Handles Portlet specific filtering requirements.
The WicketFilterPortletContext first checks if it is a Portlet based request or a direct browser (servlet) request. If the request is a direct browser request it simply delegates the request to the {@link WicketFilter} and "normal" Wicket web application handling continues. This allowsdeploying the same Wicket application (with the same web.xml) as a normal web application too (as long as you don't use portlet specific features within your application). If the request is dispatched from the WicketPortlet (easily determined from request attributes), the WicketPortletFilter wraps the servlet request and response objects with specialized portlet environment versions. Furthermore, the Servlet Session object will be wrapped to provide an isolated PORTLET_SCOPED session to Wicket to support multiple windows of the same portlet. And the RenderStrategy {@link IRequestCycleSettings#REDIRECT_TO_RENDER} will have to be enforced wheninvoked from portlet processAction, otherwise {@link IRequestCycleSettings#ONE_PASS_RENDER}. Thereafter, the {@link WicketFilterPortletContext} can let the standard {@link WicketFilter}handle the request as if it were a "normal" web based request.
@see WicketFilter
@author Ate Douma