[Bedework-commit] calendarapi r1222 - releases/bedework-3.6/calCore/src/org/bedework/calcore/hibernate

svnadmin at bedework.org svnadmin at bedework.org
Tue Mar 30 11:52:34 EDT 2010


Author: douglm
Date: 2010-03-30 11:52:34 -0400 (Tue, 30 Mar 2010)
New Revision: 1222

Modified:
   releases/bedework-3.6/calCore/src/org/bedework/calcore/hibernate/CoreCalendars.java
Log:
Fake up a root "/" collection for CalDAV. 

Add a "/" to the end of principal hrefs

Modified: releases/bedework-3.6/calCore/src/org/bedework/calcore/hibernate/CoreCalendars.java
===================================================================
--- releases/bedework-3.6/calCore/src/org/bedework/calcore/hibernate/CoreCalendars.java	2010-03-30 15:52:33 UTC (rev 1221)
+++ releases/bedework-3.6/calCore/src/org/bedework/calcore/hibernate/CoreCalendars.java	2010-03-30 15:52:34 UTC (rev 1222)
@@ -45,6 +45,7 @@
 import org.bedework.sysevents.NotificationException;
 import org.bedework.sysevents.events.SysEvent;
 
+import edu.rpi.cmt.access.Access;
 import edu.rpi.cmt.access.Ace;
 import edu.rpi.cmt.access.AceWho;
 import edu.rpi.cmt.access.WhoDefs;
@@ -393,6 +394,27 @@
 
     col = (BwCalendar)sess.getUnique();
 
+    if (col == null) {
+      if (path.equals("/")) {
+        // Make a root collection
+        col = new BwCalendar();
+        col.setPath("/");
+
+        // Use this for owner/creator
+        BwCalendar userRoot = getCollection(userCalendarRootPath);
+
+        if (userRoot == null) {
+          return null;
+        }
+
+        col.setOwnerHref(userRoot.getOwnerHref());
+        col.setCreatorHref(userRoot.getCreatorHref());
+        col.setAccess(Access.getDefaultPublicAccess());
+      } else {
+        return null;
+      }
+    }
+
     CalendarWrapper wcol = wrap(col);
     if (wcol != null) {
       colCache.put(wcol);



More information about the Bedework-commit mailing list