Hi folks !
As I was saying in post
http://mail-archives.apache.org/mod_mbox/jakarta-slide-dev/200508.mbox/[EMAIL PROTECTED]
I think that slide layers should be more cleanly separated. The design
approach for v3 exposed in
http://wiki.apache.org/jakarta-slide/DesignApproach
seem a good idea. Going one step in this direction I've separated the
Webdav implementation of slide from any HTTP semantic. Why ? because if
you want to embed a webdav implementation in a software, you're forced
to do local webdav call with HTTP which is silly and not performant.
the proposed layers are hereunder :
+=============================+ +===========================+
+ WebDAV "simple" personality + + WebDAV servlet personality+
+=============================+ +===========================+
+============================================================+
+ Webdav "Core" +
+============================================================+
the core uses interfaces representing :
- the request context
- the response context
- the webdav config.
Both personalities implements these 3 interfaces and their related classes.
Having this leads to be able to :
- package a webdav implementation that doesn't need HTTP at all (core +
simple personality)
- package a webdav implementation that is only HTTP and available as a
war (core + servlet personality)
- package a webdav implementation that can do both (core + both
personalities)
The interesting part of this is that it is not breaking anything : we
keep all the high level semantic of webdav and make it accesible in a
local fashion.
The introduction of the interfaces has asked to refactor each method.
The refactoring is quite straight forward. I've not refactored all
methods yet but a great part of it have been done. I guess this is
largely sufficient to say if I'm walking on the head or not.
Please find here (http://fdewasmes.free.fr/slide) my proposal. (file is
too large for apache mail server)
This is maven based but I've written an ant script for those who aren't
confortable with maven. This builds 5 modules :
- one jar for each module (core, simple personality, servlet personality)
- a client jar for the simple personality
- a war package demonstrating that everything works (or so !) using core
+ servlet personality.
For me this is a proposal for v3. If accepted we can take most of the
work I've already done, run the test suite and refactor the remaining
methods.
Tell me what you think !
Fabrice Dewasmes
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]