You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2004/09/17 17:39:34 UTC

cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method PropFindMethod.java

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: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org