#1089: TeamEventDao.kt

projectforge-business/src/main/kotlin/org/projectforge/business/teamcal/event/TeamEventDao.kt DAO / Team Calendar Event, projectforge-business/src/main/kotlin/org/projectforge/business/teamcal/event/TeamEventDao.kt 770 lines · 583 code · 131 comments · 56 blank
Complex DAO for TeamEventDO extending BaseDao with extensive event management logic. getEventList() is the primary query method: handles recurrence events by rolling out repeat instances via rollOutRecurrenceEvents(), merging external subscription events from TeamEventExternalSubscriptionCache. Supports filtering by calendar ids, date ranges (extended by one day for UTC all-day events). handleSeriesUpdates() implements RRULE series modification: ALL (modify whole series), FUTURE (split: shorten master's UNTIL, insert new event), SINGLE (add EXDATE to master, insert new event). markAsDeleted() mirrors this for deletions. onInsert() sets ownership, dtStamp, and generates UID. onInsertOrModify() validates all-day midnight normalization and minimum 60-second duration. onUpdate() tracks reminder changes and auto-increments sequence if meaningful field changes detected. removeAttendeeByAddressIdFromAllEvents() for forced address deletion cleanup. Provides location autocompletion.

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
5f9bbfbd3 Fix typos in projectforge-business directory
18bf92219 WIP: History entries handling. VisitorBookDao.
c193e8288 Ical4j: migration stuff... (all tests OK)
61966790f Ical4j: migration stuff...
bbc198d03 Migration stuff in progress... (all tests of all packages: OK).
9e3c523c7 Migration stuff in progress... (all tests of all packages: OK).
c97135a57 Migration stuff in progress...
4b9ffbee2 Migration stuff in progress... (all tests of all packages: OK).
b79a1edca Migration stuff in progress... (all tests of all packages: OK).
d67bce18b Migration stuff in progress...
5989b32fd BaseDao: mechanism of onChangeLister refactored.
1b50060c3 BaseDao: renamed: get -> find, save -> insert, getList -> select, load -> select
87aaf6a5a Migration stuff in progress... BaseDao refactored (not yet finished) internal* methods renamed.
3aeda5ef5 Big change: all save|update|...InTrans renamed (InTrans removed). PfPesistenceContext as param not needed anymore (ThreadLocal is used instead). (all tests of all packages: OK).
85b4e1175 PfPersistenceService and PfPersistenceContext: query renamed to executeQuery.
6a9ba0372 Minor improvments in PFDateTimeUtils (regex as field), Companion in PFDayUtils and PFDateTimeUtils replaced by object class.
68688c148 DisplayHistoryEntry: new concept in progress...
1135ccbca Persistence: functions renamed: *NewTrans -> *InTrans
b095e6f7d !!!!! Big change of Transaction handling: Re-uses PfPersistenceContext as much as possible (not yet finished). Tests doesn't yet run.
f59810cf0 Migration stuff in progress...
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.)
8a9870ae7 Migration stuff in progress...
3121b7ad6 Migration stuff in progress...
5bafe7941 @Repository -> @Service. @Transactional-Annotations removed.
067a4cbb1 Migration stuff in progress...
9d8b94352 Migration stuff in progress...
d809ca82a Migration stuff in progress...
67ce75fe9 Migration stuff in progress...