EN · DE · RU · FR · ES

#826 : AddressImageDO.kt

projectforge-business/src/main/kotlin/org/projectforge/business/address/AddressImageDO.kt Entité JPA — images d'adresse, projectforge-business/src/main/kotlin/org/projectforge/business/address/AddressImageDO.kt 87 lignes · 53 code · 25 commentaires · 9 vides
Entité JPA pour stocker les images d'adresse (photos, logos) avec des BLOBs chargés paresseusement et des miniatures d'aperçu. Séparée de AddressDO pour des raisons de performance — les images sont chargées uniquement à la demande via des requêtes nommées.

Architecture

Cette entité Kotlin a été extraite de AddressDO (commit f99817436) pour améliorer les performances grâce au chargement paresseux. Aspects clés de la conception :

Requêtes nommées

Requête Objectif
SELECT_WITHOUT_IMAGES Récupérer les métadonnées de l'image (ID, type, dernière mise à jour) sans les données BLOB — utilisé dans les vues en liste
SELECT_IMAGE_ONLY Récupérer le BLOB de l'image complète — utilisé pour le téléchargement d'image
SELECT_IMAGE_PREVIEW_ONLY Récupérer le BLOB de l'aperçu/miniature — utilisé pour les vues galerie
DELETE_ALL_IMAGES_BY_ADDRESS_ID Supprimer en masse toutes les images d'une adresse — utilisé lors de la suppression d'une adresse

L'entité prend en charge la gestion des images CardDAV (commit c5b4b738b), rendant les photos d'adresse disponibles via le protocole CardDAV avec les données vCard.

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
0237d5eba Sérialisation JSON refactorisée : introduction de IdOnlySerializer et IdsOnlySerializer.
2bcdfbbc6 WIP : stockage du carnet d'ordres.
943947aaa Adresses : support du gif et du jpeg (également pour le serveur carddav).
c5b4b738b WIP : Serveur CardDav, gestion des images.
d6ad9ea38 Travail de migration en cours...
66ec668f6 Travail de migration en cours...
e33c8b9c2 Travail de migration en cours...
06828f490 Travail de migration en cours...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022
f54103172 AddressDao.forceDelete fonctionne désormais aussi si des images étaient fournies.
ceb63e8a1 En-tête du code source : (C) 2001-2021.
ae182f8a1 Problème Github #135, optimisation des performances avec JProfiler.
f99817436 Images des adresses désormais dans une entité séparée. Améliore les performances grâce au chargement paresseux.
7c79f1922 Copyright de l'en-tête source -> 2020.
af35917ac Plus de nettoyage de code
ca5a7c00f Optimiser les imports
05244ff19 Copyright de tous les en-têtes de fichiers Kotlin mis à jour ou créés.
da6eec0f6 AddressAttrDataDO.java -> AddressAttrDataDO.kt
9ebb88522 Commit initial