Skip to content

Add support for using JSON Path in SimpleURL Harvester#9132

Open
tobias-hotz wants to merge 3 commits intogeonetwork:mainfrom
tobias-hotz:simpleUrlJsonPathSupport
Open

Add support for using JSON Path in SimpleURL Harvester#9132
tobias-hotz wants to merge 3 commits intogeonetwork:mainfrom
tobias-hotz:simpleUrlJsonPathSupport

Conversation

@tobias-hotz
Copy link
Contributor

This PR adds support for using JSON Paths to get the identifier of a record.
We currently harvest a datasource where the true uuid is hidden in an array, and a JSON Pointer is not sufficient to reliably find the UUID. With this PR, the default is still JSON Pointers, but you can also switch to JSON Paths using a simple drop down menu.
I've tested this locally to confirm it works for our usecase.
My first attempt was to attempt parsing as JSON Pointer, and if that fails, fall back to JSON Path parsing. But an invalid JSON Pointer that should just fail would in that case be interpreted as a JSON Path, which is not always wanted. Also, it is not very obvious to users that JSON Paths are possible. Additionally, we always need to parse twice, which causes additional runtime overhead. So I decided to just use an explicit dropdown.

Checklist

  • I have read the contribution guidelines
  • Pull request provided for main branch, backports managed with label
  • Good housekeeping of code, cleaning up comments, tests, and documentation
  • Clean commit history broken into understandable chucks, avoiding big commits with hundreds of files, cautious of reformatting and whitespace changes
  • Clean commit messages, longer verbose messages are encouraged
  • API Changes are identified in commit messages
  • Testing provided for features or enhancements using automatic tests
  • User documentation provided for new features or enhancements in manual
  • Build documentation provided for development instructions in README.md files
  • Library management using pom.xml dependency management. Update build documentation with intended library use and library tutorials or documentation

Funded by LGL BW

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant