EN · DE · RU · FR · ES

#826: AddressImageDO.kt

projectforge-business/src/main/kotlin/org/projectforge/business/address/AddressImageDO.kt Entidad JPA — imágenes de direcciones, projectforge-business/src/main/kotlin/org/projectforge/business/address/AddressImageDO.kt 87 líneas · 53 código · 25 comentarios · 9 en blanco
Entidad JPA para almacenar imágenes de direcciones (fotos, logotipos) con BLOBs de carga diferida y miniaturas de vista previa. Separada de AddressDO por rendimiento: las imágenes se cargan solo bajo demanda mediante consultas nombradas.

Arquitectura

Esta entidad Kotlin fue extraída de AddressDO (commit f99817436) para mejorar el rendimiento mediante carga diferida. Aspectos clave del diseño:

Consultas Nombradas

Consulta Propósito
SELECT_WITHOUT_IMAGES Obtener metadatos de imagen (ID, tipo, última actualización) sin datos BLOB — usado en vistas de lista
SELECT_IMAGE_ONLY Obtener el BLOB de imagen completo — usado para descarga de imágenes
SELECT_IMAGE_PREVIEW_ONLY Obtener el BLOB de vista previa/miniatura — usado para vistas de galería
DELETE_ALL_IMAGES_BY_ADDRESS_ID Eliminar en lote todas las imágenes de una dirección — usado durante la eliminación de direcciones

La entidad soporta manejo de imágenes CardDAV (commit c5b4b738b), haciendo que las fotos de direcciones estén disponibles a través del protocolo CardDAV junto con datos vCard.

Historial Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024 -> 2025.
0237d5eba Refactorización de serialización JSON: introducidos IdOnlySerializer e IdsOnlySerializer.
2bcdfbbc6 WIP: almacenamiento de libro de órdenes.
943947aaa Direcciones: soporte de gif y jpeg (también para servidor carddav).
c5b4b738b WIP: servidor CardDav, manejo de imágenes.
d6ad9ea38 Trabajo de migración en curso...
66ec668f6 Trabajo de migración en curso...
e33c8b9c2 Trabajo de migración en curso...
06828f490 Trabajo de migración en curso...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022
f54103172 AddressDao.forceDelete funciona ahora también si se proporcionaron imágenes.
ceb63e8a1 Encabezado de código fuente: (C) 2001-2021.
ae182f8a1 Problema de Github #135, optimización de rendimiento con JProfiler.
f99817436 Imágenes de direcciones ahora en entidad separada. Mejora el rendimiento debido a la carga diferida.
7c79f1922 Copyright del encabezado fuente -> 2020.
af35917ac Más limpieza de código
ca5a7c00f Optimizar importaciones
05244ff19 Copyright de todos los encabezados de archivos Kotlin actualizado o creado.
da6eec0f6 AddressAttrDataDO.java -> AddressAttrDataDO.kt
9ebb88522 Commit inicial