@Minos : Perhaps you can re-send it, with Ate's comments included to the dev list. Hopefully someone on that list more familiar with the webdav module can inform us.
Would it be hard to create a patch containing the fix as suggested by Ate? Regards Ard On Wed, Feb 29, 2012 at 5:40 PM, Minos Chatzidakis <[email protected]> wrote: > No, no comment yet on the question. > > I agree it's very weird (and the first time I see it) implementing the > servlet Request/Response. I suppose it was easier this way to support the > http SEARCH method.. > A wrapper though could manage it quite as well... > > Anyway, thnx for looking into this > > > On Wed, Feb 29, 2012 at 5:13 PM, Ate Douma <[email protected]> wrote: > >> Any comment on this question? >> >> Looking just briefly at the code it seems odd to me in the first place >> that jackrabbit-webdav itself implements the ServletRequest class, whereas >> these interfaces are supposed to be container managed and implemented. >> >> Why isn't a HttpServletRequestWrapper used as base class instead? >> Now this WebdavRequestImpl is missing methods added to Servlet API 2.4+, >> as could/should have been anticipated. >> The current solution seems an anti-pattern to me. >> >> By the way: same thing for WebdavResponseImpl too. >> >> Ate >> >> >> On 02/27/2012 01:30 PM, Minos Chatzidakis wrote: >> >>> Hello Jackrabbit users, >>> >>> This email is >>> about class org.apache.jackrabbit.webdav.**WebdavRequestImpl from maven >>> module jackrabbit-webdav, a module bundled with the default jackrabbit >>> distribution. Class WebdavRequestImpl implements HttpServletRequest. >>> Extending this class I noticed that it misses 4 methods of the servlet >>> request spec. These are methods that were added from servlet-api version >>> 2.4 and onward. I'm using jackrabbit version 2.2.9 which was compiled >>> against servlet-api 2.3, so it makes sense that those methods are missing. >>> I expected however that updating my jackrabbit dependency to a later >>> version would solve my issue, but then I found out that: >>> >>> *Jackrabbit 2.3.6 is compiled against servlet-api 2.3*, as it can be seen >>> >>> here: >>> >>> http://svn.apache.org/repos/**asf/jackrabbit/tags/2.3.6/** >>> jackrabbit-parent/pom.xml<http://svn.apache.org/repos/asf/jackrabbit/tags/2.3.6/jackrabbit-parent/pom.xml> >>> >>> This means that even if I update my jackrabbit-webdav dependency, >>> class org.apache.jackrabbit.webdav.**WebdavRequestImpl will still be >>> missing >>> the 4 ServletRequest methods that were added in servlet-api 2.4 and >>> onward. >>> >>> Is there a specific reason that latest jackrabbit versions still use >>> servlet-api 2.3 ? >>> Is there a plan to change this? >>> >>> Thanks, >>> >>> Minos Chatzidakis >>> >>> >> > > > -- > With kind regards/Met vriendelijke groet, > Minos Chatzidakis > > Amsterdam - Oosteinde 11, 1017 WT Amsterdam > Boston - 1 Broadway, Cambridge, MA 02142 > > US +1 877 414 4776 (toll free) > Europe +31(0)20 522 4466 > www.onehippo.com -- Amsterdam - Oosteinde 11, 1017 WT Amsterdam Boston - 1 Broadway, Cambridge, MA 02142 US +1 877 414 4776 (toll free) Europe +31(0)20 522 4466 www.onehippo.com
