ozeigermann 2004/03/23 05:32:08
Modified: src/webdav/server/org/apache/slide/webdav/method Tag:
SLIDE_2_0_RELEASE_BRANCH AbstractWebdavMethod.java
LockMethod.java
Log:
Removed hack in LockMethod that made lock timeout infinite on null resources.
Instead experied locks on null resource cause the resource to be deleted
in AbstractWebdavMethod.
Revision Changes Path
No revision
No revision
1.20.2.2 +20 -3
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.1
retrieving revision 1.20.2.2
diff -u -r1.20.2.1 -r1.20.2.2
--- AbstractWebdavMethod.java 5 Feb 2004 16:11:23 -0000 1.20.2.1
+++ AbstractWebdavMethod.java 23 Mar 2004 13:32:08 -0000 1.20.2.2
@@ -309,6 +309,23 @@
UnlockListener listener =
new UnlockListenerImpl( slideToken, token, config, req, resp );
lock.clearExpiredLocks( slideToken, requestUri, listener );
+
+ // if the URI has no more locks associated to it and is
+ // a lock-null resource, we must attempt to delete it
+
+ Enumeration locks = lock.enumerateLocks(slideToken, requestUri);
+ if (!locks.hasMoreElements()) {
+
+ NodeRevisionDescriptors revisionDescriptors =
content.retrieve(slideToken, requestUri);
+ NodeRevisionDescriptor revisionDescriptor =
content.retrieve(slideToken, revisionDescriptors);
+ if (isLockNull(revisionDescriptor)) {
+ content.remove(slideToken, requestUri, revisionDescriptor);
+ content.remove(slideToken, revisionDescriptors);
+ ObjectNode node = structure.retrieve(slideToken,
requestUri);
+ structure.remove(slideToken, node);
+ }
+ }
+
}
catch (SlideException e) {}
1.55.2.3 +3 -11
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LockMethod.java
Index: LockMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/LockMethod.java,v
retrieving revision 1.55.2.2
retrieving revision 1.55.2.3
diff -u -r1.55.2.2 -r1.55.2.3
--- LockMethod.java 14 Mar 2004 18:14:56 -0000 1.55.2.2
+++ LockMethod.java 23 Mar 2004 13:32:08 -0000 1.55.2.3
@@ -367,14 +367,6 @@
// Creating the revision descriptor
content.create(slideToken, lockInfo_lockSubject,
revisionDescriptor, null);
-
- // HACK
- // Setting a max timeout when creating a lock-null
- // resource because the associated lock-null wouldn't
- // be automatically removed when the lock expires
- lockDate = new Date((new Date()).getTime()
- + ((long)MAX_TIMEOUT * 1000L));
-
}
NodeLock lockToken = null;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]