[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