pnever 2004/12/20 04:07:24
Modified: src/share/org/apache/slide/macro MacroImpl.java
src/webdav/server/org/apache/slide/webdav/method
RebindMethod.java
Log:
REBIND- postpondition DAV:lock-deleted :
Removing the locks before doing the actual rebind seems saver ... had
problems with my store
Revision Changes Path
1.54 +9 -9
jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java
Index: MacroImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- MacroImpl.java 15 Dec 2004 16:30:19 -0000 1.53
+++ MacroImpl.java 20 Dec 2004 12:07:24 -0000 1.54
@@ -391,14 +391,14 @@
copyListener.beforeCopy(sourceUri, destinationUri, true);
}
- structureHelper.addBinding( token, destinationParentNode,
destinationSegment, sourceNode );
- structureHelper.removeBinding( token, sourceParentNode,
sourceSegment );
-
- // Postcondition: DAV:lock-delete
- Enumeration locksEnum = lockHelper.enumerateLocks(token,
destinationUri, false);
+ // Postcondition: DAV:lock-deleted
+ Enumeration locksEnum = lockHelper.enumerateLocks(token,
sourceUri, false);
while (locksEnum.hasMoreElements()) {
lockHelper.unlock(token, (NodeLock)locksEnum.nextElement());
}
+
+ structureHelper.addBinding( token, destinationParentNode,
destinationSegment, sourceNode );
+ structureHelper.removeBinding( token, sourceParentNode,
sourceSegment );
}
catch (SlideException x) {
e.addException(x);
1.20 +8 -8
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java
Index: RebindMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/RebindMethod.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- RebindMethod.java 14 Dec 2004 14:07:42 -0000 1.19
+++ RebindMethod.java 20 Dec 2004 12:07:24 -0000 1.20
@@ -209,15 +209,15 @@
if ( WebdavEvent.REBIND.isEnabled() )
EventDispatcher.getInstance().fireVetoableEvent(WebdavEvent.REBIND, new
WebdavEvent(this));
checkPreconditions();
- structure.addBinding( slideToken, collectionNode, segment,
sourceNode );
- structure.removeBinding( slideToken, sourceParentNode,
sourceSegment );
- // Postcondition: DAV:lock-delete
- UriPath destUp = new UriPath(collectionUri).child(segment);
- Enumeration locksEnum = lock.enumerateLocks(slideToken,
destUp.toString(), false);
+ // Postcondition: DAV:lock-deleted
+ Enumeration locksEnum = lock.enumerateLocks(slideToken,
sourceUri, false);
while (locksEnum.hasMoreElements()) {
lock.unlock(slideToken, (NodeLock)locksEnum.nextElement());
}
+
+ structure.addBinding( slideToken, collectionNode, segment,
sourceNode );
+ structure.removeBinding( slideToken, sourceParentNode,
sourceSegment );
}
catch (CrossServerBindingException e) {
sendPreconditionViolation(
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]