android-fhir
android-fhir copied to clipboard
Ordering of patches with cycles during upload
IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #2500
Description
- Find subgraphs (weakly connected) of Resources with cycles in them .
- Pack the subgraphs in Bundles such that a single subgraph is not split between two Bundles (as it may cause server error).
- Order the remaining resources and add them to the Bundle (in remaining space of or new Bundles) .
Alternative(s) considered Have you considered any alternatives? And if so, why have you chosen the approach in this PR?
Type Choose one: Bug fix
Screenshots (if applicable)
Checklist
- [ ] I have read and acknowledged the Code of conduct.
- [ ] I have read the Contributing page.
- [ ] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
- [ ] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
- [ ] I have run
./gradlew spotlessApply
and./gradlew spotlessCheck
to check my code follows the style guide of this project. - [ ] I have run
./gradlew check
and./gradlew connectedCheck
to test my changes locally. - [ ] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).
Is this ready for review ?
It's the Tarjan's Algorithm: https://www.geeksforgeeks.org/tarjan-algorithm-find-strongly-connected-components/