[Bedework-commit] webdav r74 - in trunk/server/src/edu/rpi/cct/webdav/servlet: common shared

svnadmin at bedework.org svnadmin at bedework.org
Tue Mar 13 11:00:56 EDT 2007


Author: douglm
Date: 2007-03-13 11:00:55 -0400 (Tue, 13 Mar 2007)
New Revision: 74

Modified:
   trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropFindMethod.java
   trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropPatchMethod.java
   trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
Log:
Fix bug in xmlutil - reversed result from isEmpty
Fix parsing of wedav proppatch

Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropFindMethod.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropFindMethod.java	2007-03-02 05:47:44 UTC (rev 73)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropFindMethod.java	2007-03-13 15:00:55 UTC (rev 74)
@@ -134,7 +134,10 @@
     }
 
     if (debug) {
-      trace("PropFindMethod: depth=" + depth + " type=" + parsedReq.reqType);
+      trace("PropFindMethod: depth=" + depth);
+      if (parsedReq != null) {
+        trace("                type=" + parsedReq.reqType);
+      }
     }
 
     startEmit(resp);
@@ -154,25 +157,21 @@
         throw new WebdavBadRequest();
       }
 
-      Element[] children = getChildren(root);
+      Element curnode = getOnlyChild(root);
 
-      for (int i = 0; i < children.length; i++) {
-        Element curnode = children[i];
-        String ns = curnode.getNamespaceURI();
+      String ns = curnode.getNamespaceURI();
 
-        addNs(ns);
+      addNs(ns);
 
-        if (debug) {
-          String nm = curnode.getLocalName();
+      if (debug) {
+        String nm = curnode.getLocalName();
 
-          trace("reqtype: " + nm + " ns: " + ns);
-        }
-
-        parsedReq = tryPropRequest(curnode);
-        if (parsedReq != null) {
-          break;
-        }
+        trace("reqtype: " + nm + " ns: " + ns);
       }
+
+      parsedReq = tryPropRequest(curnode);
+    } catch (WebdavException wde) {
+      throw wde;
     } catch (Throwable t) {
       System.err.println(t.getMessage());
       if (debug) {

Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropPatchMethod.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropPatchMethod.java	2007-03-02 05:47:44 UTC (rev 73)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/common/PropPatchMethod.java	2007-03-13 15:00:55 UTC (rev 74)
@@ -224,23 +224,23 @@
       Element[] children = getChildren(node);
 
       for (int i = 0; i < children.length; i++) {
-        Element curnode = children[i];
+        Element srnode = children[i]; // set or remove
         PropertySetList plist;
 
-        if (WebdavTags.set.nodeMatches(curnode)) {
-          plist = new PropertySetList();
+        Element propnode = getOnlyChild(srnode);
 
-          curnode = getOnlyChild(curnode);
+        if (!WebdavTags.prop.nodeMatches(propnode)) {
+          throw new WebdavBadRequest();
+        }
 
-          if (!WebdavTags.prop.nodeMatches(curnode)) {
-            throw new WebdavBadRequest();
-          }
+        if (WebdavTags.set.nodeMatches(srnode)) {
+          plist = new PropertySetList();
 
-          processPlist(plist, curnode, false);
-        } else if (WebdavTags.remove.nodeMatches(curnode)) {
+          processPlist(plist, propnode, false);
+        } else if (WebdavTags.remove.nodeMatches(srnode)) {
           plist = new PropertySetList();
 
-          processPlist(plist, curnode, true);
+          processPlist(plist, propnode, true);
         } else {
           throw new WebdavBadRequest();
         }

Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java	2007-03-02 05:47:44 UTC (rev 73)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java	2007-03-13 15:00:55 UTC (rev 74)
@@ -332,6 +332,7 @@
       if (tag.equals(WebdavTags.getcontentlength)) {
         // dav 13.4
         if (!getAllowsGet()) {
+          xml.property(tag, "0");
           return true;
         }
         xml.property(tag, String.valueOf(getContentLen()));



More information about the Bedework-commit mailing list