Interface ExpressionExperimentWriteAuditService
- All Known Implementing Classes:
ExpressionExperimentWriteAuditServiceImpl
public interface ExpressionExperimentWriteAuditService
Co-bean for
ExpressionExperimentWriteServiceImpl: a thin layer
that exists so the preferred-QuantitationType change-audit
methods are invoked through a Spring proxy, allowing the AuditedAspect
to intercept the return path.
The two emission cases (inventory #15/#16 in
AUDIT_RESIDUAL_INVENTORY.md) live in
ExpressionExperimentWriteServiceImpl.updateQuantitationType(ExpressionExperiment, QuantitationType, QuantitationType) and
pick the PreferredDataChangedEvent subclass at runtime from the
data-vector type of the affected QT. The migration uses the
valueSpel attribute on @Audited to express this runtime dispatch
declaratively.
-
Method Summary
Modifier and TypeMethodDescriptionvoidrecordPreferredQtChanged(ExpressionExperiment ee, QuantitationType qt, QuantitationType previousPreferredQt, Class<? extends DataVector> vectorType) Audit that the preferredQuantitationTypefor the given vector type changed toqt.voidrecordPreferredQtCleared(ExpressionExperiment ee, QuantitationType previousPreferredQt, Class<? extends DataVector> vectorType) Audit that the preferredQuantitationTypefor the given vector type was cleared (the previously-preferred QT is no longer preferred).
-
Method Details
-
recordPreferredQtChanged
void recordPreferredQtChanged(ExpressionExperiment ee, QuantitationType qt, @Nullable QuantitationType previousPreferredQt, Class<? extends DataVector> vectorType) Audit that the preferredQuantitationTypefor the given vector type changed toqt. The recorded event class is thePreferredDataChangedEventsubclass matchingvectorType(seeExpressionExperimentWriteServiceImpl.getPreferredDataChangedEventForVectorType(Class)); the caller is responsible for not invoking this method when no event class exists for the vector type (e.g. processed data).- Parameters:
ee- the experiment whose preferred QT changedqt- the new preferred QTpreviousPreferredQt- the prior preferred QT (may be null)vectorType- the data-vector type that drives event-class dispatch
-
recordPreferredQtCleared
void recordPreferredQtCleared(ExpressionExperiment ee, QuantitationType previousPreferredQt, Class<? extends DataVector> vectorType) Audit that the preferredQuantitationTypefor the given vector type was cleared (the previously-preferred QT is no longer preferred). Same dispatch rule asrecordPreferredQtChanged(ExpressionExperiment, QuantitationType, QuantitationType, Class).- Parameters:
ee- the experiment whose preferred QT was clearedpreviousPreferredQt- the QT that used to be preferred (non-null)vectorType- the data-vector type that drives event-class dispatch
-