F json schema datamodel
-
Review changes -
-
Download -
Patches
-
Plain diff
Summary
For https://gitlab.indiscale.com/caosdb/customers/leibniz-zmt/management/-/issues/17 and https://gitlab.indiscale.com/caosdb/customers/leibniz-zmt/management/-/issues/24. A rudimentary parser of datamodels defined in json-schemas is introduced. It is sufficient to create flat datamodels, but it still lacks a lot.
- inheritance: This will probably require an extension of datamodel itself, so we won't implement it
- suggested properties: ditto
-
$defs
and$ref
in json schema - Re-use of already defined RTs or Poroperties as List properties
- Reference properties that are different from the referenced RT. (Although this is possible for list of references)
- Values
- The
extern
keyword from the yaml parser - Documentation
Focus
Mainly, a new parser has been introduced. Most changes are actually tests for the new parser.
Test Environment
In principle, the new unit tests and the new integration test are sufficient. You can also use Joscha's ZMT model to verify that the parser actually fulfills the minimal requirement of creating a datamodel for exactly this schema.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related Issues -
Up-to-date CHANGELOG.md -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there spezifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
- version 2732e8bb22
- version 2666749a65
- version 2500ec4ec8
- version 24a323f4c0
- version 23fee1f8f4
- version 221f0301ed
- version 211f0301ed
- version 20a94319fe
- version 19042ae3c6
- version 189f8c69e3
- version 17de034a6e
- version 16fd42767a
- version 1590b046a1
- version 1490b046a1
- version 13ddc5284e
- version 1241ec62d6
- version 118129f953
- version 1087483f68
- version 9dda6764d
- version 85093428e
- version 7b93a673d
- version 6f9165024
- version 59cc0ae43
- version 4a252ccbf
- version 33bf6b29b
- version 23866f798
- version 14143ee25
- dev (base)
- latest versionff19e29535 commits,
- version 2732e8bb2234 commits,
- version 2666749a6533 commits,
- version 2500ec4ec832 commits,
- version 24a323f4c031 commits,
- version 23fee1f8f430 commits,
- version 221f0301ed29 commits,
- version 211f0301ed29 commits,
- version 20a94319fe27 commits,
- version 19042ae3c626 commits,
- version 189f8c69e325 commits,
- version 17de034a6e24 commits,
- version 16fd42767a23 commits,
- version 1590b046a120 commits,
- version 1490b046a129 commits,
- version 13ddc5284e28 commits,
- version 1241ec62d627 commits,
- version 118129f95326 commits,
- version 1087483f6825 commits,
- version 9dda6764d23 commits,
- version 85093428e13 commits,
- version 7b93a673d12 commits,
- version 6f916502411 commits,
- version 59cc0ae438 commits,
- version 4a252ccbf7 commits,
- version 33bf6b29b6 commits,
- version 23866f7984 commits,
- version 14143ee253 commits,
- Side-by-side
- Inline