HistoryLoadContext.ktHistoryLoadContext serves as the central state-holder when history data is loaded from the database and transformed into human-/JSON-readable DisplayHistoryEntry objects. It is instantiated per load operation (not a singleton) and passed through the chain of history converters.
| Class | Purpose |
|---|---|
HistoryEntryMap | Pairs a raw HistoryEntryDO with its display counterpart and a mutable extension map for custom data. |
HistoryEntryAttrMap | Pairs a raw HistoryEntryAttrDO with its display counterpart and a mutable extension map. |
The context maintains:
historyEntries — merged list of HistoryEntryDO, deduplicated by idloadedEntities — entities (BaseDO) already fetched, used to avoid re-fetcheshistoryEntryAttrMap — per-attribute property maps keyed by attr ID (Long → HistoryEntryAttrMap)currentHistoryEntry, currentHistoryEntryAttr, currentDisplayHistoryEntry, currentDisplayHistoryEntryAttrUserGroupCache, HistoryValueService, and the owning BaseDaoDelegates value resolution to historyValueService: getObjectValue() resolves string-encoded values to typed objects; getClass() resolves class names to Class<?>. User resolution delegates to UserGroupCache via getUser(id).
868d6abb7 2025 -> 2026 b7861b2ff Addresses: forced deletion fixed (after mgc migration): sipgate-contacts and history entries / attrs. 63081666f Source file headers: 2024-> 2025. 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... f408da8a8 Migration stuff in progress... (all tests of all packages: OK).