Advertisement
brandizzi

An example of a very complicated code

Nov 25th, 2018
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.25 KB | None | 0 0
  1. protected void addChildCalendarBookings(
  2.         CalendarBooking calendarBooking, long[] childCalendarIds,
  3.         ServiceContext serviceContext)
  4.     throws PortalException {
  5.  
  6.     if (!calendarBooking.isMasterBooking()) {
  7.         return;
  8.     }
  9.  
  10.     long recurringCalendarBookingId =
  11.         CalendarBookingConstants.RECURRING_CALENDAR_BOOKING_ID_DEFAULT;
  12.  
  13.     Map<Long, CalendarBooking> childCalendarBookingMap = new HashMap<>();
  14.  
  15.     List<CalendarBooking> childCalendarBookings =
  16.         calendarBookingPersistence.findByParentCalendarBookingId(
  17.             calendarBooking.getCalendarBookingId());
  18.  
  19.     for (CalendarBooking childCalendarBooking : childCalendarBookings) {
  20.         if (childCalendarBooking.isMasterBooking() ||
  21.             (childCalendarBooking.isDenied() &&
  22.              ArrayUtil.contains(
  23.                  childCalendarIds, childCalendarBooking.getCalendarId()))) {
  24.  
  25.             continue;
  26.         }
  27.  
  28.         deleteCalendarBooking(childCalendarBooking.getCalendarBookingId());
  29.  
  30.         childCalendarBookingMap.put(
  31.             childCalendarBooking.getCalendarId(), childCalendarBooking);
  32.     }
  33.  
  34.     for (long calendarId : childCalendarIds) {
  35.         try {
  36.             calendarId = getNotLiveCalendarId(calendarId);
  37.         }
  38.         catch (NoSuchCalendarException nsce) {
  39.             continue;
  40.         }
  41.  
  42.         int count = calendarBookingPersistence.countByC_P(
  43.             calendarId, calendarBooking.getCalendarBookingId());
  44.  
  45.         if (count > 0) {
  46.             continue;
  47.         }
  48.  
  49.         long firstReminder = calendarBooking.getFirstReminder();
  50.         String firstReminderType = calendarBooking.getFirstReminderType();
  51.         long secondReminder = calendarBooking.getSecondReminder();
  52.         String secondReminderType = calendarBooking.getSecondReminderType();
  53.  
  54.         if (childCalendarBookingMap.containsKey(calendarId)) {
  55.             CalendarBooking oldChildCalendarBooking =
  56.                 childCalendarBookingMap.get(calendarId);
  57.  
  58.             firstReminder = oldChildCalendarBooking.getFirstReminder();
  59.             firstReminderType =
  60.                 oldChildCalendarBooking.getFirstReminderType();
  61.             secondReminder = oldChildCalendarBooking.getSecondReminder();
  62.             secondReminderType =
  63.                 oldChildCalendarBooking.getSecondReminderType();
  64.         }
  65.  
  66.         if (!calendarBooking.isMasterRecurringBooking()) {
  67.             CalendarBooking childMasterRecurringBooking =
  68.                 calendarBookingPersistence.fetchByC_P(
  69.                     calendarId,
  70.                     calendarBooking.getRecurringCalendarBookingId());
  71.  
  72.             if (childMasterRecurringBooking == null) {
  73.                 childMasterRecurringBooking = childCalendarBookingMap.get(
  74.                     calendarId);
  75.             }
  76.  
  77.             if (childMasterRecurringBooking != null) {
  78.                 recurringCalendarBookingId =
  79.                     childMasterRecurringBooking.getCalendarBookingId();
  80.             }
  81.         }
  82.  
  83.         serviceContext.setAttribute("sendNotification", Boolean.FALSE);
  84.  
  85.         CalendarBooking childCalendarBooking = addCalendarBooking(
  86.             calendarBooking.getUserId(), calendarId, new long[0],
  87.             calendarBooking.getCalendarBookingId(),
  88.             recurringCalendarBookingId, calendarBooking.getTitleMap(),
  89.             calendarBooking.getDescriptionMap(),
  90.             calendarBooking.getLocation(), calendarBooking.getStartTime(),
  91.             calendarBooking.getEndTime(), calendarBooking.isAllDay(),
  92.             calendarBooking.getRecurrence(), firstReminder,
  93.             firstReminderType, secondReminder, secondReminderType,
  94.             serviceContext);
  95.  
  96.         serviceContext.setAttribute("sendNotification", Boolean.TRUE);
  97.  
  98.         if (childCalendarBookingMap.containsKey(calendarId)) {
  99.             CalendarBooking oldChildCalendarBooking =
  100.                 childCalendarBookingMap.get(calendarId);
  101.             int workflowAction = GetterUtil.getInteger(
  102.                 serviceContext.getAttribute("workflowAction"));
  103.  
  104.             if ((calendarBooking.getStartTime() ==
  105.                     oldChildCalendarBooking.getStartTime()) &&
  106.                 (calendarBooking.getEndTime() ==
  107.                     oldChildCalendarBooking.getEndTime()) &&
  108.                 (workflowAction != WorkflowConstants.ACTION_SAVE_DRAFT)) {
  109.  
  110.                 updateStatus(
  111.                     childCalendarBooking.getUserId(), childCalendarBooking,
  112.                     oldChildCalendarBooking.getStatus(), serviceContext);
  113.             }
  114.         }
  115.  
  116.         NotificationTemplateType notificationTemplateType =
  117.             NotificationTemplateType.INVITE;
  118.  
  119.         if (childCalendarBooking.isDenied()) {
  120.             notificationTemplateType = NotificationTemplateType.DECLINE;
  121.         }
  122.         else if (childCalendarBookingMap.containsKey(
  123.                     childCalendarBooking.getCalendarId())) {
  124.  
  125.             notificationTemplateType = NotificationTemplateType.UPDATE;
  126.         }
  127.  
  128.         sendNotification(
  129.             childCalendarBooking, notificationTemplateType, serviceContext);
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement