protected Timer parseTimerElement(Element timerElement, boolean isTaskTimer) { String name = timerElement.elementText("name"); String description = timerElement.elementText("description"); boolean blocking = GetterUtil.getBoolean(timerElement.elementText("blocking"), !isTaskTimer); Timer timer = new Timer(name, description, blocking); Element delayElement = timerElement.element("delay"); DelayDuration delayDuration = parseDelay(delayElement); timer.setDelayDuration(delayDuration); if (!blocking) { Element recurrenceElement = timerElement.element("recurrence"); DelayDuration recurrence = parseDelay(recurrenceElement); timer.setRecurrence(recurrence); } Element timerActions = timerElement.element("timer-actions"); parseTimerActions(timerActions, timer); return timer; }
protected void parseTimerActions(Element timersElement, Timer timer) { if (timersElement == null) { return; } List<Element> timerActionElements = timersElement.elements("timer-action"); parseActionElements(timerActionElements, timer); List<Element> timerNotificationElements = timersElement.elements("timer-notification"); parseNotificationElements(timerNotificationElements, timer); Element reassignmentsElement = timersElement.element("reassignments"); if (reassignmentsElement != null) { Set<Assignment> assignments = parseAssignments(reassignmentsElement); timer.setReassignments(assignments); } }
protected Set<Timer> buildTimers(String kaleoClassName, long kaleoClassPK) throws PortalException, SystemException { List<KaleoTimer> kaleoTimers = kaleoTimerLocalService.getKaleoTimers(kaleoClassName, kaleoClassPK); Set<Timer> timers = new HashSet<Timer>(kaleoTimers.size()); for (KaleoTimer kaleoTimer : kaleoTimers) { Timer timer = new Timer(kaleoTimer.getName(), kaleoTimer.getDescription(), kaleoTimer.isBlocking()); timers.add(timer); DelayDuration delayDuration = new DelayDuration(kaleoTimer.getDuration(), DurationScale.parse(kaleoTimer.getScale())); timer.setDelayDuration(delayDuration); String recurrenceScale = kaleoTimer.getRecurrenceScale(); if (Validator.isNotNull(recurrenceScale)) { DelayDuration recurrenceDelayDuration = new DelayDuration( kaleoTimer.getRecurrenceDuration(), DurationScale.parse(recurrenceScale)); timer.setRecurrence(recurrenceDelayDuration); } Set<Action> timerActions = buildActions(KaleoTimer.class.getName(), kaleoTimer.getKaleoTimerId()); timer.setActions(timerActions); Set<Assignment> reassignments = buildAssigments(KaleoTimer.class.getName(), kaleoTimer.getKaleoTimerId()); timer.setReassignments(reassignments); Set<Notification> timerNotifications = buildNotifications(KaleoTimer.class.getName(), kaleoTimer.getKaleoTimerId()); timer.setNotifications(timerNotifications); } return timers; }