From: Anton K. <ak...@de...> - 2010-09-26 14:23:32
|
Hi Dannes, On 26.09.2010 16:28, Dannes Wessels wrote: > (2) I'll dive into it myself. It is impossible in exist to get a lock on > collection. I implemented it by using a null reference, but that does > not work as it seems. I have some ideas how to improve this Unfortunately, my knowledge in eXist locking is nearly zero, but you mentioned twice collection locks - actually in my first note, client issues LOCK on non existing resource (not collection): 192.168.2.124 - - [25/IX/2010:01:03:48 +0000] "LOCK /exist/webdav2/db/test/t5 HTTP/1.1" 500 47 t5 in touch /db/test/t5 is resource, test is existing collection BTW, old implementation execution flow reaches createNullResource: http://exist.svn.sourceforge.net/viewvc/exist/trunk/eXist/src/org/exist/http/webdav/methods/Lock.java?view=markup#l84 during processing of the request. > > Does the size affect the correct operation of the client? I really don't > hope, because I cannot think of a good solution. Unfortunately yes :-(. May be one of possible workarounds is: Subclass MiltonDocument (): http://exist.svn.sourceforge.net/viewvc/exist/trunk/eXist/extensions/webdav/src/org/exist/webdav/MiltonDocument.java?view=markup#l67 with let say MD2: public Long getContentLength() { return null; } then in getResource: http://exist.svn.sourceforge.net/viewvc/exist/trunk/eXist/extensions/webdav/src/org/exist/webdav/ExistResourceFactory.java?view=markup#l104 use MD2 instead of MiltonDocument (this will produce the same behavior as old implementation - x*4k in PROPFIND, chunked in GET) Kind regards, Anton |