-
Notifications
You must be signed in to change notification settings - Fork 74
Feat/s2dm exporter enhancements #486
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
Draft
jdacoello
wants to merge
18
commits into
COVESA:master
Choose a base branch
from
jdacoello:feat/s2dm-exporter-enhancements
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
fbf96c9
feat: Enhance enum value handling: sanitize values for GraphQL compli…
jdacoello 55b5b61
feat: Implement instance dimension enum sanitization and metadata ann…
jdacoello cb5e6ae
feat(s2dm): add extended attributes metadata annotations
jdacoello 1853cd3
feat(s2dm): enhance pluralization handling and naming conventions in …
jdacoello ee038de
refactor(s2dm): move GraphQL utilities into s2dm exporter
jdacoello 1c7e2be
feat: Implement progressive qualification for GraphQL type naming in …
jdacoello dcedf38
feat(s2dm): enhance name collision detection including tree and structs
jdacoello 2e1b21f
fix(s2dm): Simplify directive handling in modular mode and resolve my…
jdacoello aeb345d
feat(s2dm): add unit enums metadata handling in modular mode
jdacoello 0789fbf
fix(s2dm): Use the correct output type
jdacoello bba6f30
feat(s2dm): implement handling for skipped empty branches during export
jdacoello 9a6d57d
feat(s2dm): simplify vspec metadata annotation with sidecar lookup sp…
jdacoello e1c85ba
feat(s2dm): fix struct processing and remove hoisted properties
jdacoello 7ba0a63
refactor(s2dm): Simplify vspec directive and include instantiate meta…
jdacoello 3a275fa
feat(s2dm): map units to qudt references
jdacoello 3cba567
fix(s2dm): Update test for instance tag check without id fields
jdacoello 4d16f73
fix(s2dm): Add alias for old vspec unit keys for qudt mappings
jdacoello 8df6a55
fix(s2dm): Export allowed values inside struct as enums
jdacoello File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not a dict as value, so taking 1:1 what is in the source?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This metadata can hold more than only the fields reported by the vss model. For example, I am now annotating when a name was modified. For instance, a leaf name in VSS is
PascalCase, whereas in the export it becomes a field inside a type, which in GraphQL conventions is done withcamelCase. However, I think I can assign to metadata:Dict found in VSS model + Dict of extra stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, a dictionary is not a built-in scalar in GraphQL. There are other community driven scalars specified. But, they don't offer the dictionary scalar. The closest one would be to say it's a
JSON.Is that what you mean? It seems feasible. But, I see a few limitations with that:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's what I meant but encoding JSON into a string is not that great... then let's stick with the typed key vale pair. Although there exists the same problem that all values are forced to be strings and we are limiting ourselves to non complex metadata values, which in turn means that complex vales could be JSON strings...