Package org.exoplatform.agenda.storage
Class AgendaEventStorage
java.lang.Object
org.exoplatform.agenda.storage.AgendaEventStorage
- Direct Known Subclasses:
CachedAgendaEventStorage
-
Constructor Summary
ConstructorsConstructorDescriptionAgendaEventStorage(CalendarDAO calendarDAO, EventDAO eventDAO, EventRecurrenceDAO eventRecurrenceDAO) -
Method Summary
Modifier and TypeMethodDescriptionlongcountEventDatePolls(List<Long> ownerIds, List<Long> attendeeIds) longcountPendingEvents(Long userIdentityId, List<Long> ownerIds, List<Long> attendeeIds, List<Long> calenderIds) org.exoplatform.agenda.model.EventcreateEvent(org.exoplatform.agenda.model.Event event) voiddeleteCalendarEvents(long calendarId) voiddeleteEventAfterRead(long eventId) Deletes an event whose attendees, conferences or reminders were read in the same request, whichdeleteEventById(long)cannot: the persistence context is cleared before the bulk deletion of its children.voiddeleteEventById(long eventId) deleteExceptionalOccurences(long parentRecurrentEventId) deleteExceptionalOccurencesOfSavedSeries(long parentRecurrentEventId) Deletes the exceptional occurrences of a series that was just saved in this persistence context, starting from what the database holds (EventDAO.detachAll()): the rows agenda's reminder listener materialised on the save are still managed, and deleting them in place fails at the flush.org.exoplatform.agenda.model.EventgetEventById(long eventId) getEventDatePollIds(long userIdentityId, List<Long> ownerIds, List<Long> attendeeIds, ZonedDateTime start, ZonedDateTime end) getEventDatePollIds(Long userIdentityId, List<Long> ownerIds, List<Long> attendeeIds, int offset, int limit) getEventIds(org.exoplatform.agenda.model.EventFilter eventFilter) Retrieves the identifiers of the events matching a filter.getExceptionalOccurenceIds(long parentRecurrentEventId) getExceptionalOccurenceIds(long parentRecurrentEventId, ZonedDateTime occurrenceId) getExceptionalOccurenceIdsByPeriod(long parentRecurrentEventId, ZonedDateTime start, ZonedDateTime end) org.exoplatform.agenda.model.EventgetExceptionalOccurrenceEvent(long parentRecurrentEventId, ZonedDateTime occurrenceId) List<org.exoplatform.agenda.model.Event> getParentRecurrentEventIds(ZonedDateTime start, ZonedDateTime end) getPendingEventIds(Long userIdentityId, List<Long> ownerIds, List<Long> attendeeIds, List<Long> calenderIds, int offset, int limit) getUserEventCalenderIds(Long userIdentityId) booleanisRecurrentEvent(long eventId) moveCalendarEvents(long fromCalendarId, long toCalendarId) Moves all events of a calendar to another calendar, keeping every event and its associated data (attendees, reminders, conferences, recurrences, remote identifiers) untouched apart from the calendar membership.org.exoplatform.agenda.model.EventupdateEvent(org.exoplatform.agenda.model.Event event)
-
Constructor Details
-
AgendaEventStorage
public AgendaEventStorage(CalendarDAO calendarDAO, EventDAO eventDAO, EventRecurrenceDAO eventRecurrenceDAO)
-
-
Method Details
-
getEventIds
Retrieves the identifiers of the events matching a filter.- Parameters:
eventFilter- criteria of the events to retrieve- Returns:
Listof matching event technical identifiers
-
getPendingEventIds
-
countPendingEvents
-
getUserEventCalenderIds
-
getEventDatePollIds
-
getEventDatePollIds
public List<Long> getEventDatePollIds(long userIdentityId, List<Long> ownerIds, List<Long> attendeeIds, ZonedDateTime start, ZonedDateTime end) -
countEventDatePolls
-
getParentRecurrentEventIds
public List<org.exoplatform.agenda.model.Event> getParentRecurrentEventIds(ZonedDateTime start, ZonedDateTime end) -
getEventById
public org.exoplatform.agenda.model.Event getEventById(long eventId) -
deleteEventById
public void deleteEventById(long eventId) -
deleteEventAfterRead
public void deleteEventAfterRead(long eventId) Deletes an event whose attendees, conferences or reminders were read in the same request, whichdeleteEventById(long)cannot: the persistence context is cleared before the bulk deletion of its children.- Parameters:
eventId- the event to delete
-
deleteCalendarEvents
public void deleteCalendarEvents(long calendarId) -
moveCalendarEvents
Moves all events of a calendar to another calendar, keeping every event and its associated data (attendees, reminders, conferences, recurrences, remote identifiers) untouched apart from the calendar membership.- Parameters:
fromCalendarId- technical identifier of the calendar the events are moved away fromtoCalendarId- technical identifier of the calendar receiving the events- Returns:
Listof technical identifiers of the moved events, empty when the source calendar had no events
-
getExceptionalOccurenceIds
- Parameters:
parentRecurrentEventId- a parent recurrentEventtechnical identifier- Returns:
Listof Event identifiers corresponding to exceptional occurences events Identifiers of a parent recurrent event for a selected period of time
-
getExceptionalOccurenceIdsByPeriod
public List<Long> getExceptionalOccurenceIdsByPeriod(long parentRecurrentEventId, ZonedDateTime start, ZonedDateTime end) - Parameters:
parentRecurrentEventId- a parent recurrentEventtechnical identifierstart- start DateTime of period to search onend- end DateTime of period to search on- Returns:
Listof Event identifiers corresponding to exceptional occurences events Identifiers of a parent recurrent event for a selected period of time
-
getExceptionalOccurenceIds
public List<Long> getExceptionalOccurenceIds(long parentRecurrentEventId, ZonedDateTime occurrenceId) -
createEvent
public org.exoplatform.agenda.model.Event createEvent(org.exoplatform.agenda.model.Event event) -
deleteExceptionalOccurencesOfSavedSeries
Deletes the exceptional occurrences of a series that was just saved in this persistence context, starting from what the database holds (EventDAO.detachAll()): the rows agenda's reminder listener materialised on the save are still managed, and deleting them in place fails at the flush. The clear detaches every entity of the thread's persistence context, not only this series': a caller must not keep a managed entity across this call and rely on it afterwards, asdeleteEventAfterRead(long)already requires.- Parameters:
parentRecurrentEventId- the series- Returns:
- the ids of the occurrences deleted
-
deleteExceptionalOccurences
-
getExceptionalOccurrenceEvent
public org.exoplatform.agenda.model.Event getExceptionalOccurrenceEvent(long parentRecurrentEventId, ZonedDateTime occurrenceId) -
updateEvent
public org.exoplatform.agenda.model.Event updateEvent(org.exoplatform.agenda.model.Event event) -
isRecurrentEvent
public boolean isRecurrentEvent(long eventId)
-