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]

Reply via email to