소스 검색

Same fix as previously made in commit 1a81b3a781f74c4e27318683aa19cf980443aa20: Deleting a DAV resource implicitly unlocks it.

Sebastian Stenzel 9 년 전
부모
커밋
be7e7e32b9
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/jackrabbitservlet/DavFolder.java

+ 4 - 0
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<FolderLocator> {
 
 	@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();
 	}