Search in sources :

Example 11 with ExDate

use of net.fortuna.ical4j.model.property.ExDate in project bw-calendar-engine by Bedework.

the class VEventUtil method makeDlp.

private static void makeDlp(final BwEvent val, final boolean exdt, final Collection<BwDateTime> dts, final PropertyList pl) throws Throwable {
    if ((dts == null) || (dts.isEmpty())) {
        return;
    }
    TimeZone tz = null;
    if (!val.getForceUTC()) {
        BwDateTime dtstart = val.getDtstart();
        if ((dtstart != null) && !dtstart.isUTC()) {
            DtStart ds = dtstart.makeDtStart();
            tz = ds.getTimeZone();
        }
    }
    /* Generate as one date per property - matches up to other vendors better */
    for (BwDateTime dt : dts) {
        DateList dl = null;
        /* Always use the UTC values */
        boolean dateType = false;
        if (dt.getDateType()) {
            dl = new DateList(Value.DATE);
            dl.setUtc(true);
            dateType = true;
            dl.add(new Date(dt.getDtval()));
        } else {
            dl = new DateList(Value.DATE_TIME);
            if (tz == null) {
                dl.setUtc(true);
                DateTime dtm = new DateTime(dt.getDate());
                dtm.setUtc(true);
                dl.add(dtm);
            } else {
                dl.setTimeZone(tz);
                DateTime dtm = new DateTime(dt.getDate());
                dtm.setTimeZone(tz);
                dl.add(dtm);
            }
        }
        DateListProperty dlp;
        if (exdt) {
            dlp = new ExDate(dl);
        } else {
            dlp = new RDate(dl);
        }
        if (tz != null) {
            dlp.setTimeZone(tz);
        }
        if (dateType) {
            dlp.getParameters().add(Value.DATE);
        }
        pl.add(dlp);
    }
}
Also used : TimeZone(net.fortuna.ical4j.model.TimeZone) DtStart(net.fortuna.ical4j.model.property.DtStart) RDate(net.fortuna.ical4j.model.property.RDate) BwDateTime(org.bedework.calfacade.BwDateTime) DateListProperty(net.fortuna.ical4j.model.property.DateListProperty) ExDate(net.fortuna.ical4j.model.property.ExDate) DateList(net.fortuna.ical4j.model.DateList) Date(net.fortuna.ical4j.model.Date) RDate(net.fortuna.ical4j.model.property.RDate) ExDate(net.fortuna.ical4j.model.property.ExDate) DateTime(net.fortuna.ical4j.model.DateTime) BwDateTime(org.bedework.calfacade.BwDateTime)

Example 12 with ExDate

use of net.fortuna.ical4j.model.property.ExDate in project openolat by klemens.

the class CalendarUtils method getRecurrenceExcludeRule.

/**
 * Create exclusion rule based on list with dates.
 * @param dates
 * @return string with exclude rule
 */
public static String getRecurrenceExcludeRule(List<Date> dates) {
    if (dates != null && dates.size() > 0) {
        DateList dl = new DateList();
        for (Date date : dates) {
            net.fortuna.ical4j.model.Date dd = CalendarUtils.createDate(date);
            dl.add(dd);
        }
        ExDate exdate = new ExDate(dl);
        return exdate.getValue();
    }
    return null;
}
Also used : ExDate(net.fortuna.ical4j.model.property.ExDate) DateList(net.fortuna.ical4j.model.DateList) Date(java.util.Date) ExDate(net.fortuna.ical4j.model.property.ExDate)

Aggregations

ExDate (net.fortuna.ical4j.model.property.ExDate)12 ParseException (java.text.ParseException)8 Date (java.util.Date)8 DateList (net.fortuna.ical4j.model.DateList)7 PropertyList (net.fortuna.ical4j.model.PropertyList)4 Recur (net.fortuna.ical4j.model.Recur)4 VEvent (net.fortuna.ical4j.model.component.VEvent)4 RRule (net.fortuna.ical4j.model.property.RRule)4 RecurrenceId (net.fortuna.ical4j.model.property.RecurrenceId)4 DateTime (net.fortuna.ical4j.model.DateTime)3 URISyntaxException (java.net.URISyntaxException)2 ArrayList (java.util.ArrayList)2 Contact (net.fortuna.ical4j.model.property.Contact)2 Created (net.fortuna.ical4j.model.property.Created)2 Description (net.fortuna.ical4j.model.property.Description)2 DtStart (net.fortuna.ical4j.model.property.DtStart)2 LastModified (net.fortuna.ical4j.model.property.LastModified)2 Location (net.fortuna.ical4j.model.property.Location)2 Uid (net.fortuna.ical4j.model.property.Uid)2 Url (net.fortuna.ical4j.model.property.Url)2