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]

Reply via email to