From be7e7e32b966bc5cffc5d35af845b2e54178746a Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Sun, 28 Feb 2016 16:21:59 +0100 Subject: [PATCH] Same fix as previously made in commit 1a81b3a781f74c4e27318683aa19cf980443aa20: Deleting a DAV resource implicitly unlocks it. --- .../frontend/webdav/jackrabbitservlet/DavFolder.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/jackrabbitservlet/DavFolder.java b/main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/jackrabbitservlet/DavFolder.java index 861e8ffd9..be079ca02 100644 --- a/main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/jackrabbitservlet/DavFolder.java +++ b/main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/jackrabbitservlet/DavFolder.java @@ -26,6 +26,7 @@ import org.apache.jackrabbit.webdav.DavServletResponse; import org.apache.jackrabbit.webdav.DavSession; import org.apache.jackrabbit.webdav.io.InputContext; import org.apache.jackrabbit.webdav.io.OutputContext; +import org.apache.jackrabbit.webdav.lock.ActiveLock; import org.apache.jackrabbit.webdav.lock.LockManager; import org.apache.jackrabbit.webdav.property.DavProperty; import org.apache.jackrabbit.webdav.property.DavPropertyName; @@ -102,6 +103,9 @@ class DavFolder extends DavNode { @Override public void removeMember(DavResource member) throws DavException { + for (ActiveLock lock : member.getLocks()) { + member.unlock(lock.getToken()); + } final Node child = getMemberNode(member.getDisplayName()); child.delete(); }