@Override
public void update(Absence absence, String eventId, CalendarSettings calendarSettings) {
googleCalendarClient = getOrCreateGoogleCalendarClient();
if (googleCalendarClient != null) {
String calendarId =
settingsService.getSettings().getCalendarSettings().getGoogleCalendarSettings().getCalendarId();
try {
Event event = googleCalendarClient.events().get(calendarId, eventId).execute();
fillEvent(absence, event);
googleCalendarClient.events().patch(calendarId, eventId, event).execute();
LOG.info(String.format("Event %s has been updated in calendar '%s'.", eventId, calendarId));
} catch (IOException ex) {
LOG.warn(String.format("Could not update event %s in calendar '%s'.", eventId, calendarId), ex);
mailService.sendCalendarUpdateErrorNotification(calendarId, absence, eventId, ex.getMessage());
}
}
}