#1066: SipgateContactSyncDO.kt
projectforge-business/src/main/kotlin/org/projectforge/business/sipgate/SipgateContactSyncDO.kt JPA Entity / Sipgate Integration, projectforge-business/src/main/kotlin/org/projectforge/business/sipgate/SipgateContactSyncDO.kt 247 lines · 175 code · 45 comments · 27 blank
JPA entity mapping the sync state between Sipgate remote contacts and local AddressDO entries. Stored in table T_SIPGATE_CONTACT_SYNC with unique constraints on sipgate_contact_id and address_id. Tracks the RemoteStatus enum (OK, CREATED_BY_LOCAL, CREATED_BY_REMOTE, DELETED_BY_LOCAL), lastSync timestamp, and a JSON SyncInfo hash map for field-level change detection. SyncInfo hashes ContactDO field values and address field values, ignoring address text fields (too complex to sync). Named queries support delete-by-address, find-by-address, find-by-contact-or-address, and load-all. The readJson()/updateJson() methods serialize/deserialize SyncInfo from/to the JSON column.
Git History
868d6abb7 2025 -> 2026
b7861b2ff Addresses: forced deletion fixed (after mgc migration): sipgate-contacts and history entries / attrs.
63081666f Source file headers: 2024-> 2025.
0237d5eba Json serialization refactored: IdOnlySerializer and IdsOnlySerializer introduced.
50c9d6104 Migration stuff in progress... (all tests of all packages: OK).
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.)
f5c09f87f Migration stuff in progress...
06828f490 Migration stuff in progress...
b6092df09 Copyright 2023 -> 2024
b4a0462a1 Nothing real.
50dfe1068 WIP Sipgate.
e3b79281f WIP Sipgate.
0865cb59f SipgateContactSyncDO: toString fixed.
a3f5c7251 Logging improved (for debugging)
ba49742ab WIP Sipgate.
3bc659a54 WIP Sipgate.
7308fef20 WIP Sipgate.
8ce73b6eb WIP Sipgate.