All activity directive id mapping or transforming has been removed, except for the upload step where directive ids might not match what they ultimately become in the database.
Generated activities are no longer assigned fake directive IDs. They are not directives, so this was unsound.
And several renames / trivial refactors:
Renamed SimulatedActivity[Id] to ActivityInstance[Id] to better contrast with ActivityDirective.
Deleted SchedulingActivityDirectiveId and replaced all usages with ActivityDirectiveId.
Renamed SchedulingActivityDirective to SchedulingActivity because it also holds instance information.
Renamed MerlinService and its implementors to MerlinDatabaseService because merlin is not the database.
Verification
All tests still pass. Please suggest any new tests you think would be helpful.
Documentation
I don't think we had any internal documentation of the ID maps, which is part of what made them so annoying. So none needs to be updated!
Description
This contains a couple behavioral changes:
And several renames / trivial refactors:
SimulatedActivity[Id]
toActivityInstance[Id]
to better contrast withActivityDirective
.SchedulingActivityDirectiveId
and replaced all usages withActivityDirectiveId
.SchedulingActivityDirective
toSchedulingActivity
because it also holds instance information.MerlinService
and its implementors toMerlinDatabaseService
because merlin is not the database.Verification
All tests still pass. Please suggest any new tests you think would be helpful.
Documentation
I don't think we had any internal documentation of the ID maps, which is part of what made them so annoying. So none needs to be updated!
Future work