jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Minos Chatzidakis <m.chatzida...@onehippo.com>
Subject Re: Jackrabbit servlet-api dependency
Date Thu, 01 Mar 2012 11:28:22 GMT
Well I don't think patching it is simple. This because looking at the
request and response implementations, I see these are kinda of wrappers
too. It's like a hybrid. These implementations provide a constructor that
accepts the original (container managed) request or response and they do
delegate most of the calls to the managed request/response. I think the
main problem is that webdav is http and they need to support some
extensions on this. Like, new status codes, being stateful (I'm seeing a
webdav session), supporting the http SEARCH method and more, low level
additions to the http request and response. From my point of view I don't
see something a wrapper couldn't handle. But implementing servlet
request/response is so unusual that I guess I'm missing something, there
must be more serious reasons for this.

@Ard: yes using the dev-list sounds like a very good idea. Thnx

Regards,
Minos


On Thu, Mar 1, 2012 at 9:12 AM, Ard Schrijvers <a.schrijvers@onehippo.com>wrote:

> @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
> <m.chatzidakis@onehippo.com> 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 <ate@douma.nu> 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
>



-- 
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message