Class DifferentialExpressionAnalyzerAuditServiceImpl
java.lang.Object
ubic.gemma.core.analysis.expression.diff.DifferentialExpressionAnalyzerAuditServiceImpl
- All Implemented Interfaces:
DifferentialExpressionAnalyzerAuditService
@Service
public class DifferentialExpressionAnalyzerAuditServiceImpl
extends Object
implements DifferentialExpressionAnalyzerAuditService
Implementation of
DifferentialExpressionAnalyzerAuditService. The
Audited aspect intercepts the method on return, picks up the
DifferentialExpressionAnalysisPayload argument, serialises it to
JSON and writes it to AUDIT_EVENT.PAYLOAD via
addUpdateEventWithPayload. The note parameter is exposed via
messageSpel = "#note" so the caller controls the
AUDIT_EVENT.NOTE column verbatim.
Propagation.REQUIRES_NEW is used because the calling
DifferentialExpressionAnalyzerServiceImpl is class-level
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, DifferentialExpressionAnalysisEvent.class, note, detail)
4-arg call wrapped in a defensive try/catch at the bottom of
DifferentialExpressionAnalyzerServiceImpl#persistAnalysis.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidrecordAnalysisPersisted(ExpressionExperiment ee, String note, DifferentialExpressionAnalysisPayload payload) Emit aDifferentialExpressionAnalysisEventforeewith the given payload.
-
Constructor Details
-
DifferentialExpressionAnalyzerAuditServiceImpl
public DifferentialExpressionAnalyzerAuditServiceImpl()
-
-
Method Details
-
recordAnalysisPersisted
@Transactional(propagation=REQUIRES_NEW) @Audited(value=DifferentialExpressionAnalysisEvent.class, messageSpel="#note") public void recordAnalysisPersisted(ExpressionExperiment ee, String note, DifferentialExpressionAnalysisPayload payload) Description copied from interface:DifferentialExpressionAnalyzerAuditServiceEmit aDifferentialExpressionAnalysisEventforeewith the given payload.- Specified by:
recordAnalysisPersistedin interfaceDifferentialExpressionAnalyzerAuditService
-