-
Notifications
You must be signed in to change notification settings - Fork 7
Plate Set Auditing #7062
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plate Set Auditing #7062
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive auditing functionality for plate sets, plates, and plate assay import events. The changes introduce audit event handlers to track creation, archival, restoration, and import events for plates and plate sets, while also consolidating validation logic for plates used in assay runs.
- Add audit event providers and events for tracking plate and plate set lifecycle changes
- Implement comprehensive auditing for plate/plate set operations including creation, deletion, archival, and assay imports
- Introduce
ValidateRunImportedPlateTriggerto consolidate plate validation checks into a single trigger
Reviewed Changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| WellTable.java | Updates column naming from SampleID to SampleId and adds audit configuration |
| PlateTable.java | Adds plate trigger factory and audit transaction management for deletions |
| PlateBean.java | Adds entity properties support with includeEntityProperties parameter |
| WellTriggerFactory.java | Adds new validation trigger and updates column references to use SampleId |
| WellData.java | Updates column reference to use SampleId naming |
| PlateTriggerFactory.java | New trigger factory for handling plate deletion auditing |
| PlateMapExcelWriter.java | Updates excluded fields to use SampleId naming |
| PlateSetAuditProvider.java | New audit provider for plate set events |
| PlateSetAuditEvent.java | New audit event class for plate set operations |
| PlateAuditProvider.java | New audit provider for plate events |
| PlateAuditEvent.java | New audit event class for plate operations |
| PlateSetImpl.java | Adds parent plate set ID property for auditing |
| PlateManagerTest.java | Updates method calls and column references for consistency |
| PlateManager.java | Major updates adding audit event handling and transaction management |
| PlateImpl.java | Adds source plate ID property and user accessor methods |
| AssayPlateMetadataServiceImpl.java | Adds plate import audit events and minor improvements |
| PlateSetDataGenerator.java | Updates column reference to use SampleId naming |
| PlateController.java | Minor variable name improvement |
| AssayModule.java | Registers new audit type providers |
| Trigger.java | Removes outdated documentation comments |
| AuditTypeEvent.java | Minor code formatting improvements |
| AbstractAuditTypeProvider.java | Code cleanup and formatting improvements |
| AbstractAssayTsvDataHandler.java | Minor import cleanup and null check improvement |
Comments suppressed due to low confidence (1)
assay/src/org/labkey/assay/plate/audit/PlateSetAuditEvent.java:1
- [nitpick] The audit record maps are hardcoded to only track the 'Archived' field. Consider creating a more comprehensive audit record that captures other relevant plate set properties that may have changed during the archive/restore operation.
package org.labkey.assay.plate.audit;
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
c5d70a2 to
2b9530c
Compare
2b9530c to
2e61263
Compare
Rationale
Add auditing of plate sets, plates, and plate assay import events.
Related Pull Requests
Changes
PlateandPlateSetValidateRunImportedPlateTriggerto reduce burden of validation checks to a single call