Class AuditTrailServiceImplCuratableDispatchTest
java.lang.Object
ubic.gemma.persistence.service.common.auditAndSecurity.AuditTrailServiceImplCuratableDispatchTest
Does
doAddUpdateEvent recognise a curatable entity when it arrives as a proxy?
Curatable is introduced at ExpressionExperiment, below Investigation and
BioAssaySet. A Hibernate proxy is generated from the DECLARED type, so a proxy typed to
either supertype never implements Curatable — not even after initialization. The
instanceof Curatable gate therefore missed, and the curation details were silently left
stale while the audit row was written anyway.
Reached in production through @AuditedConditional methods that declare an
Investigation parameter (AnnotationSetServiceImpl.attach,
WorkflowServiceImpl.advance): AuditedAspect.findAuditable hands the aspect
whatever args[0] is, and DatasetsWebService passes
proposal.getInvestigation() — a lazy proxy.
- Author:
- claude
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
AuditTrailServiceImplCuratableDispatchTest
public AuditTrailServiceImplCuratableDispatchTest()
-
-
Method Details
-
setUp
@BeforeEach public void setUp() -
plainExperiment_updatesCurationDetails
@Test public void plainExperiment_updatesCurationDetails() -
experimentBehindAnInvestigationProxy_stillUpdatesCurationDetails
@Test public void experimentBehindAnInvestigationProxy_stillUpdatesCurationDetails() -
nonCuratableInvestigation_doesNotUpdateCurationDetails
@Test public void nonCuratableInvestigation_doesNotUpdateCurationDetails()
-