Quoting Christopher Lenz <[EMAIL PROTECTED]>:

> 28.06.2001 19:10:54, "Remy Maucherat" <[EMAIL PROTECTED]> wrote:
> 
> >> Hello,
> >>   Does any of the Stores implement versioning? Eg new 
> NodeRevisionNumber
> >> during a PUT operation if the file already exists?
> >
> >The stores support revisions (all of them should be ok), but the 
> WebDAV
> >layer doesn't attempt to create any (instead, it overwrites). 
> Obviously,
> >we'll change that when we start working on Delta V ;-)
> >
> >Remy
> 
> are there plans to refactor the webdav-server before moving on to 
> DeltaV/DASL-support ?

No, not too much.

> IMHO there could be a lot more reuse of code especially between the 
> WebdavMethod classes... classes like PropFindMethod seem fairly huge 
> and error-prone. CopyMethod and MoveMethod are almost identical, the 
> code repeated in each class instead of extending a common base or 
> delegating to a helper.

- Copy duplicates code from move. Yes, indeed. About 100 lines, and it's quite 
easy to fix.
- Propfind is huge, but its functionality isn't duplicated in any other method. 
Any split would be artificial. On the client side, a lot of methods needs to be 
able to parse a multistatus, so the code is in a separate abstract class, which 
is extended by every other. I don't see any need to make architectural changes 
in the server side propfind, but the implementation should be improved.

> I am currently working on an alternative webdav-layer on top of the 
> slide-api (for university), experimenting with different approaches in 
> that area... in particular including an extra abstraction layer 
> between the core webdav-functionalty and slide. would there any 
> interest in this from your side ?

Another DAV layer could be interesting if it's better than the current one, but 
I'm not interested in adding a new abstraction layer.
The arcitecture diagram (http://jakarta.apache.org/slide/images/arch-int1.png) 
shows there are already two abstraction layers for the data (and one object 
model to represent the data) :
- the helpers, which are the Slide API
- the store API
Maybe I missed something, but adding a third abstraction layer (with another 
intermediate object model) would be overkill IMO.

There is another (although simpler and more monolithic) WebDAV implementation, 
in Tomcat 4, which uses a diferent abstraction (a JNDI directory context).

Remy

Reply via email to