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

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


Reply via email to