Package com.logicaldoc.calendar
Interface EventDAO
- All Superinterfaces:
com.logicaldoc.core.PersistentObjectDAO<Event>
- All Known Implementing Classes:
HibernateEventDAO
DAO for events handling.
- Since:
- 6.7
- Author:
- Marco Meschieri - LogicalDOC
-
Field Summary
Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO
ENTITY
-
Method Summary
Modifier and TypeMethodDescriptionint
cleanOldEvents
(int ttl) This method deletes all the events oldest than the given days from now.createOccurrences
(Event master, Date start, Date end) This will create all the occurrences of a recurrent master event in a given time range.
Attention: the collections are not propagated.int
deleteOccurrences
(long parentId, boolean remindedOnly) Deletes all the occurrences of a given event, but not the event itelf.find
(EventSearchCriteria searchCriteria) Finder method for events.findByParticipant
(long participantId, Date startDate) Retrieves the events associated to the given participantfindIdsByParticipantAndDocument
(Long participantId, Long documentId, Date startDate, Date endDate) Retrieves the identifiers of the events that have a given participant.findIdsToNotify
(Date startDate) Finds all the events that have to be notified.findOccurrences
(long masterId, Date start, Date end) Retrieves the occurrences of a master eventvoid
scheduleEvent
(Event event) Schedules the job for all the reminders.void
Schedules the missfired events, used during the bootstrap.void
unscheduleEvent
(long eventId) Unschedules the jobs of the given events and it's occurrencies.int
updateOccurrences
(Event master) This will update all existing occurrences with the master's properties.Methods inherited from interface com.logicaldoc.core.PersistentObjectDAO
bulkUpdate, delete, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, initialize, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString, store
-
Method Details
-
findByParticipant
List<Event> findByParticipant(long participantId, Date startDate) throws com.logicaldoc.core.PersistenceException Retrieves the events associated to the given participant- Parameters:
participantId
- The id of one or the participantstartDate
- oldest date for the events- Returns:
- list of vents ordered by startDate asc
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findIdsByParticipantAndDocument
List<Long> findIdsByParticipantAndDocument(Long participantId, Long documentId, Date startDate, Date endDate) throws com.logicaldoc.core.PersistenceException Retrieves the identifiers of the events that have a given participant.- Parameters:
participantId
- The id of one or the participantdocumentId
- The id of one of the documentsstartDate
- oldest date for the eventendDate
- latest date for the event- Returns:
- list of event Ids
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
find
List<Event> find(EventSearchCriteria searchCriteria) throws com.logicaldoc.core.PersistenceException Finder method for events.- Parameters:
searchCriteria
- The criteria to be satisfied- Returns:
- The list of events ordered by ascending date
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findIdsToNotify
Finds all the events that have to be notified. That are all those events with at least a reminder not already notified and after the passed date.- Parameters:
startDate
- date to consider, if null the current date will be used- Returns:
- List of ids to be notified
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findOccurrences
Retrieves the occurrences of a master event- Parameters:
masterId
- identifier of the master eventstart
- Oldest date, optionalend
- Latest date, optional- Returns:
- list of events ordered by startDate asc
-
createOccurrences
List<Long> createOccurrences(Event master, Date start, Date end) throws com.logicaldoc.core.PersistenceException This will create all the occurrences of a recurrent master event in a given time range.
Attention: the collections are not propagated. All already reminded occurrences are left untouched.- Parameters:
master
- The starting point eventstart
- Oldest date, optionalend
- Latest date, mandatory- Returns:
- The list of ids of the newly created events
- Throws:
com.logicaldoc.core.PersistenceException
- error at data layer
-
updateOccurrences
This will update all existing occurrences with the master's properties.
Attention: the collections are not propagated nor the timing attributes.- Parameters:
master
- The parent event- Returns:
- The number of updated records
- Throws:
com.logicaldoc.core.PersistenceException
- error at data layer
-
deleteOccurrences
int deleteOccurrences(long parentId, boolean remindedOnly) throws com.logicaldoc.core.PersistenceException Deletes all the occurrences of a given event, but not the event itelf.- Parameters:
parentId
- identifier of the parent eventremindedOnly
- Delete the reminded occurrences only- Returns:
- Number of deleted events
- Throws:
com.logicaldoc.core.PersistenceException
- error at data layer
-
cleanOldEvents
int cleanOldEvents(int ttl) throws com.logicaldoc.core.PersistenceException This method deletes all the events oldest than the given days from now. Ifttl
is 0 or -1, the cancellation is not made.
Attention: Master events with a frequency will not be deleted.- Parameters:
ttl
- The maximum number of days over which the event is considered old- Returns:
- Number of deleted events
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
scheduleEvent
Schedules the job for all the reminders. Do not invoke this directly it is used by the DAO itself.- Parameters:
event
- the event to elaborate
-
unscheduleEvent
void unscheduleEvent(long eventId) Unschedules the jobs of the given events and it's occurrencies. Do not invoke this directly it is used by the DAO itself.- Parameters:
eventId
- the event to elaborate
-
scheduleMissfiredEvents
void scheduleMissfiredEvents() throws com.logicaldoc.core.PersistenceExceptionSchedules the missfired events, used during the bootstrap. Do not invoke this directly it is used by the DAO itself.- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-