private String getOrCreateCalendar() throws IOException { LOG.debug("Searching for calendar {}.", CalendarConstants.CALENDAR_ID_ACHIEVO); Calendars calendars = googleCalendarService.calendars(); String calendarId = findAchievoCalendarId(); if (calendarId == null) { Calendar calendar = new Calendar(); calendar.setSummary(CalendarConstants.CALENDAR_ID_ACHIEVO); LOG.debug( "Calendar {} not found creating new: {}", CalendarConstants.CALENDAR_ID_ACHIEVO, calendar); Calendar result = calendars.insert(calendar).execute(); calendarId = result.getId(); LOG.trace("Request:\n{}", calendar); LOG.trace("Response:\n{}", result); } return calendarId; }
@RequestMapping("list") public @ResponseBody List<String> list() throws IOException { List<String> ret = Lists.newArrayList(); String pageToken = null; do { com.google.api.services.calendar.model.CalendarList calendarList = googleCalendarService.calendarList().list().setPageToken(pageToken).execute(); List<CalendarListEntry> items = calendarList.getItems(); for (CalendarListEntry calendarListEntry : items) { ret.add(calendarListEntry.getSummary()); } pageToken = calendarList.getNextPageToken(); } while (pageToken != null); return ret; }
private void updateReports(String calendarId) throws IOException { Date to = new Date(); Date from = DateUtils.addDays(to, -10); DateTime fromDateTime = new DateTime(from); DateTime toDateTime = new DateTime(to); List<WorkReport> reports = achievoConnector.getHours(from, to); Events events = googleCalendarService .events() .list(calendarId) .setTimeMin(fromDateTime) .setTimeMax(toDateTime) .execute(); new ReportMerger(googleCalendarService, calendarId).merge(reports, events); }
private String findAchievoCalendarId() throws IOException { String pageToken = null; do { com.google.api.services.calendar.model.CalendarList calendarList = googleCalendarService.calendarList().list().setPageToken(pageToken).execute(); List<CalendarListEntry> items = calendarList.getItems(); for (CalendarListEntry calendarListEntry : items) { if (CalendarConstants.CALENDAR_ID_ACHIEVO.equals(calendarListEntry.getSummary())) { return calendarListEntry.getId(); } } pageToken = calendarList.getNextPageToken(); } while (pageToken != null); return null; }