if (dbObj.getReminderDurationUnit().equals(newObj.getReminderDurationUnit()) == false) { reminderHasChanged = true; message.append(
+ eventDO.getReminderDuration() + " " + getString(eventDO.getReminderDurationUnit().getI18nKey());
private void copyFields(final CalendarEventObject event, final TeamEventDO src) { event.setCalendarId(src.getCalendarId()); event.setRecurrenceRule(src.getRecurrenceRule()); event.setRecurrenceExDate(src.getRecurrenceExDate()); event.setRecurrenceUntil(src.getRecurrenceUntil()); DOConverter.copyFields(event, src); event.setLastUpdate(src.getDtStamp()); if (src.getReminderActionType() != null && src.getReminderDuration() != null && src.getReminderDurationUnit() != null) { event.setReminderType(src.getReminderActionType().toString()); event.setReminderDuration(src.getReminderDuration()); final ReminderDurationUnit unit = src.getReminderDurationUnit(); event.setReminderUnit(unit.toString()); final DateHolder date = new DateHolder(src.getStartDate()); if (unit == ReminderDurationUnit.MINUTES) { date.add(Calendar.MINUTE, -src.getReminderDuration()); event.setReminder(date.getDate()); } else if (unit == ReminderDurationUnit.HOURS) { date.add(Calendar.HOUR, -src.getReminderDuration()); event.setReminder(date.getDate()); } else if (unit == ReminderDurationUnit.DAYS) { date.add(Calendar.DAY_OF_YEAR, -src.getReminderDuration()); event.setReminder(date.getDate()); } else { log.warn("ReminderDurationUnit '" + src.getReminderDurationUnit() + "' not yet implemented."); } } }
@Override public boolean toVEvent(final TeamEventDO event, final VEvent vEvent) { if (event.getReminderDuration() == null || event.getReminderActionType() == null) { return false; } final VAlarm alarm = new VAlarm(); Dur dur = null; // (-1) * needed to set alert before if (ReminderDurationUnit.MINUTES.equals(event.getReminderDurationUnit())) { dur = new Dur(0, 0, (-1) * event.getReminderDuration(), 0); } else if (ReminderDurationUnit.HOURS.equals(event.getReminderDurationUnit())) { dur = new Dur(0, (-1) * event.getReminderDuration(), 0, 0); } else if (ReminderDurationUnit.DAYS.equals(event.getReminderDurationUnit())) { dur = new Dur((-1) * event.getReminderDuration(), 0, 0, 0); } if (dur == null) { return false; } alarm.getProperties().add(new Trigger(dur)); alarm.getProperties().add(new Action(event.getReminderActionType().getType())); vEvent.getAlarms().add(alarm); return true; }