One more thing, On 08/24/2010 01:17 AM, Alex Busenius wrote: > Hi devs, > > > I propose to move servlet filters out of the old core to > xwiki-container-servlet. > > > There are 3 filters, > > com.xpn.xwiki.web.SetCharacterEncodingFilter > com.xpn.xwiki.web.SavedRequestRestorerFilter > com.xpn.xwiki.web.ActionFilter > > They are almost self-contained (except for ActionFilter, see a note > later) and are easy to move. Moreover, SavedRequestRestorerFilter offers > functionality to save the request, that might also be useful in other > places (like csrf-token). There is (currently) no need for portlet > filters, so moving filters into a separate module doesn't seem to be > worth it. > > Since the filters are not used directly, I'd move them into > org.xwiki.container.servlet.filters.internal and public methods used > elsewhere into org.xwiki.container.servlet.filters. > > Note that xwiki-core would become dependent on xwiki-container-servlet > (it currently depends on container-api), but it shouldn't be a problem. > > > In more detail, > > * SetCharacterEncodingFilter would be moved as is to filters.internal. > > * SavedRequestRestorerFilter would be split into the actual filter and > SavedRequestManager that would contain the static methods > String getOriginalUrl(HttpServletRequest) > String saveRequest(HttpServletRequest) > String getRequestIdentifier() > SavedRequestManager could also be a component, but it would make it > more complicated to use from the filter. > > * ActionFilter should be moved to filters.internal too, but it uses > XWiki.stripSegmentFromPath(String, String) to parse the URL and > replace the action part by the stored value. > I've just noticed that ActionFilter also uses old xwiki configuration in the URL parsing code (xwiki.virtual.usepath and xwiki.virtual.usepath.servletpath). So moving this code to xwiki-url would also require moving those configuration keys to xwiki.properties.
Alex > > There are 2 other copies of the URL parsing code that uses > stripSegmentFromPath(...), in XWiki.getDocumentReference(...) and > XWiki.getXWiki(...), I can think of 3 alternatives: > 1. Leave ActionFilter in the core > 2. Move URL parsing code into xwiki-url, i.e. add/implement missing > methods to create XWikiURL from string representation and extract > host, action, document reference and parameters from it. > 3. Move stripSegmentFromPath(...) to xwiki-container-servlet too > > > I'm +1 for 2, since it's the cleanest option. > > > WDYT? > > > Thanks, > Alex > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

