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]

Reply via email to