StringBuilder message = new StringBuilder(); final TeamEventDO dbObj = emgrFac.runRoTrans(emgr -> emgr.selectByPk(TeamEventDO.class, newObj.getId())); if ((dbObj.getReminderActionType() == null && newObj.getReminderActionType() != null) || (dbObj.getReminderDuration() == null && newObj.getReminderDuration() != null) || (dbObj.getReminderDurationUnit() == null && newObj.getReminderDurationUnit() != null)) { message.append("DBObj was null -> new values were set; "); if (dbObj.getReminderActionType() != null) { if (dbObj.getReminderActionType().equals(newObj.getReminderActionType()) == false) { reminderHasChanged = true; message.append( "DBObj.getReminderActionType() was " + dbObj.getReminderActionType() + " NewObj.getReminderActionType() is " + newObj.getReminderActionType() + "; "); reminderHasChanged = true; message.append( "DBObj.getReminderDuration() was " + dbObj.getReminderActionType() + " NewObj.getReminderDuration() is " + newObj.getReminderActionType() + "; "); reminderHasChanged = true; message.append( "DBObj.getReminderDurationUnit() was " + dbObj.getReminderActionType() + " NewObj.getReminderDurationUnit() is " + newObj.getReminderActionType() + "; ");
if (eventDO.getReminderActionType() != null && NumberHelper.greaterZero(eventDO.getReminderDuration()) == true && eventDO.getReminderDurationUnit() != null) { reminder = getString(eventDO.getReminderActionType().getI18nKey()) + " " + eventDO.getReminderDuration()
Assert.assertNull(event.getReminderActionType());
Assert.assertEquals(eventExtracted.getReminderActionType(), eventSrc.getReminderActionType()); Assert.assertEquals(eventExtracted.getReminderDurationUnit(), eventSrc.getReminderDurationUnit()); } else if (VEVENT_DESCRIPTION.equals(field)) { Assert.assertNull(eventExtracted.getReminderActionType()); Assert.assertNull(eventExtracted.getReminderDuration()); Assert.assertNull(eventExtracted.getReminderDurationUnit());
@Override protected void onUpdate(final AjaxRequestTarget target) { final boolean isVisible = data.getReminderActionType() != null; if (isVisible == true) { // Pre-set default values if the user selects a reminder action: if (NumberHelper.greaterZero(data.getReminderDuration()) == false) { data.setReminderDuration(15); } if (data.getReminderDurationUnit() == null) { data.setReminderDurationUnit(ReminderDurationUnit.MINUTES); } } reminderDuration.setVisible(isVisible); reminderDurationTypeChoice.getDropDownChoice().setVisible(isVisible); reminderDurationTypeChoice.setRequired(isVisible); target.add(reminderDurationTypeChoice.getDropDownChoice(), reminderDuration); }
@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; }
diff.reminderDurationType = computeFieldDiff(diff, TeamEventField.REMINDER_DURATION_TYPE, fieldFilter, eventNewState.getReminderDurationUnit(), eventOldState.getReminderDurationUnit()); diff.reminderActionType = computeFieldDiff(diff, TeamEventField.REMINDER_ACTION_TYPE, fieldFilter, eventNewState.getReminderActionType(), eventOldState.getReminderActionType());
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."); } } }
final boolean reminderOptionVisibility = data.getReminderActionType() != null;