[Bedework-commit] webdav r98 - in
trunk/server/src/edu/rpi/cct/webdav/servlet: common shared
svnadmin at bedework.org
svnadmin at bedework.org
Thu Jun 28 00:54:48 EDT 2007
Author: douglm
Date: 2007-06-28 00:54:46 -0400 (Thu, 28 Jun 2007)
New Revision: 98
Modified:
trunk/server/src/edu/rpi/cct/webdav/servlet/common/MethodBase.java
trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsIntf.java
trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
Log:
CalDAV fixes to get Apples iCal working
Also a number of (benign) changes to use StringBuilder instead of StringBuffer
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/common/MethodBase.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/common/MethodBase.java 2007-06-20 15:06:58 UTC (rev 97)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/common/MethodBase.java 2007-06-28 04:54:46 UTC (rev 98)
@@ -463,7 +463,9 @@
}
addNs(pr.getTag().getNamespaceURI());
- intf.generatePropValue(node, pr, false);
+ if (!intf.generatePropValue(node, pr, false)) {
+ unknowns.add(pr);
+ }
}
}
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsIntf.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsIntf.java 2007-06-20 15:06:58 UTC (rev 97)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsIntf.java 2007-06-28 04:54:46 UTC (rev 98)
@@ -807,50 +807,49 @@
* @param node
* @param pr
* @param allProp true if we're doing allprop
- * @return int status
+ * @return boolean false for unknown (or unset)
* @throws WebdavException
*/
- public int generatePropValue(WebdavNsNode node,
- WebdavProperty pr,
- boolean allProp) throws WebdavException {
+ public boolean generatePropValue(WebdavNsNode node,
+ WebdavProperty pr,
+ boolean allProp) throws WebdavException {
QName tag = pr.getTag();
String ns = tag.getNamespaceURI();
- int status = HttpServletResponse.SC_OK;
try {
/* Deal with webdav properties */
if (!ns.equals(WebdavTags.namespace)) {
// Not ours
- xml.emptyTag(tag);
- return HttpServletResponse.SC_NOT_FOUND;
+ //xml.emptyTag(tag);
+ return false;
}
if (tag.equals(WebdavTags.lockdiscovery)) {
// dav 13.8
- xml.emptyTag(tag);
- return HttpServletResponse.SC_NOT_FOUND;
+ //xml.emptyTag(tag);
+ return false;
}
if (tag.equals(WebdavTags.source)) {
// dav 13.10
- xml.emptyTag(tag);
- return HttpServletResponse.SC_NOT_FOUND;
+ //xml.emptyTag(tag);
+ return false;
}
if (tag.equals(WebdavTags.supportedlock)) {
// dav 13.11
- xml.emptyTag(tag);
- return HttpServletResponse.SC_NOT_FOUND;
+ //xml.emptyTag(tag);
+ return false;
}
if (tag.equals(WebdavTags.aclRestrictions)) {
// access 5.5
- return HttpServletResponse.SC_NOT_FOUND;
+ return false;
}
if (tag.equals(WebdavTags.inheritedAclSet)) {
// access 5.6
- return HttpServletResponse.SC_NOT_FOUND;
+ return false;
}
if (tag.equals(WebdavTags.principalCollectionSet)) {
@@ -862,19 +861,18 @@
}
xml.closeTag(WebdavTags.principalCollectionSet);
- return status;
+ return true;
}
/* Try the node for a value */
if (node.generatePropertyValue(tag, this, allProp)) {
// Generated by node
- return status;
+ return true;
}
// Not known
- xml.emptyTag(tag);
- return HttpServletResponse.SC_NOT_FOUND;
+ return false;
} catch (WebdavException wde) {
throw wde;
} catch (Throwable t) {
Modified: trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java
===================================================================
--- trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java 2007-06-20 15:06:58 UTC (rev 97)
+++ trunk/server/src/edu/rpi/cct/webdav/servlet/shared/WebdavNsNode.java 2007-06-28 04:54:46 UTC (rev 98)
@@ -525,6 +525,11 @@
if (tag.equals(WebdavTags.resourcetype)) {
// dav 13.9
+ if (!isPrincipal() && !isCollection()) {
+ xml.emptyTag(tag);
+ return true;
+ }
+
xml.openTag(tag);
if (isPrincipal()) {
More information about the Bedework-commit
mailing list