Interface DataUpdaterAuditService

All Known Implementing Classes:
DataUpdaterAuditServiceImpl

public interface DataUpdaterAuditService
Co-bean carrying the DataReplacedEvent emission written at the end of the data-replacement public methods on DataUpdaterImpl (addAffyDataFromAPTOutput, reprocessAffyDataFromCel, replaceData).

Hoisted out of DataUpdaterImpl so the emission method is invoked through a Spring proxy and the @Audited aspect can intercept it -- the previous private audit(...) method was self-invoked via this. from those callers and was therefore invisible to AOP, blocking declarative migration.

The legacy private helper carried a boolean replace switch that picked DataReplacedEvent when true and DataAddedEvent when false. All three remaining call sites pass true; the false branch went away when addData migrated directly to @Audited(DataAddedEvent.class) in commit 40dd662883. The hoisted method records DataReplacedEvent unconditionally.

See Also:
  • Method Details

    • recordDataReplaced

      void recordDataReplaced(ExpressionExperiment ee, String note)
      Record a DataReplacedEvent against the given experiment with the supplied note. Dispatch is via the @Audited aspect.
      Parameters:
      ee - experiment to audit
      note - free-text note stored in AUDIT_EVENT.NOTE
    • recordPlatformSwitch

      void recordPlatformSwitch(ExpressionExperiment ee, String note)
      Record an ExpressionExperimentPlatformSwitchEvent against the given experiment with the supplied note. Dispatch is via the @Audited aspect.

      Three sites in DataUpdaterImpl (addAffyDataFromAPTOutput, reprocessAffyDataFromCel, replaceData) emit this event conditionally when a platform switch actually happens. Callers gate the call on their own if (!targetPlatform.equals(originalPlatform)) predicate, so this method is unconditional -- the absence of a call is the "no switch" signal.

      Parameters:
      ee - experiment to audit
      note - free-text note stored in AUDIT_EVENT.NOTE