[Bedework-commit] caldav r136 -
trunk/server/src/org/bedework/caldav/server
svnadmin at bedework.org
svnadmin at bedework.org
Sat Mar 24 23:06:05 EDT 2007
Author: douglm
Date: 2007-03-24 23:06:02 -0400 (Sat, 24 Mar 2007)
New Revision: 136
Modified:
trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java
trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java
trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java
Log:
Changes to setting of CalDAV properties
Also fail all when any fails
Modified: trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java 2007-03-25 00:38:43 UTC (rev 135)
+++ trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java 2007-03-25 03:06:02 UTC (rev 136)
@@ -193,60 +193,6 @@
return "W/\"" + val + "\"";
}
- /* (non-Javadoc)
- * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
- */
- public SetPropertyResult removeProperty(Element val) throws WebdavException {
- warn("Unimplemented - removeProperty");
- SetPropertyResult spr = new SetPropertyResult(val);
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - removeProperty";
-
- return spr;
- }
-
- /* (non-Javadoc)
- * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
- */
- public SetPropertyResult setProperty(Element val) throws WebdavException {
- SetPropertyResult spr = new SetPropertyResult(val);
-
- if (cal == null) {
- spr.status = HttpServletResponse.SC_NOT_FOUND;
- spr.message = "Not found";
- return spr;
- }
-
- try {
- if (WebdavTags.description.nodeMatches(val)) {
- cal.setDescription(XmlUtil.getElementContent(val));
- } else if (CaldavTags.calendarDescription.nodeMatches(val)) {
- cal.setDescription(XmlUtil.getElementContent(val));
- } else if (WebdavTags.displayname.nodeMatches(val)) {
- cal.setSummary(XmlUtil.getElementContent(val));
- } else if (CaldavTags.calendarFreeBusySet.nodeMatches(val)) {
- // Only valid for inbox
- if (cal.getCalType() != BwCalendar.calTypeInbox) {
- throw new WebdavForbidden("Not on inbox");
- }
-
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - calendarFreeBusySet";
- warn("Unimplemented - calendarFreeBusySet");
- } else if (CaldavTags.calendarTimezone.nodeMatches(val)) {
- warn("Unimplemented - calendarTimezone");
- } else {
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- }
-
- return spr;
- } catch (WebdavException wde) {
- throw wde;
- } catch (Throwable t) {
- throw new WebdavException(t);
- }
- }
-
/**
* @return true if scheduling allowed
* @throws WebdavException
@@ -429,6 +375,72 @@
* ==================================================================== */
/* (non-Javadoc)
+ * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
+ */
+ public boolean removeProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
+ warn("Unimplemented - removeProperty");
+
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
+ */
+ public boolean setProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
+ if (super.setProperty(val, spr)) {
+ return true;
+ }
+
+ try {
+ if (WebdavTags.description.nodeMatches(val)) {
+ if (checkCalForSetProp(spr)) {
+ cal.setDescription(XmlUtil.getElementContent(val));
+ }
+ return true;
+ }
+
+ if (CaldavTags.calendarDescription.nodeMatches(val)) {
+ if (checkCalForSetProp(spr)) {
+ cal.setDescription(XmlUtil.getElementContent(val));
+ }
+ return true;
+ }
+
+ if (WebdavTags.displayname.nodeMatches(val)) {
+ if (checkCalForSetProp(spr)) {
+ cal.setSummary(XmlUtil.getElementContent(val));
+ }
+ return true;
+ }
+
+ if (CaldavTags.calendarFreeBusySet.nodeMatches(val)) {
+ // Only valid for inbox
+ if (cal.getCalType() != BwCalendar.calTypeInbox) {
+ throw new WebdavForbidden("Not on inbox");
+ }
+
+ spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
+ spr.message = "Unimplemented - calendarFreeBusySet";
+ warn("Unimplemented - calendarFreeBusySet");
+ return true;
+ }
+
+ if (CaldavTags.calendarTimezone.nodeMatches(val)) {
+ warn("Unimplemented - calendarTimezone");
+ return true;
+ }
+
+ return false;
+ } catch (WebdavException wde) {
+ throw wde;
+ } catch (Throwable t) {
+ throw new WebdavException(t);
+ }
+ }
+
+ /* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#generatePropertyValue(edu.rpi.sss.util.xml.QName, edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf, boolean)
*/
public boolean generatePropertyValue(QName tag,
@@ -572,4 +584,14 @@
/* ====================================================================
* Private methods
* ==================================================================== */
+
+ private boolean checkCalForSetProp(SetPropertyResult spr) {
+ if (cal != null) {
+ return true;
+ }
+
+ spr.status = HttpServletResponse.SC_NOT_FOUND;
+ spr.message = "Not found";
+ return false;
+ }
}
Modified: trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java 2007-03-25 00:38:43 UTC (rev 135)
+++ trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java 2007-03-25 03:06:02 UTC (rev 136)
@@ -82,8 +82,6 @@
import java.util.HashMap;
import java.util.Iterator;
-import javax.servlet.http.HttpServletResponse;
-
/** Class to represent an entity such as events in caldav.
*
* @author Mike Douglass douglm at rpi.edu
@@ -239,25 +237,23 @@
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
*/
- public SetPropertyResult removeProperty(Element val) throws WebdavException {
+ public boolean removeProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
warn("Unimplemented - removeProperty");
- SetPropertyResult spr = new SetPropertyResult(val);
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - removeProperty";
- return spr;
+ return false;
}
/* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
*/
- public SetPropertyResult setProperty(Element val) throws WebdavException {
- SetPropertyResult spr = new SetPropertyResult(val);
+ public boolean setProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
+ if (super.setProperty(val, spr)) {
+ return true;
+ }
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - setProperty";
-
- return spr;
+ return false;
}
/** Get a Component form of the only or master event. Mainly for property
Modified: trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java 2007-03-25 00:38:43 UTC (rev 135)
+++ trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java 2007-03-25 03:06:02 UTC (rev 136)
@@ -65,8 +65,6 @@
import java.util.Collection;
-import javax.servlet.http.HttpServletResponse;
-
/** Class to represent a principal in caldav.
*
*
@@ -101,30 +99,6 @@
return displayName;
}
- /* (non-Javadoc)
- * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
- */
- public SetPropertyResult removeProperty(Element val) throws WebdavException {
- warn("Unimplemented - removeProperty");
- SetPropertyResult spr = new SetPropertyResult(val);
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - removeProperty";
-
- return spr;
- }
-
- /* (non-Javadoc)
- * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
- */
- public SetPropertyResult setProperty(Element val) throws WebdavException {
- SetPropertyResult spr = new SetPropertyResult(val);
-
- spr.status = HttpServletResponse.SC_NOT_IMPLEMENTED;
- spr.message = "Unimplemented - setProperty";
-
- return spr;
- }
-
public Collection getChildren() throws WebdavException {
return null;
}
@@ -205,6 +179,28 @@
* ==================================================================== */
/* (non-Javadoc)
+ * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#removeProperty(org.w3c.dom.Element)
+ */
+ public boolean removeProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
+ warn("Unimplemented - removeProperty");
+
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#setProperty(org.w3c.dom.Element)
+ */
+ public boolean setProperty(Element val,
+ SetPropertyResult spr) throws WebdavException {
+ if (super.setProperty(val, spr)) {
+ return true;
+ }
+
+ return false;
+ }
+
+ /* (non-Javadoc)
* @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#generatePropertyValue(edu.rpi.sss.util.xml.QName, edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf, boolean)
*/
public boolean generatePropertyValue(QName tag,
More information about the Bedework-commit
mailing list