diff --git a/backend/src/main/java/org/raddatz/familienarchiv/document/annotation/AnnotationService.java b/backend/src/main/java/org/raddatz/familienarchiv/document/annotation/AnnotationService.java index ff605286..1da0dd55 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/document/annotation/AnnotationService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/document/annotation/AnnotationService.java @@ -6,12 +6,11 @@ import org.raddatz.familienarchiv.audit.AuditKind; import org.raddatz.familienarchiv.audit.AuditService; import org.raddatz.familienarchiv.document.annotation.CreateAnnotationDTO; import org.raddatz.familienarchiv.document.annotation.UpdateAnnotationDTO; -import org.raddatz.familienarchiv.document.transcription.TranscriptionService; +import org.raddatz.familienarchiv.document.transcription.TranscriptionBlockRepository; import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.document.annotation.DocumentAnnotation; import org.raddatz.familienarchiv.document.annotation.AnnotationRepository; -import org.springframework.context.annotation.Lazy; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -27,11 +26,7 @@ import java.util.UUID; public class AnnotationService { private final AnnotationRepository annotationRepository; - // @Lazy: AnnotationService and TranscriptionService have a mutual cleanup - // dependency (deleting an annotation cascades to its blocks; deleting a block - // cascades to its annotation). Lazy resolution lets Spring construct both beans. - @Lazy - private final TranscriptionService transcriptionService; + private final TranscriptionBlockRepository transcriptionBlockRepository; private final AuditService auditService; public List listAnnotations(UUID documentId) { @@ -123,7 +118,7 @@ public class AnnotationService { throw DomainException.forbidden("Only the annotation author can delete it"); } - transcriptionService.deleteByAnnotationId(annotationId); + transcriptionBlockRepository.deleteByAnnotationId(annotationId); annotationRepository.delete(annotation); }