UserPrefCache.ktExtends AbstractUserPrefCache. Uses in-memory ConcurrentHashMap per user for fast access. Falls back to database queries via UserPrefDao on cache miss.
Provides generic getEntry(key, type) methods using Kotlin reified generics. Supports String, Integer, Boolean, and serialized object values.
Preferences are read on virtually every page load but change infrequently. The cache eliminates redundant DB reads while putValue() ensures write-through consistency.
| Commit | What changed |
|---|---|
868d6abb75 | 2025 -> 2026 |
63081666f6 | Source file headers: 2024-> 2025. |
f8961fd661 | Shutdown handling of ProjectForge improved: ShutdownService will shutdown some services first before database will gone. |
011000f03d | Migration stuff in progress... (all tests of all packages: OK). |
4d58829ccd | UserPrefCache and UserXmlPreferencesCache refactored. |
4b9ffbee2c | Migration stuff in progress... (all tests of all packages: OK). |
1b50060c3a | BaseDao: renamed: get -> find, save -> insert, getList -> select, load -> select |
87aaf6a5a5 | Migration stuff in progress... BaseDao refactored (not yet finished) internal* methods renamed. |
b1a4bf2acf | Migration stuff in progress... (all tests of all packages: OK). |
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). |
1135ccbca9 | Persistence: functions renamed: *NewTrans -> *InTrans |
b095e6f7d1 | !!!!! Big change of Transaction handling: Re-uses PfPersistenceContext as much as possible (not yet finished). Tests doesn't yet run. |
4c04cfd652 | MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.) |
d809ca82a2 | Migration stuff in progress... |
31a7c1cbac | Migration stuff in progress... |
06828f4908 | Migration stuff in progress... |
77bade6dfb | javax.* -> jakarta.* |
b6092df092 | Copyright 2023 -> 2024 |
ab45d51fa4 | Copyright 2001-2022 -> 2001-2023. |
38bec971af | ThreadLocal -> Kotlin |
2430786334 | ProjektEditPage returns now to Wicket-version if called by. |
fc0e360a84 | React list: filter reset will also reset AG grid states and reloads the page. |
5f7ef41b8c | Copyright 2021 -> 2022 |
ceb63e8a1b | Source code header: (C) 2001-2021. |
4d0748a453 | UserPrefCache: synchronize. Bugfix: user prefs were lost! |
b6750dc966 | Nothing real. |
fc9fb3e5a3 | WIP: Token handling for authorization. |
7c79f1922c | Copyright of source header -> 2020. |
fadbfeb2c4 | WIP: MagicFilter, currentFilter, favorites, UserPrefCache/Dao... |
8d0def4e16 | WicketSupport for Kotlin based SpringBeans improved. |
dc4db8a8eb | Workaround for Wicket-SpringBean issue: KotlinComponents and WicketSupport classes added as hot-fix for the de-migration phase of Wicket. |
3f7eb5ee93 | UserPrefCache: class must be declared as open (Wicket tries to proxy this class). |
a7bc98bddb | Json serialization: UtilDateConverter re-used for ToString, Rest and UserPrefDao. WIP: UserPrefCache... |
523ce3c901 | New UserPrefCache seems to work now, ready to fly... |
31f0b32b5f | WIP: UserPrefs... |
747bfa24cf | WIP: UserPrefCache: support of json serialízation and deserialization. |