UserPrefDao.ktExtends BaseDao. Provides getUserPrefs(user, area), getEntry(user, area, key), saveEntry() for preference persistence.
All queries are scoped by UserPrefArea to prevent cross-area key collisions. Preferences are organized as UserPrefDO (container) → UserPrefEntryDO (individual entries).
Two-level structure (DO → EntryDO) enables atomic loading of all preferences for an area while keeping individual entry updates lightweight.
I18nEnum for internationalized display labels.| Commit | What changed |
|---|---|
868d6abb75 | 2025 -> 2026 |
e2061d7db0 | UserPrefDao: Suppress error log on old TimesheetPrefData. Login handling improved: redirect to origin url after login. |
63081666f6 | Source file headers: 2024-> 2025. |
0237d5eba9 | Json serialization refactored: IdOnlySerializer and IdsOnlySerializer introduced. |
43453fcafe | Migration stuff in progress... |
811041325e | Migration stuff in progress... |
f7d7ff851f | Migration stuff in progress... (all tests of all packages: OK). |
011000f03d | Migration stuff in progress... (all tests of all packages: OK). |
4d58829ccd | UserPrefCache and UserXmlPreferencesCache refactored. |
d67bce18b9 | Migration stuff in progress... |
5989b32fdb | BaseDao: mechanism of onChangeLister refactored. |
1b50060c3a | BaseDao: renamed: get -> find, save -> insert, getList -> select, load -> select |
87aaf6a5a5 | Migration stuff in progress... BaseDao refactored (not yet finished) internal* methods renamed. |
3aeda5ef5a | 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). |
67805f2fc1 | ThreadLocalUserContext.user -> ThreadLocalUserContext.loggedInUser (renamed for avoiding mis-understandings in code). |
85b4e11758 | PfPersistenceService and PfPersistenceContext: query renamed to executeQuery. |
9de3436296 | Migration stuff in progress... |
384da53dec | Migration stuff in progress... |
f7f5ad4d36 | UserPrefDao -> Kotlin. |