Skip to content

refactor: move build isochrones#1932

Merged
sfendrich merged 9 commits intomainfrom
refactor/move-buildIsochrones
Dec 13, 2024
Merged

refactor: move build isochrones#1932
sfendrich merged 9 commits intomainfrom
refactor/move-buildIsochrones

Conversation

@sfendrich
Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • 1. I have [rebased][rebase] the latest version of the main branch into my feature branch and all conflicts
    have been resolved.
  • 2. I have added information about the change/addition to functionality to the CHANGELOG.md file under the
    [Unreleased] heading.
  • 3. I have documented my code using JDocs tags.
  • 4. I have removed unnecessary commented out code, imports and System.out.println statements.
  • 5. I have written JUnit tests for any new methods/classes and ensured that they pass.
  • 6. I have created API tests for any new functionality exposed to the API.
  • 7. If changes/additions are made to the ors-config.json file, I have added these to the [ors config documentation][config]
    along with a short description of what it is for, and documented this in the Pull Request (below).
  • 8. I have built graphs with my code of the Heidelberg.osm.gz file and run the api-tests with all test passing
  • 9. I have referenced the Issue Number in the Pull Request (if the changes were from an issue).
  • 10. For new features or changes involving building of graphs, I have tested on a larger dataset
    (at least Germany), and the graphs build without problems (i.e. no out-of-memory errors).
  • 11. For new features or changes involving the graphbuilding process (i.e. changing encoders, updating the
    importer etc.), I have generated longer distance routes for the affected profiles with different options
    (avoid features, max weight etc.) and compared these with the routes of the same parameters and start/end
    points generated from the current live ORS.
    If there are differences then the reasoning for these MUST be documented in the pull request.
  • 12. I have written in the Pull Request information about the changes made including their intended usage
    and why the change was needed.
  • 13. For changes touching the API documentation, I have tested that the API playground [renders correctly][api].

Information about the changes

Refactored RoutingProfile to improve maintainability

@TheGreatRefrigerator TheGreatRefrigerator changed the title Refactor/move build isochrones refactor: move build isochrones Dec 12, 2024
@sfendrich sfendrich force-pushed the refactor/move-buildIsochrones branch from 158bae8 to 885f10a Compare December 13, 2024 10:38
Copy link
Copy Markdown
Collaborator

@koebi koebi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)
I really like these small steps - moving through them, commit by commit, makes it really easy to understand what is going on :)

What is the plan for TemporaryUtilShelter.java?
Further refactorings will show where the functions currently sheltering should live, I guess?

Sascha Fendrich added 9 commits December 14, 2024 00:04
This commit removes the second parameter `travellers` from method
`IsochronesService.validateAgainstConfig(...)`

This parameter is unnecessary because at the the only place, where this
method is called, `travellers` is extracted from `isochroneRequest`
just before the call. Hence this extraction can happen inside
`validateAgainstConfig`.
Reduce the usage of `getTravellers()` where it is unnecessary.
Instead of injecting partial responses into the `isochronesRequest`
on the fly, this commit first computes the whole response and injects
it afterwards. This is a preparatory step to move the computation
into `buildIsochrone`.
This commit moves the method `computeIsochrones` from `IsochronesService`
into `RoutingProfileManager`and merges it with `buildIsochrones` by
inlining. This is a preparatory step to move the for-loop of this
method into `RoutingProfile.buildIsochrone`, which should then be
moved into `IsochroneRequest`.
This commit moves the method `computeIsochrones` from `RoutingProfileManager`
into `IsochroneRequest`.
@sfendrich sfendrich force-pushed the refactor/move-buildIsochrones branch from 885f10a to 9a749aa Compare December 13, 2024 23:04
@sonarqubecloud
Copy link
Copy Markdown

@sfendrich
Copy link
Copy Markdown
Contributor Author

Thanks! The commits are already collections of small steps that belong together.

TemporaryUtilShelter collects currently homeless methods and should vanish in the long term, when appropriate places for these methods are found.

@sfendrich sfendrich merged commit 81638e4 into main Dec 13, 2024
@sfendrich sfendrich deleted the refactor/move-buildIsochrones branch December 13, 2024 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants