pnever 2004/08/19 09:00:16
Modified: src/webdav/server/org/apache/slide/webdav/method Tag:
SLIDE_2_0_RELEASE_BRANCH AbstractWebdavMethod.java
Log:
Fixed: when a lock-null resource tmed-out, it wasn't removed
Revision Changes Path
No revision
No revision
1.20.2.8 +19 -4
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java
Index: AbstractWebdavMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/AbstractWebdavMethod.java,v
retrieving revision 1.20.2.7
retrieving revision 1.20.2.8
diff -u -r1.20.2.7 -r1.20.2.8
--- AbstractWebdavMethod.java 18 Jun 2004 16:07:10 -0000 1.20.2.7
+++ AbstractWebdavMethod.java 19 Aug 2004 16:00:16 -0000 1.20.2.8
@@ -309,6 +309,8 @@
parseRequestHeaders();
boolean transactionIsStarted = false;
+ boolean removedLockNullResource = false;
+
try {
parseRequest();
if (methodNeedsTransactionSupport()) {
@@ -337,6 +339,7 @@
content.remove(slideToken, revisionDescriptors);
ObjectNode node = structure.retrieve(slideToken,
requestUri);
structure.remove(slideToken, node);
+ removedLockNullResource = true;
}
} catch (ObjectNotFoundException onfe) {
// XXX do not report as there might simply be no
resource here
@@ -348,7 +351,19 @@
}
}
- executeRequest();
+ if (!removedLockNullResource) {
+ executeRequest();
+ }
+ else {
+ if (methodNeedsTransactionSupport()) {
+ token.commit();
+ transactionIsStarted = false;
+ }
+ int statusCode = WebdavStatus.SC_NOT_FOUND;
+ sendError(statusCode);
+ throw new WebdavException(statusCode);
+ }
+
if (methodNeedsTransactionSupport()) {
token.commit();
transactionIsStarted = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]