Class ArrayDesignMergeAuditServiceImpl
- All Implemented Interfaces:
ArrayDesignMergeAuditService
ArrayDesignMergeAuditService: a thin co-bean that
exists so each recordMerge(ArrayDesign, String) call is invoked
through a Spring proxy and the Audited aspect can intercept it and
emit the ArrayDesignMergeEvent.
The previous incarnation was a private audit(...) member of
ArrayDesignMergeHelperServiceImpl self-invoked via this.
from persistMerging() -- Spring AOP cannot intercept either case,
so an imperative auditTrailService.addUpdateEvent(...) call was the
only workable shape. Hoisting it onto a separately-injected bean lets the
aspect see it and the body collapses to a logging-only marker.
The Transactional default propagation (REQUIRED) joins
the outer transaction opened by
ArrayDesignMergeHelperServiceImpl.persistMerging, matching the
pre-hoist behaviour (the legacy
auditTrailService.addUpdateEvent(...) call ran inside the same
transaction).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidrecordMerge(ArrayDesign arrayDesign, String note) Record anArrayDesignMergeEventagainst the given platform with the supplied note.
-
Constructor Details
-
ArrayDesignMergeAuditServiceImpl
public ArrayDesignMergeAuditServiceImpl()
-
-
Method Details
-
recordMerge
@Transactional @Audited(value=ArrayDesignMergeEvent.class, messageSpel="#note") public void recordMerge(ArrayDesign arrayDesign, String note) Record anArrayDesignMergeEventagainst the given platform with the supplied note. Dispatch is via the@Auditedaspect.The
Auditedannotation drives emission through theAuditedAspect; this method body is intentionally a logging-only marker so the proxy-intercepted return triggers exactly oneArrayDesignMergeEvent.- Specified by:
recordMergein interfaceArrayDesignMergeAuditService- Parameters:
arrayDesign- array design to auditnote- free-text note stored inAUDIT_EVENT.NOTE
-