Class GeoUpdateAuditServiceImpl

java.lang.Object
ubic.gemma.core.loader.expression.geo.service.GeoUpdateAuditServiceImpl
All Implemented Interfaces:
GeoUpdateAuditService

@Service public class GeoUpdateAuditServiceImpl extends Object implements GeoUpdateAuditService
Implementation of GeoUpdateAuditService: a thin co-bean that exists so recordGeoUpdate(ExpressionExperiment, int, boolean) is invoked through a Spring proxy and the AuditedConditional aspect can intercept its return path.

Previously this emission lived inline at the tail of the private updateFromGEO(ExpressionExperiment, String, ExpressionExperiment, GeoUpdateConfig) helper on GeoServiceImpl and was reached by self-invocation from the two public overloads -- Spring AOP cannot intercept either case, so the imperative auditTrailService.addUpdateEvent(...) call could not be migrated to AuditedConditional in bucket 2c.

The method body is intentionally empty. Emission semantics live entirely in the AuditedConditional declaration: the when= SpEL gates whether a row is written, and the messageSpel= expression builds the note string verbatim matching the legacy " Updated from GEO; N characteristics added/replaced[; Publication added]". The leading space in the message is intentional and preserved for byte-for-byte compatibility with the previous emission.

  • Constructor Details

    • GeoUpdateAuditServiceImpl

      public GeoUpdateAuditServiceImpl()
  • Method Details

    • recordGeoUpdate

      @AuditedConditional(value=ExpressionExperimentUpdateFromGEOEvent.class, when="#numNewCharacteristics > 0 || #pubUpdate", messageSpel="' Updated from GEO; ' + #numNewCharacteristics + ' characteristics added/replaced' + (#pubUpdate ? '; Publication added' : '')") public void recordGeoUpdate(ExpressionExperiment ee, int numNewCharacteristics, boolean pubUpdate)
      Description copied from interface: GeoUpdateAuditService
      Record an ExpressionExperimentUpdateFromGEOEvent audit row for ee, but only when the update actually changed something -- either a new characteristic was added or the primary publication was populated. A no-op call (both inputs zero/false) writes no audit row.
      Specified by:
      recordGeoUpdate in interface GeoUpdateAuditService