luetzkendorf 2005/02/23 04:42:37
Modified: src/webdav/server/org/apache/slide/webdav/method
LockMethod.java
Log:
fix for 31698 (LockMethod does not fire WebdavEvent)
Revision Changes Path
1.75 +19 -12
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.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- LockMethod.java 26 Oct 2004 20:06:01 -0000 1.74
+++ LockMethod.java 23 Feb 2005 12:42:37 -0000 1.75
@@ -42,6 +42,7 @@
import org.apache.slide.content.NodeRevisionDescriptors;
import org.apache.slide.content.RevisionAlreadyExistException;
import org.apache.slide.content.RevisionDescriptorNotFoundException;
+import org.apache.slide.event.EventDispatcher;
import org.apache.slide.event.VetoException;
import org.apache.slide.lock.NodeLock;
import org.apache.slide.lock.ObjectIsAlreadyLockedException;
@@ -55,6 +56,7 @@
import org.apache.slide.util.XMLValue;
import org.apache.slide.webdav.WebdavException;
import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.event.WebdavEvent;
import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.WebdavConstants;
import org.apache.slide.webdav.util.WebdavStatus;
@@ -353,7 +355,7 @@
toLockSubject = getToLockSubject();
if (lockDate == null)
lockDate = new Date((new Date()).getTime()
- + ((long) lockDuration * 1000L));
+ + (lockDuration * 1000L));
NodeLock lockToken = new
NodeLock(toLockSubject.getUri(),((SubjectNode)security.getPrincipal(slideToken)).getUri(),
namespaceConfig.getCreateObjectAction().getUri(), lockDate,
inheritance,
NodeLock.LOCAL, lockInfo_lockOwner);
@@ -373,12 +375,11 @@
} else if (lockInfo_lockType.equals(E_WRITE)) {
try {
- if (!checkIfHeaders()) {
- return;
- }
-
- NamespaceConfig namespaceConfig = token
- .getNamespaceConfig();
+ if (!checkIfHeaders()) {
+ return;
+ }
+
+ NamespaceConfig namespaceConfig =
token.getNamespaceConfig();
toLockSubject = getToLockSubject();
NodeLock lockToken = null;
@@ -387,12 +388,18 @@
if (lockDate == null)
lockDate = new Date((new
Date()).getTime()
- + ((long)
lockDuration * 1000L));
+ + (lockDuration
* 1000L));
lockToken = new NodeLock(toLockSubject,
(SubjectNode)
security.getPrincipal(slideToken),
namespaceConfig.getCreateObjectAction(), lockDate,
inheritance, exclusive,
lockInfo_lockOwner);
+
+ if (WebdavEvent.LOCK.isEnabled() ) {
+
EventDispatcher.getInstance().fireVetoableEvent(
+ WebdavEvent.LOCK, new
WebdavEvent(this));
+ }
+
lock.lock(slideToken, lockToken);
// Set the lock-token header
@@ -456,7 +463,7 @@
NodeLock currentLockToken = null;
Date newExpirationDate = new Date((new
Date()).getTime()
- + ((long) lockDuration *
1000L));
+ + (lockDuration * 1000L));
while (lockTokens.hasMoreElements()) {
currentLockToken = (NodeLock)
lockTokens.nextElement();
lock.renew(slideToken,
currentLockToken, newExpirationDate);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]