Class OutlierFlaggingAuditServiceImpl

java.lang.Object
ubic.gemma.core.analysis.service.OutlierFlaggingAuditServiceImpl
All Implemented Interfaces:
OutlierFlaggingAuditService

@Service public class OutlierFlaggingAuditServiceImpl extends Object implements OutlierFlaggingAuditService
Implementation of OutlierFlaggingAuditService. The Audited aspect intercepts each method on return, picks up the SampleRemovalPayload argument, serialises it to JSON and writes it to AUDIT_EVENT.PAYLOAD via addUpdateEventWithPayload. The note parameter is forwarded into the AUDIT_EVENT.NOTE column via messageSpel = "#note".

Propagation.REQUIRES_NEW is used because the calling OutlierFlaggingServiceImpl methods run with Propagation.NEVER; the audit row needs its own short-lived transaction.

Phase C bucket 2f — see AUDIT_PHASE_C_RECCE.md §4d. Replaces the legacy imperative auditTrailService.addUpdateEvent(ee, SampleRemovalEvent.class, note, detail) 4-arg calls in OutlierFlaggingServiceImpl#markAsMissing and OutlierFlaggingServiceImpl#unmarkAsMissing.