luetzkendorf    2004/09/17 08:39:34

  Modified:    src/webdav/server/org/apache/slide/webdav/method Tag:
                        SLIDE_2_1_RELEASE_BRANCH PropFindMethod.java
  Log:
  fix for bug 31156; PROPFIND now takes care about expired
  Lock-Null resources
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.105.2.1 +15 -4     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
  
  Index: PropFindMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
  retrieving revision 1.105
  retrieving revision 1.105.2.1
  diff -u -r1.105 -r1.105.2.1
  --- PropFindMethod.java       2 Aug 2004 16:36:01 -0000       1.105
  +++ PropFindMethod.java       17 Sep 2004 15:39:34 -0000      1.105.2.1
  @@ -54,6 +54,7 @@
   import org.apache.slide.webdav.util.DeltavConstants;
   import org.apache.slide.webdav.util.LabeledRevisionNotFoundException;
   import org.apache.slide.webdav.util.PropertyRetrieverImpl;
  +import org.apache.slide.webdav.util.UnlockListenerImpl;
   import org.apache.slide.webdav.util.VersioningHelper;
   import org.apache.slide.webdav.util.WebdavStatus;
   import org.apache.slide.webdav.util.WebdavUtils;
  @@ -352,7 +353,17 @@
                           }
                           
                           while (enum.hasMoreElements()) {
  -                            stackBelow.push(enum.nextElement());
  +                            // PROPFIND must not list Lock-Null resources that
  +                            // are timed out
  +                            ObjectNode node = (ObjectNode)enum.nextElement();
  +                            UnlockListenerImpl listener = new UnlockListenerImpl(
  +                                    slideToken, token, config, req, resp);
  +                            try {
  +                                lock.clearExpiredLocks(slideToken, node.getUri(), 
listener);
  +                                if (!listener.isRemovedLockResource(node.getUri())) 
{
  +                                    stackBelow.push(node);
  +                                }
  +                            } catch (SlideException e) { /* ignore */}
                           }
                           
                       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to