[Bedework-commit] caldav r163 - trunk/server/src/org/bedework/caldav/server

svnadmin at bedework.org svnadmin at bedework.org
Tue May 15 10:57:58 EDT 2007


Author: douglm
Date: 2007-05-15 10:57:58 -0400 (Tue, 15 May 2007)
New Revision: 163

Modified:
   trunk/server/src/org/bedework/caldav/server/CaldavBWIntf.java
   trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java
   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:
Fix some errors in the user clients caused by removal of principal info from system parameters.

Remove principal info from admin form.

More CalDAV property related fixes.

Modified: trunk/server/src/org/bedework/caldav/server/CaldavBWIntf.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavBWIntf.java	2007-05-14 19:47:52 UTC (rev 162)
+++ trunk/server/src/org/bedework/caldav/server/CaldavBWIntf.java	2007-05-15 14:57:58 UTC (rev 163)
@@ -270,18 +270,15 @@
     }
   }
 
+  /* (non-Javadoc)
+   * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf#getNode(java.lang.String, int, int)
+   */
   public WebdavNsNode getNode(String uri,
                               int existance,
                               int nodeType) throws WebdavException {
     return getNodeInt(uri, existance, nodeType, true, null, null);
   }
 
-  public WebdavNsNode getNodeEncoded(String uri,
-                                     int existance,
-                                     int nodeType) throws WebdavException {
-    return getNodeInt(uri, existance, nodeType, false, null, null);
-  }
-
   private WebdavNsNode getNodeInt(String uri,
                                   int existance,
                                   int nodeType,
@@ -408,24 +405,9 @@
           throw new WebdavException("Unexpected return type");
         }
 
-        CaldavURI wi = findURI(uri + "/" + name,
+        al.add(getNodeInt(uri + "/" + name,
                                WebdavNsIntf.existanceDoesExist,
-                               nodeType, true, cal, ei);
-
-        if (wi.isCollection()) {
-          if (debug) {
-            debugMsg("Add child as calendar");
-          }
-
-          al.add(new CaldavCalNode(wi, sysi, debug));
-        } else {
-          if (debug) {
-            debugMsg("Add child as component");
-          }
-
-          CaldavComponentNode cnode = new CaldavComponentNode(wi, sysi, debug);
-          al.add(cnode);
-        }
+                               nodeType, true, cal, ei));
       }
 
       return al;

Modified: trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java	2007-05-14 19:47:52 UTC (rev 162)
+++ trunk/server/src/org/bedework/caldav/server/CaldavBwNode.java	2007-05-15 14:57:58 UTC (rev 163)
@@ -29,11 +29,14 @@
 import org.bedework.davdefs.CaldavTags;
 
 import edu.rpi.cct.webdav.servlet.shared.WebdavException;
+import edu.rpi.cct.webdav.servlet.shared.WebdavNsIntf;
 import edu.rpi.cct.webdav.servlet.shared.WebdavNsNode;
 import edu.rpi.sss.util.xml.QName;
+import edu.rpi.sss.util.xml.XmlEmit;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 
 /** Class to represent a caldav node.
  *
@@ -42,9 +45,14 @@
 public abstract class CaldavBwNode extends WebdavNsNode {
 //  protected CaldavURI cdURI;
 
+  private final static HashMap<QName, PropertyTagEntry> propertyNames =
+    new HashMap<QName, PropertyTagEntry>();
+
   private final static Collection<QName> supportedReports = new ArrayList<QName>();
 
   static {
+    addPropEntry(propertyNames, CaldavTags.calendarUserAddressSet);
+
     supportedReports.add(CaldavTags.calendarMultiget); // Calendar access
     supportedReports.add(CaldavTags.calendarQuery);    // Calendar access
   }
@@ -124,6 +132,45 @@
    * ==================================================================== */
 
   /* ====================================================================
+   *                   Property methods
+   * ==================================================================== */
+
+  /* (non-Javadoc)
+   * @see edu.rpi.cct.webdav.servlet.shared.WebdavNsNode#knownProperty(edu.rpi.sss.util.xml.QName)
+   */
+  public boolean knownProperty(QName tag) {
+    if (propertyNames.get(tag) != null) {
+      return true;
+    }
+
+    // Not ours
+    return super.knownProperty(tag);
+  }
+
+  /* (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,
+                                       WebdavNsIntf intf,
+                                       boolean allProp) throws WebdavException {
+    XmlEmit xml = intf.getXmlEmit();
+
+    try {
+      if (tag.equals(CaldavTags.calendarUserAddressSet)) {
+        xml.property(tag, sysi.userToCaladdr(getOwner()));
+        return true;
+      }
+
+      // Not known - try higher
+      return super.generatePropertyValue(tag, intf, allProp);
+    } catch (WebdavException wde) {
+      throw wde;
+    } catch (Throwable t) {
+      throw new WebdavException(t);
+    }
+  }
+
+  /* ====================================================================
    *                   Object methods
    * ==================================================================== */
 

Modified: trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java	2007-05-14 19:47:52 UTC (rev 162)
+++ trunk/server/src/org/bedework/caldav/server/CaldavCalNode.java	2007-05-15 14:57:58 UTC (rev 163)
@@ -61,7 +61,6 @@
 import org.bedework.calfacade.RecurringRetrievalMode.Rmode;
 import org.bedework.calfacade.util.CalFacadeUtil;
 import org.bedework.davdefs.AppleServerTags;
-import org.bedework.davdefs.CaldavDefs;
 import org.bedework.davdefs.CaldavTags;
 import org.bedework.davdefs.WebdavTags;
 import org.bedework.icalendar.IcalTranslator;
@@ -460,7 +459,6 @@
   public boolean generatePropertyValue(QName tag,
                                        WebdavNsIntf intf,
                                        boolean allProp) throws WebdavException {
-    String ns = tag.getNamespaceURI();
     XmlEmit xml = intf.getXmlEmit();
 
     try {
@@ -493,13 +491,6 @@
         return true;
       }
 
-      /* Deal with webdav properties */
-      if ((!ns.equals(CaldavDefs.caldavNamespace) &&
-          !ns.equals(CaldavDefs.icalNamespace))) {
-        // Not ours
-        return super.generatePropertyValue(tag, intf, allProp);
-      }
-
       if (tag.equals(CaldavTags.calendarDescription)) {
         xml.property(tag, cal.getDescription());
 
@@ -546,7 +537,8 @@
         return true;
       }
 
-      return false;
+      // Not known - try higher
+      return super.generatePropertyValue(tag, intf, allProp);
     } catch (WebdavException wde) {
       throw wde;
     } catch (Throwable t) {

Modified: trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java	2007-05-14 19:47:52 UTC (rev 162)
+++ trunk/server/src/org/bedework/caldav/server/CaldavComponentNode.java	2007-05-15 14:57:58 UTC (rev 163)
@@ -61,7 +61,6 @@
 import org.bedework.calfacade.svc.EventInfo;
 import org.bedework.calfacade.util.CalFacadeUtil;
 
-import org.bedework.davdefs.CaldavDefs;
 import org.bedework.davdefs.CaldavTags;
 import org.bedework.davdefs.WebdavTags;
 import org.bedework.icalendar.ComponentWrapper;

Modified: trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java
===================================================================
--- trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java	2007-05-14 19:47:52 UTC (rev 162)
+++ trunk/server/src/org/bedework/caldav/server/CaldavPrincipalNode.java	2007-05-15 14:57:58 UTC (rev 163)
@@ -61,7 +61,6 @@
 import edu.rpi.sss.util.xml.XmlEmit;
 
 import org.bedework.calfacade.BwCalendar;
-import org.bedework.davdefs.CaldavDefs;
 import org.bedework.davdefs.WebdavTags;
 
 import org.w3c.dom.Element;



More information about the Bedework-commit mailing list