[Bedework-commit] calendarapi r729 - in trunk: calCore/src/org/bedework/calcore/hibernate icalendar/src/org/bedework/icalendar

svnadmin at bedework.org svnadmin at bedework.org
Fri Nov 7 10:33:55 EST 2008


Author: douglm
Date: 2008-11-07 10:33:54 -0500 (Fri, 07 Nov 2008)
New Revision: 729

Modified:
   trunk/calCore/src/org/bedework/calcore/hibernate/CoreEvents.java
   trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java
Log:
Fix handling of EXDATES when converting to icalendar. Always create UTC dates

Add overrides found separately from instances to handle situation of overrides being in date-range but instances out of date-range

Modified: trunk/calCore/src/org/bedework/calcore/hibernate/CoreEvents.java
===================================================================
--- trunk/calCore/src/org/bedework/calcore/hibernate/CoreEvents.java	2008-10-29 21:26:18 UTC (rev 728)
+++ trunk/calCore/src/org/bedework/calcore/hibernate/CoreEvents.java	2008-11-07 15:33:54 UTC (rev 729)
@@ -1074,10 +1074,12 @@
       doRecurrence(cei, null, cals, annMap, instMap, checked,
                    recurRetrieval, freeBusy);
       if (recurRetrieval.mode == Rmode.expanded) {
-        Collection<CoreEventInfo> instances = cei.getInstances();
+        if (cei.getInstances() != null) {
+          res.addAll(cei.getInstances());
+        }
 
-        if (instances != null) {
-          res.addAll(instances);
+        if (cei.getOverrides() != null) {
+          res.addAll(cei.getOverrides());
         }
       } else {
         res.add(cei);

Modified: trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java
===================================================================
--- trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java	2008-10-29 21:26:18 UTC (rev 728)
+++ trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java	2008-11-07 15:33:54 UTC (rev 729)
@@ -77,6 +77,7 @@
 import net.fortuna.ical4j.model.component.VFreeBusy;
 import net.fortuna.ical4j.model.component.VJournal;
 import net.fortuna.ical4j.model.component.VToDo;
+import net.fortuna.ical4j.model.Date;
 import net.fortuna.ical4j.model.DateList;
 import net.fortuna.ical4j.model.DateTime;
 import net.fortuna.ical4j.model.Dur;
@@ -89,7 +90,6 @@
 import net.fortuna.ical4j.model.parameter.AltRep;
 import net.fortuna.ical4j.model.parameter.FbType;
 import net.fortuna.ical4j.model.parameter.RelType;
-import net.fortuna.ical4j.model.parameter.TzId;
 import net.fortuna.ical4j.model.parameter.Value;
 import net.fortuna.ical4j.model.parameter.XParameter;
 import net.fortuna.ical4j.model.Property;
@@ -575,19 +575,19 @@
       return;
     }
 
+    /* Always use the UTC values */
     DateList dl = new DateList();
-    boolean first = true;
+    dl.setUtc(true);
     boolean dateType = false;
-    String tzid = null;
 
     for (BwDateTime dt: dts) {
-      dl.add(dt.makeDate());
-      if (first) {
-        if (dt.getDateType()) {
-          dateType = true;
-        } else {
-          tzid = dt.getTzid();
-        }
+      if (dt.getDateType()) {
+        dateType = true;
+        dl.add(new Date(dt.getDtval()));
+      } else {
+        DateTime dtm = new DateTime(dt.getDate());
+        dtm.setUtc(true);
+        dl.add(dtm);
       }
     }
 
@@ -601,13 +601,6 @@
 
     if (dateType) {
       dlp.getParameters().add(Value.DATE);
-    } else {
-      // The default
-      //dt.getParameters().add(Value.DATE_TIME);
-
-      if (tzid != null) {
-        dlp.getParameters().add(new TzId(tzid));
-      }
     }
 
     pl.add(dlp);



More information about the Bedework-commit mailing list