[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JavaDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing
Description
This PR addresses the issue of pattern stops and pattern locations being processed in series as part of the parent/child update in JDBCTableWriter. Pattern reconciliation (as well as pattern frequencies update) require all pattern stops and pattern locations to correctly update the stop times table.
JDBCTableWriter has been updated to collate pattern stops/locations and then triggers pattern reconciliation after the parent/child updates have been carried out. If pattern frequencies require updating this is triggered after pattern reconciliation so the cummulative travel times are correctly applied according to the updated pattern sequence.
Checklist
dev
before they can be merged tomaster
)Description
This PR addresses the issue of pattern stops and pattern locations being processed in series as part of the parent/child update in JDBCTableWriter. Pattern reconciliation (as well as pattern frequencies update) require all pattern stops and pattern locations to correctly update the stop times table.
JDBCTableWriter has been updated to collate pattern stops/locations and then triggers pattern reconciliation after the parent/child updates have been carried out. If pattern frequencies require updating this is triggered after pattern reconciliation so the cummulative travel times are correctly applied according to the updated pattern sequence.
This also addresses this bug: https://github.com/conveyal/gtfs-lib/pull/335#issuecomment-1079137841. See changes in src/main/java/com/conveyal/gtfs/model/StopTime.java.