[Bedework-commit] calendarapi r417 - in trunk:
client/src/org/bedework/client/caldav
icalendar/src/org/bedework/icalendar
svnadmin at bedework.org
svnadmin at bedework.org
Wed Sep 19 10:43:33 EDT 2007
Author: douglm
Date: 2007-09-19 10:43:32 -0400 (Wed, 19 Sep 2007)
New Revision: 417
Modified:
trunk/client/src/org/bedework/client/caldav/CalDavClient.java
trunk/icalendar/src/org/bedework/icalendar/IcalTranslator.java
trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java
Log:
freebusy request must have UTC start/end
Fixes for realtime
Modified: trunk/client/src/org/bedework/client/caldav/CalDavClient.java
===================================================================
--- trunk/client/src/org/bedework/client/caldav/CalDavClient.java 2007-09-19 12:55:36 UTC (rev 416)
+++ trunk/client/src/org/bedework/client/caldav/CalDavClient.java 2007-09-19 14:43:32 UTC (rev 417)
@@ -264,6 +264,8 @@
fbel.setCalData(ical.getEventInfo());
} else if (WebdavTags.error.nodeMatches(respel)) {
fbel.setDavError(respel.getFirstChild().getLocalName());
+ } else if (WebdavTags.responseDescription.nodeMatches(respel)) {
+ // XXX Not processed yet
} else {
throw new CalFacadeException(CalFacadeException.badResponse);
}
Modified: trunk/icalendar/src/org/bedework/icalendar/IcalTranslator.java
===================================================================
--- trunk/icalendar/src/org/bedework/icalendar/IcalTranslator.java 2007-09-19 12:55:36 UTC (rev 416)
+++ trunk/icalendar/src/org/bedework/icalendar/IcalTranslator.java 2007-09-19 14:43:32 UTC (rev 417)
@@ -615,6 +615,10 @@
*/
private void addIcalTimezones(Calendar cal, BwEvent ev,
TreeSet<String> added) throws CalFacadeException {
+ if (ev.getEntityType() == CalFacadeDefs.entityTypeFreeAndBusy) {
+ return;
+ }
+
BwUser owner = ev.getOwner();
addIcalTimezone(cal, ev.getDtstart().getTzid(), owner, added);
Modified: trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java
===================================================================
--- trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java 2007-09-19 12:55:36 UTC (rev 416)
+++ trunk/icalendar/src/org/bedework/icalendar/VEventUtil.java 2007-09-19 14:43:32 UTC (rev 417)
@@ -100,7 +100,9 @@
import net.fortuna.ical4j.model.property.Created;
import net.fortuna.ical4j.model.property.DateListProperty;
import net.fortuna.ical4j.model.property.Description;
+import net.fortuna.ical4j.model.property.DtEnd;
import net.fortuna.ical4j.model.property.DtStamp;
+import net.fortuna.ical4j.model.property.DtStart;
import net.fortuna.ical4j.model.property.Duration;
import net.fortuna.ical4j.model.property.ExDate;
import net.fortuna.ical4j.model.property.ExRule;
@@ -152,6 +154,7 @@
try {
CalendarComponent comp;
PropertyList pl = new PropertyList();
+ boolean freeBusy = false;
int entityType = val.getEntityType();
if (entityType == CalFacadeDefs.entityTypeEvent) {
@@ -162,6 +165,7 @@
comp = new VJournal(pl);
} else if (entityType == CalFacadeDefs.entityTypeFreeAndBusy) {
comp = new VFreeBusy(pl);
+ freeBusy = true;
} else {
throw new CalFacadeException("org.bedework.invalid.entity.type",
String.valueOf(entityType));
@@ -260,8 +264,11 @@
if (!val.getNoStart()) {
if (val.getEndType() == BwEvent.endTypeDate) {
- prop = val.getDtend().makeDtEnd(timezones);
- pl.add(prop);
+ DtEnd dtend = val.getDtend().makeDtEnd(timezones);
+ if (freeBusy) {
+ dtend.setUtc(true);
+ }
+ pl.add(dtend);
} else if (val.getEndType() == BwEvent.endTypeDuration) {
addProperty(comp, new Duration(new Dur(val.getDuration())));
}
@@ -278,8 +285,11 @@
/* ------------------- DtStart -------------------- */
if (!val.getNoStart()) {
- prop = val.getDtstart().makeDtStart(timezones);
- pl.add(prop);
+ DtStart dtstart = val.getDtstart().makeDtStart(timezones);
+ if (freeBusy) {
+ dtstart.setUtc(true);
+ }
+ pl.add(dtstart);
}
/* ------------------- ExDate --below------------ */
@@ -308,7 +318,9 @@
PeriodList pdl = fb.getPeriods();
for (Period p: fbc.getPeriods()) {
- pdl.add(p);
+ // XXX inverse.ca plugin cannot handle durations.
+ Period np = new Period(p.getStart(), p.getEnd());
+ pdl.add(np);
}
pl.add(fb);
More information about the Bedework-commit
mailing list