-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update parser_and_mv to remove A1 reading and use schemas.yaml #222
Conversation
d944532
to
a6eec0c
Compare
44d9849
to
3cb5ca4
Compare
- update parser_and_mv remove A1 reading and use schemas.yaml - fix xml generation and technical tests
3cb5ca4
to
f6672d3
Compare
|
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.
Quelques remarques et questions pour le suivi, mais ça me paraît tout à fait bon (et tests OK)
@@ -62,6 +62,11 @@ jobs: | |||
# We specifically only remove FOLDERS with the exception of a couple manually created ones | |||
run: find . -mindepth 1 -maxdepth 1 -type d ! -name 'builders' ! -name 'config' ! -name 'custom' ! -name 'edxl' ! -name 'exception' ! -name 'report' -exec rm -r {} + | |||
|
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.
Je passe peut-être à côté de l'enjeu : pourquoi a-t-on remonté ce bloc ?
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.
Car le schema.yaml est généré dans la fonction output_schemas_yaml, et il doit avoir été généré avant pour être utilisé dans la fonction parser_and_mv du workflow.py
import com.hubsante.model.{{ .package }}.{{ .rootElement | title }};{{ if ne .rootElement "distributionElement" }} | ||
import com.hubsante.model.{{ .package }}.{{ .rootElement | title }}Wrapper;{{ end }}{{ end }} | ||
{{ end -}} |
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.
OK.
Je me demande si à l'avenir on ne pourrait pas avoir d'autres messages qui n'étendraient pas DistributionElement.
Pour rappel, la propriété/balise "message" contient systématiquement un message fonctionnel, qui est étendu quasi systématiquement par les champs du DistributionElement => d'où la mécanique d'héritage, avec un UseCaseWrapper qui étend DistributionElement en y ajoutant le UseCase (CreateCaseWrapper = DistributionElement + CreateCase, EmsiWrapper = DistributionElement + Emsi, etc.).
On se pose quand même la question de ne pas porter systématiquement les champs du DistributionElement, qui est assez lourd et redondant avec des infos déjà présentes au niveau de l'enveloppe, pour les messages qui n'ont pas vocation à être interforces.
Si on va dans cette direction, on aura peut-être intérêt à terme à remplacer la mécanique "ne rootElement" par un attribut custom qu'on pourrait avoir également dans le tableur Excel.
Mais ça me paraît OK pour le moment !
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.
|
||
def is_allowing_additional_properties(): | ||
return is_custom_content() or MODEL_TYPE == "DistributionElement" | ||
def is_allowing_additional_properties(name): | ||
return is_custom_content() or MODEL_TYPE == "DistributionElement" or name == "RC-DE" | ||
|
||
Path('out/' + name).mkdir(parents=True, exist_ok=True) |
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.
on utilise les deux, ou c'est qu'on a abandonné l'utilisation deMODEL_TYPE pour ne plus utiliser que "name" ?
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.
J'avais vu avec Saveliy qu'il fallait accepter les données supplémentaires spécialement pour le RC-DE, c'est pourquoi j'ai ajouté une condition sur le name. Quand au MODEL_TYPE je n'y ai pas spécialement touché.
#!/bin/bash | ||
|
||
# This script is used to generate the Java classes from the JSON Schemas and run the tests. | ||
# It is intended to be run in a CI/CD environment, such as GitHub Actions. | ||
|
||
set -e | ||
|
||
echo "Cleaning up old generated schemas..." | ||
# Clean up old generated schemas | ||
find ./src/main/resources/json-schema -type f -name '*.json' ! -name 'customContent.schema.json' ! -name 'EDXL-DE-*.schema.json' -exec rm {} + | ||
|
||
echo "Cleaning up old generated Java classes..." |
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.
C'est ta version locale de la github action ? Je serais plutôt aprtisan de ne pas la versionner, car on risque de ne pas la maintenir iso avec la gh action au fil du temps, et donc de garder dans le repo un fichier dont on ne sera plus trop sûr...
def is_allowing_additional_properties(): | ||
return is_custom_content() or MODEL_TYPE == "DistributionElement" | ||
def is_allowing_additional_properties(name): | ||
return is_custom_content() or MODEL_TYPE == "DistributionElement" or name == "RC-DE" |
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.
par curiosité, pourquoi ajouter la condition sur le name ="RC-DE" ?
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.
Quality Gate passedIssues Measures |
updates the parser_and_mv script to eliminate the dependency on reading from cell A1. Instead, it directly utilizes the already generated schemas.yaml file, incorporating the filename and sheet name.