Skip to content
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

feat: introduce default config behavior #1829

Closed

Conversation

MichaelsJP
Copy link
Member

Pull Request Checklist

  • 1. I have rebased 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
    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.

Fixes # .

Information about the changes

  • Key functionality added:
  • Reason for change:

Examples and reasons for differences between live ORS routes, and those generated from this pull request

Required changes to ors config (if applicable)

This is used at several places to get the storage access: RAM vs MMAP.
The subclasses got lombok annotations to reduce the boilerplate code.
This function wraps the deepCopyObjectsProperties function and allows to harmonize ExtendedStorageArrays
This adds the extended storages plus their default values per profile including tests.
Each config object has a personal default configuration now, where profile related values are initialized.
Exclude ext_storages from the public transport config and cleanup an old config setter.
This allows for proper deep merging of default config and external ors config properties.
This change streamlines the encoder configuration file names with the other default configurations,
This streamlines the class names with the other default configurations.
… extended storages

 This gives the feature to avoid overwriting empty member classes or extended storages in case some default values shouldn't be populated with incomplete user settings. One example are the extended storages. If the user decides to set only one extended storage for car we must respect that and not hardcode the remaining default storages. Still we want to have sensible defaults for the existing extended storage if that one is incomplete. Same for execution and processing properties.
@MichaelsJP MichaelsJP marked this pull request as draft July 30, 2024 07:54
@MichaelsJP MichaelsJP changed the base branch from main to feat/config-wrapup July 30, 2024 07:54
@MichaelsJP MichaelsJP closed this Aug 2, 2024
@MichaelsJP MichaelsJP deleted the feat/introduce-default-config-behavior branch August 2, 2024 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: To do
Development

Successfully merging this pull request may close these issues.

1 participant