@RequestMapping(value = "/meetingAction", method = RequestMethod.GET) public String meetingAction( HttpServletRequest request, Model uiModel, @RequestParam(required = true) Long eventId, @RequestParam(required = true) String type, @RequestParam(required = false) Long seriesId, @RequestParam(required = false) Long occurrenceId, @RequestParam(required = false) String date, @RequestParam(required = false) String referer) { User user = (User) request.getSession().getAttribute(Constants.KME_USER_KEY); try { if (type != null) { if (type.equals("R")) { calendarEventOAuthService.removeMeeting(user.getUserId(), eventId); } else if (type.equals("K")) { calendarEventOAuthService.keepMeeting(user.getUserId(), eventId); } else { MeetingStatusChange meetingStatusChange = new MeetingStatusChange(); meetingStatusChange.setEventId(eventId); meetingStatusChange.setStatus(type); calendarEventOAuthService.updateMeetingStatus(user.getUserId(), meetingStatusChange); } } } catch (PageLevelException pageLevelException) { uiModel.addAttribute("message", pageLevelException.getMessage()); return "calendar/message"; } if ("D".equals(type) || "R".equals(type) || "K".equals(type)) { return "redirect:/calendar/month"; } else if (seriesId != null && date != null) { return "redirect:/calendar/invite?eventId=" + eventId + "&seriesId=" + seriesId + "&date=" + date + (referer != null ? "&referer=" + referer : ""); } return "redirect:/calendar/invite?eventId=" + eventId + (occurrenceId != null ? "&occurrenceId=" + occurrenceId : "") + (date != null ? "&date=" + date : "") + (referer != null ? "&referer=" + referer : ""); }