Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
327 commits
Select commit Hold shift + click to select a range
dc828c9
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 28, 2024
d28efc4
feat/auto: fix gha
Nov 28, 2024
73f2170
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
870e871
feat/auto: fix gha
Nov 28, 2024
a8712f1
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 28, 2024
22a8556
feat/auto: fix gha
Nov 28, 2024
dcd6661
[24.11.28 15:30] Model auto-generation
romainfd Nov 28, 2024
1a145c1
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
68a8465
feat/auto: fix gha
Nov 28, 2024
57b54db
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 28, 2024
370214f
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Nov 28, 2024
5fdffbd
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
be3ef8e
feat/parser: fix workfow
Nov 28, 2024
3e2200b
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
de4a4a4
feat/parser: fix workfow
Nov 28, 2024
d71c074
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 28, 2024
19c500a
feat/auto: fix model
Nov 28, 2024
b411e57
feat/auto: fix model
Nov 28, 2024
2761cb0
feat/auto: fix gha
Nov 28, 2024
9292e66
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
f09c00f
feat/auto: fix tmpl
Nov 28, 2024
67a1ed6
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
bfb74cc
feat/auto: fix tmpl
Nov 28, 2024
306d197
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
cc6459e
feat/auto: fix tmpl
Nov 28, 2024
b42c857
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
4ef7264
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
1f369a7
Add files via upload
daphneleccia Nov 28, 2024
73626cc
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 28, 2024
4e97161
feat/auto: fix tmpl
Nov 28, 2024
4220bfd
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
8a02fc0
[24.11.28 17:30] Model auto-generation
romainfd Nov 28, 2024
8667f24
feat/auto: fix tmpl
Nov 28, 2024
d0c2eb4
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Nov 28, 2024
b01988e
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
3fbd677
Add files via upload
daphneleccia Nov 28, 2024
ffacd5c
Add files via upload
daphneleccia Nov 28, 2024
2baa820
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 28, 2024
987c2a3
feat/auto: fix tmpl
Nov 28, 2024
d6d519d
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 28, 2024
a7ccab3
Add files via upload
daphneleccia Nov 28, 2024
aa178d2
Add files via upload
daphneleccia Nov 28, 2024
fc06c38
Add files via upload
daphneleccia Nov 28, 2024
57cf94f
Add files via upload
daphneleccia Nov 28, 2024
d32687f
Add files via upload
daphneleccia Nov 28, 2024
2726c04
Rename RS-EDA-message_Secondaire.json to RS-EDA_Secondaire_RobertVerm…
daphneleccia Nov 28, 2024
d26b7e2
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 28, 2024
a9c5355
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 28, 2024
9809623
Rename RS-EDA-message_Secondaire.xml to RS-EDA_Secondaire_RobertVerma…
daphneleccia Nov 28, 2024
d233d9f
Rename RS-ER-message_Secondaire.json to RS-ER_Secondaire_RobertVerman…
daphneleccia Nov 28, 2024
32c95ca
Rename RS-ER-message_Secondaire.xml to RS-ER_Secondaire_RobertVermand…
daphneleccia Nov 28, 2024
ec22ca6
Rename RS-RI-message_Secondaire.json to RS-RI_Secondaire_RobertVerman…
daphneleccia Nov 28, 2024
d24910e
Rename RS-RI-message_Secondaire.xml to RS-RI_Secondaire_RobertVermand…
daphneleccia Nov 28, 2024
1114252
Rename RS-SR-message_Secondaire_Départ.json to RS-SR_Secondaire_Rober…
daphneleccia Nov 28, 2024
a4358fa
Rename RS-SR-message_Secondaire_Départ.xml to RS-SR_Secondaire_Robert…
daphneleccia Nov 28, 2024
6228ee3
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 28, 2024
43cdea5
Update and rename RS-SR-message_Secondaire_Arrivée destination.json t…
daphneleccia Nov 28, 2024
d228725
Rename RS-SR-message_Secondaire_Arrivée destination.xml to RS-SR_Seco…
daphneleccia Nov 28, 2024
56d5890
Rename RS-URL-message_Secondaire.json to RS-URL_Secondaire_RobertVerm…
daphneleccia Nov 28, 2024
e96493a
Rename RS-URL-message_Secondaire.xml to RS-URL_Secondaire_RobertVerma…
daphneleccia Nov 28, 2024
73a0894
Rename RS-BPV-message_Secondaire.json to RS-BPV_Secondaire_RobertVerm…
daphneleccia Nov 28, 2024
a5ba88c
Rename RS-BPV-message_Secondaire.xml to RS-BPV_Secondaire_RobertVerma…
daphneleccia Nov 28, 2024
dd990d2
Rename RS-RPIS-message_Secondaire.json to RS-RPIS_Secondaire_RobertVe…
daphneleccia Nov 28, 2024
8f6b46c
Rename RS-RPIS-message_Secondaire.xml to RS-RPIS_Secondaire_RobertVer…
daphneleccia Nov 28, 2024
ad69608
Rename RS-EDA-MAJ-message_Secondaire.json to RS-EDA-MAJ_Secondaire_Ro…
daphneleccia Nov 28, 2024
f097aa1
Rename RS-EDA-MAJ-message_Secondaire.xml to RS-EDA-MAJ_Secondaire_Rob…
daphneleccia Nov 28, 2024
5a45c6d
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 28, 2024
a0827ad
feat/auto: update mdd and rc-de
Nov 28, 2024
4cf6bed
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 28, 2024
4631cdb
[24.11.29 09:30] Model auto-generation
romainfd Nov 29, 2024
50954ee
Update messagesList.json
daphneleccia Nov 29, 2024
a7b5f26
⚙️ Auto-génération des classes et des specs
daphneleccia Nov 29, 2024
72a46c1
[24.11.29 11:30] Model auto-generation
romainfd Nov 29, 2024
744fa36
[24.11.29 13:30] Model auto-generation
romainfd Nov 29, 2024
8dca8f8
Merge branch 'auto/model_tracker' into feature/mdd/jackson-deduction-…
romainfd Nov 29, 2024
6aad9b0
feat/auto: update xmlns management in schema, config and class genera…
Nov 29, 2024
b29a727
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Nov 29, 2024
5dee9bb
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 29, 2024
0d3ab58
Merge pull request #207 from ansforge/daphneleccia-patch-1
romainfd Nov 29, 2024
a5c6e4e
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 29, 2024
62b45b2
[24.11.29 15:30] Model auto-generation
romainfd Nov 29, 2024
0362486
[24.11.29 15:53] Model auto-generation
romainfd Nov 29, 2024
df87e41
⚙️ Auto-génération des classes et des specs
romainfd Nov 29, 2024
d9c1245
Merge branch 'auto/model_tracker' into feature/mdd/automatic-schema-g…
romainfd Nov 29, 2024
4e5b800
⚙️ Auto-génération des schemas et fichiers de configuration
romainfd Nov 29, 2024
4c3151a
feat/auto: update template
Nov 29, 2024
a8aac0a
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 29, 2024
7474bb5
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 29, 2024
0d23ee1
feat/auto: update xsds
Nov 29, 2024
f016558
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Nov 29, 2024
c2fbdd1
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 29, 2024
20c415a
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 29, 2024
124638c
feat/auto: update tmpl
Nov 29, 2024
6a9dfa1
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 29, 2024
65b1581
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Nov 29, 2024
5ca61ad
feat/auto: skip xsd generation for schemas with automaticGeneration s…
Nov 29, 2024
f691f60
[24.11.29 17:30] Model auto-generation
romainfd Nov 29, 2024
7961f5d
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Nov 29, 2024
77f5357
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Nov 29, 2024
76dbb61
feat/auto: update non auto generated schemas
Dec 2, 2024
a8b2118
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Dec 2, 2024
3c6b6f7
[24.12.02 09:30] Model auto-generation
romainfd Dec 2, 2024
4ef6b00
feat/auto: update xsd template to properly NOT add non-automatically …
Dec 2, 2024
41bf66e
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Dec 2, 2024
248043a
feat/auto: update templates and example files
Dec 2, 2024
4d13d2c
⚙️ Auto-génération des schemas et fichiers de configuration
saveliy-sviridov Dec 2, 2024
cdcb833
[24.12.02 11:31] Model auto-generation
romainfd Dec 2, 2024
69c70c9
[24.12.02 13:30] Model auto-generation
romainfd Dec 2, 2024
d875cac
feat/gha: remove rs-error.xsd deletion since its exclusion is handled…
saveliy-sviridov Dec 2, 2024
d4b6eba
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 2, 2024
81d37f4
feat/auto: update templates and example files
Dec 2, 2024
d0c5ba1
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 2, 2024
1ccadc6
feat/auto: update templates and example files
Dec 2, 2024
536f912
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 2, 2024
57e8add
[24.12.03 09:31] Model auto-generation
romainfd Dec 3, 2024
69b57ef
feat/tests: address pr comments
Dec 3, 2024
7dfb504
[24.12.03 15:31] Model auto-generation
romainfd Dec 3, 2024
62322c8
[24.12.03 17:30] Model auto-generation
romainfd Dec 3, 2024
c930162
feat/tests: add further keyword property testing and adjust validator…
Dec 4, 2024
d28579a
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Dec 4, 2024
8e5edd4
[24.12.10 09:30] Model auto-generation
romainfd Dec 10, 2024
cb0d88a
Merge remote-tracking branch 'origin/feature/mdd/jackson-deduction-re…
Dec 10, 2024
3c517f6
[24.12.11 11:31] Model auto-generation
romainfd Dec 11, 2024
700bbab
feat/auto: add ContentMessageDeserializer template and merge generate…
Dec 11, 2024
598698f
feat/auto: make content message template cuter
Dec 11, 2024
01f4f28
[24.12.11 17:31] Model auto-generation
romainfd Dec 11, 2024
83a4464
[24.12.12 09:31] Model auto-generation
romainfd Dec 12, 2024
22c087f
Update RS-EDA_partageDossier_DidierMorel.01a.json
efalcioni Dec 12, 2024
6fb0b24
⚙️ Auto-génération des classes et des specs
efalcioni Dec 12, 2024
2cc8fe6
Update RS-EDA_partageDossier_OuardiaBoudadi.01.json
efalcioni Dec 12, 2024
06a8956
⚙️ Auto-génération des classes et des specs
efalcioni Dec 12, 2024
f7345bc
[24.12.12 11:30] Model auto-generation
romainfd Dec 12, 2024
b4779e7
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 12, 2024
e44d077
feat/auto: unmerge keyword-related changes
Dec 12, 2024
b8c7eff
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Dec 12, 2024
37a0a6b
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 12, 2024
01fb544
Revert "feat/deserializer: fix deserialization with keyword property"
Dec 12, 2024
e9bb8bc
feat/auto: remove ContentMessageDeserializer.java and its generation
Dec 12, 2024
92fbfb2
feat/auto: remove ContentMessageDeserializer.java and its generation
Dec 12, 2024
afd9a30
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 12, 2024
4d3f383
feat/auto: add symlink
Dec 12, 2024
077d4f7
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 12, 2024
0d43a29
feat/auto: rename schema map, add custom message to ContentMessage.ja…
Dec 12, 2024
f797186
feat/auto: fix missing custom message declarations
Dec 12, 2024
8d2cf19
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 12, 2024
8935610
- use eda1.9 for RC-DE & RC-XML-ContentType
bou3108 Dec 13, 2024
9162297
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
c36b33a
update wrapper mustache template
bou3108 Dec 13, 2024
cc0b491
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
a0afe3a
feat/auto: split generator files between /auto and /manual folders an…
Dec 13, 2024
e88eca2
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
93b8a83
feat/auto: sort found config files before running generation
Dec 13, 2024
3f2064c
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
76cc770
feat/auto: rename rc-de template to avoid ordering issues
Dec 13, 2024
8e46ae5
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
b89f217
feat/auto: add a notice of information to the class generation step
Dec 13, 2024
fab0ef1
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Dec 13, 2024
c121654
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
8df8215
feat/auto: fix comment position in content type xsd
Dec 13, 2024
514fb6c
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
cbcc918
feat/auto: rename /auto folder to /generated
Dec 13, 2024
c5c193d
Merge remote-tracking branch 'origin/feature/mdd/automatic-schema-gen…
Dec 13, 2024
5318f45
merge automatic PR
bou3108 Dec 13, 2024
eb24d19
feat/auto: remove unused env from gha
Dec 13, 2024
c341609
chore: specify order in README
romainfd Dec 13, 2024
325a116
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
b26f350
migrate to cisu 3.0
bou3108 Dec 13, 2024
b9a1809
force auto commit
bou3108 Dec 13, 2024
bf60853
Merge branch 'refs/heads/feature/mdd/automatic-schema-generation' int…
bou3108 Dec 13, 2024
937b90e
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
2f7d7ed
rollback force auto commit
bou3108 Dec 13, 2024
eca05bc
Update RS-EDA-SMUR_FuiteDeGaz_AliceGregoireNormand.01.json
daphneleccia Dec 13, 2024
83802c4
Update RS-EDA-SMUR_FemmeEnceinte_DelphineVigneau.01.json
daphneleccia Dec 13, 2024
9325bee
Update RS-EDA-MAJ_FuiteDeGaz_AliceGregoireNormand.07.json
daphneleccia Dec 13, 2024
5827188
Update RS-EDA-MAJ_FuiteDeGaz_AliceGregoireNormand.10.json
daphneleccia Dec 13, 2024
6110d05
feat/auto: remove old generated config files
Dec 13, 2024
7c6206e
⚙️ Auto-génération des classes et des specs
daphneleccia Dec 13, 2024
6effd86
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
94ae4f1
fix json deserializer visibility
bou3108 Dec 13, 2024
2a9dee4
Merge remote-tracking branch 'origin/feature/mdd/xml-namespaces' into…
bou3108 Dec 13, 2024
326b753
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 13, 2024
2a6ded7
fix RS-RI ns version
bou3108 Dec 13, 2024
00b7ece
[24.12.13 17:30] Model auto-generation
romainfd Dec 13, 2024
4e5937c
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
3066d5f
fix target ns
bou3108 Dec 13, 2024
f806d70
Merge remote-tracking branch 'origin/feature/mdd/xml-namespaces' into…
bou3108 Dec 13, 2024
9d00df9
Merge branch 'refs/heads/feature/mdd/automatic-schema-generation' int…
bou3108 Dec 13, 2024
fcb3675
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
fc65b9b
add simple test and manually fix xsd
bou3108 Dec 13, 2024
aee8938
⚙️ Auto-génération des classes et des specs
bou3108 Dec 13, 2024
5d0f4ab
[24.12.16 09:30] Model auto-generation
romainfd Dec 16, 2024
b8bbb90
Merge branch 'feature/mdd/automatic-schema-generation' into MAJ-DSF_1…
romainfd Dec 16, 2024
fc3a59a
⚙️ Auto-génération des classes et des specs
romainfd Dec 16, 2024
b24253b
fix: PRIMAIRE->T1 for RS-EDA_partageDossier_EnfantsNguyen.01.json
romainfd Dec 16, 2024
31bc703
⚙️ Auto-génération des classes et des specs
romainfd Dec 16, 2024
428f326
feat/auto: remove old generated classes and schemas (hopefully not to…
Dec 16, 2024
9f7bb89
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 16, 2024
864d1e0
Merge pull request #206 from ansforge/feature/mdd/automatic-schema-ge…
romainfd Dec 16, 2024
8f63cef
Merge pull request #210 from ansforge/MAJ-DSF_121224
romainfd Dec 16, 2024
6ebf66a
feat/test: update example files
Dec 16, 2024
dd8cd42
Merge branch 'main' into auto/model_tracker
romainfd Dec 16, 2024
c08adbc
Merge remote-tracking branch 'origin/develop' into feature/mdd/xml-na…
Dec 16, 2024
49f18c5
⚙️ Auto-génération des classes et des specs
romainfd Dec 16, 2024
77c2fc8
feat/xsd: fix namespaces
Dec 16, 2024
1570b50
Merge pull request #213 from ansforge/feature/mdd/fix-xmlns
romainfd Dec 16, 2024
bcf4051
⚙️ Auto-génération des classes et des specs
romainfd Dec 16, 2024
905ed09
Merge remote-tracking branch 'origin/auto/model_tracker' into feature…
Dec 16, 2024
8edb5a5
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 16, 2024
a6f874a
feat/xsd: update xml content type template to include rc- schemas ins…
Dec 17, 2024
b35dcaf
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
ff39cc2
feat/xsd: improve include conditional in the rc-xml template
Dec 17, 2024
abf6680
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
8f91018
feat/xsd: update error and custom message xml namespaces in java classes
Dec 17, 2024
f92ed29
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
29f91b4
feat/generator: update rs-error template file to reflect namespace ch…
Dec 17, 2024
6fde195
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
fe223c6
feat/tests: remove a weird trailing non-printable symbol from an rs-u…
Dec 17, 2024
c0e30c7
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
a9d9716
feat/generation: correct minor issues following pr feedback
Dec 17, 2024
908dcb9
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
be11ac5
feat/generator update conditional for rc-de xml namespace
Dec 17, 2024
8d53324
Merge remote-tracking branch 'origin/feature/mdd/xml-namespaces' into…
Dec 17, 2024
95b072d
⚙️ Auto-génération des classes et des specs
saveliy-sviridov Dec 17, 2024
a055092
Merge pull request #211 from ansforge/feature/mdd/xml-namespaces
romainfd Dec 17, 2024
3385862
⚙️ Auto-génération des classes et des specs
romainfd Dec 17, 2024
963d4f7
[24.12.19 12:40] Model auto-generation
romainfd Dec 19, 2024
cdabbe2
⚙️ Auto-génération des classes et des specs
romainfd Dec 19, 2024
7fbd231
[24.12.19 15:30] Model auto-generation
romainfd Dec 19, 2024
d0b3bdf
⚙️ Auto-génération des classes et des specs
romainfd Dec 19, 2024
caaa411
[24.12.19 17:30] Model auto-generation
romainfd Dec 19, 2024
e2a13d2
⚙️ Auto-génération des classes et des specs
romainfd Dec 19, 2024
eb398f0
fix: common message xlmns
romainfd Dec 19, 2024
f578060
⚙️ Auto-génération des classes et des specs
romainfd Dec 19, 2024
9e3558e
[24.12.20 11:30] Model auto-generation
romainfd Dec 20, 2024
5488167
⚙️ Auto-génération des classes et des specs
romainfd Dec 20, 2024
94f26c9
[24.12.20 15:30] Model auto-generation
romainfd Dec 20, 2024
48cc06f
⚙️ Auto-génération des classes et des specs
romainfd Dec 20, 2024
9afaa44
[24.12.23 09:30] Model auto-generation
romainfd Dec 23, 2024
2b3b490
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
af0e0f6
[24.12.23 11:30] Model auto-generation
romainfd Dec 23, 2024
bf81298
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
f991300
[24.12.23 13:30] Model auto-generation
romainfd Dec 23, 2024
b258174
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
19714a3
Merge
romainfd Dec 23, 2024
7369911
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
ce71002
Merge
romainfd Dec 23, 2024
bc54557
[24.12.23 15:31] Model auto-generation
romainfd Dec 23, 2024
1a05bef
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
721ac45
fix: port back test_case runner
romainfd Dec 23, 2024
f6a5298
⚙️ Auto-génération des classes et des specs
romainfd Dec 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
68 changes: 51 additions & 17 deletions .github/workflows/generate-model.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ on:
- '**'
workflow_dispatch:

env:
SCHEMAS: "RC-EDA RS-EDA EMSI GEO-POS GEO-REQ GEO-RES RC-REF RS-ERROR RS-RI RS-DR RS-RR RS-RPIS RS-EDA-MAJ RS-SR RS-URL RS-ER RS-BPV TECHNICAL TECHNICAL_NOREQ"

jobs:
generate:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -51,6 +48,15 @@ jobs:
if: steps.filter.outputs.parsing_required == 'true' || steps.filter.outputs.test_case_parsing_required == 'true'
run: pip install -r ./requirements.txt

- name: Clean up old generated schemas
working-directory: ./src/main/resources
run: find ./json-schema -type f -name '*.json' ! -name 'customContent.schema.json' ! -name 'EDXL-DE-*.schema.json' -exec rm {} +

- name: Clean up old generated java classes
working-directory: ./src/main/java/com/hubsante/model
# 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 {} +

- name: Run csv_parser and collect OpenAPI & JSON Schemas
working-directory: ./csv_parser
if: steps.filter.outputs.parsing_required == 'true'
Expand All @@ -63,6 +69,38 @@ jobs:
rm -r ./out/test-cases || true
python workflow.py --stage test_case_parser

- name: Run csv_parser to generate schemas.yaml
working-directory: ./csv_parser
if: steps.filter.outputs.parsing_required == 'true'
run: python workflow.py --stage output_schemas_yaml

- name: Collect schemas.yaml and copy it to json_schema2xsd
working-directory: ./csv_parser
if: steps.filter.outputs.parsing_required == 'true'
run: |
cp ./out/schemas.yaml ./json_schema2xsd/src/main/resources/schemas.yaml

- name: Setup gomplate
if: steps.filter.outputs.parsing_required == 'true'
uses: jason-dour/[email protected]
with:
gomplate-version: v4.2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Run automatic-schema-generator and move generated files to corresponding locations
if: steps.filter.outputs.parsing_required == 'true'
working-directory: ./automatic-schema-generator
run: |
rm -r output || true
chmod +x ./automatic-generator.sh
./automatic-generator.sh
rm -r ../generator/config/generated || true
rsync -a --remove-source-files output/generator ..
rsync -a --remove-source-files output/edxl ../src/main/java/com/hubsante/model
rsync -a --remove-source-files output/json-schema ../src/main/resources
rsync -a --remove-source-files output/xsd ../src/main/resources

- name: Install JDK 11
uses: actions/setup-java@v4
if: steps.filter.outputs.parsing_required == 'true'
Expand All @@ -79,9 +117,8 @@ jobs:
working-directory: ./csv_parser/json_schema2xsd
if: steps.filter.outputs.parsing_required == 'true'
run: |
rm out/RS-ERROR.xsd
# Clean XSD repo but keep manual XSDs
find ../../src/main/resources/xsd -type f -name '*.xsd' ! -name 'EDXL-DE-*.xsd' ! -name 'CustomContent.xsd' ! -name 'RC-XML-ContentType.xsd' ! -name 'RS-ERROR.xsd' ! -path '**/other-supporting-schema/*' -exec rm {} +
find ../../src/main/resources/xsd -type f -name '*.xsd' ! -name 'EDXL-DE-*.xsd' ! -name 'customContent.xsd' ! -name 'RC-DE.xsd' ! -name 'RC-XML-ContentType.xsd' ! -name 'RS-ERROR.xsd' ! -path '**/other-supporting-schema/*' -exec rm {} +
mv out/*.xsd ../../src/main/resources/xsd/

- name: Remove input JSON Schemas
Expand All @@ -104,18 +141,15 @@ jobs:
- name: Generate Java classes
working-directory: ./generator
run: |
npx @openapitools/openapi-generator-cli generate -c ./config/RC-DE/RC-DE.generator-config.json --skip-validate-spec
npx @openapitools/openapi-generator-cli generate -c ./config/RC-DE/RC-DE.distribution-element.generator-config.json --skip-validate-spec

IFS=' ' read -ra SCHEMAS_ARRAY <<< "$SCHEMAS"
for SCHEMA in "${SCHEMAS_ARRAY[@]}"; do
if [ "$SCHEMA" != "RS-EDA-MAJ" ] && [ "$SCHEMA" != "RS-ER" ]; then
npx @openapitools/openapi-generator-cli generate -c ./config/$SCHEMA/$SCHEMA.generator-config.json --skip-validate-spec
fi
npx @openapitools/openapi-generator-cli generate -c ./config/$SCHEMA/$SCHEMA.usecase.generator-config.json --skip-validate-spec
npx @openapitools/openapi-generator-cli generate -c ./config/$SCHEMA/$SCHEMA.wrapper.generator-config.json --skip-validate-spec
done

# Iterate over each file in the ./config directory, including the entire subfolder structure
# and then run @openapitools/openapi-generator-cli generate for each file found
# Important notice:
# Results of the find command are sorted in an alphabetic order before being passed to xargs
# This means that since the order of class generation is important, it's necessary to maintain an adequately
# named file structure in the ./config/** directories
# generator-config.json (if exists) -> usecase.generator-config.json -> wrapper.generator-config.json
find ./config/ -type f | sort -n | xargs -i npx @openapitools/openapi-generator-cli generate -c {} --skip-validate-spec

- name: Replace src/ with generated classes
run: |
rm -r ./src/main/java/com/hubsante/model/rcde || true
Expand Down
20 changes: 20 additions & 0 deletions automatic-schema-generator/automatic-generator.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# We will be using the file schemas.yaml as data source to use with gomplate in order to generate all the files
# required for each schema

# generate base generator config files
gomplate -f ./templates/schema.generator-config.json.tmpl -d config=./schemas.yaml -o ./output/generator/config

# generate usecase config files
gomplate -f ./templates/schema.usecase.generator-config.json.tmpl -d config=./schemas.yaml -o ./output/generator/config

# generate wrapper config files
gomplate -f ./templates/schema.wrapper.generator-config.json.tmpl -d config=./schemas.yaml -o ./output/generator/config

# generate ContentMessage class
gomplate -f ./templates/ContentMessage.java.tmpl -d config=./schemas.yaml -o ./output/edxl/ContentMessage.java

# generate EDXL-DE json schema
gomplate -f ./templates/EDXL-DE-full.schema.json.tmpl -d config=./schemas.yaml -o ./output/json-schema/EDXL-DE-full.schema.json

# generate RC-XML-ContentType xsd schema
gomplate -f ./templates/RC-XML-ContentType.xsd.tmpl -d config=./schemas.yaml -o ./output/xsd/RC-XML-ContentType.xsd
1 change: 1 addition & 0 deletions automatic-schema-generator/schemas.yaml
53 changes: 53 additions & 0 deletions automatic-schema-generator/templates/ContentMessage.java.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**************************************************************************
* This file has been generated by the automatic schema generator script.
**************************************************************************/

package com.hubsante.model.edxl;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

{{ range (datasource "config").schemas }}
{{- if eq .automaticGeneration "Y" -}}
import com.hubsante.model.{{ .package }}.{{ .rootElement | title }};
import com.hubsante.model.{{ .package }}.{{ .rootElement | title }}Wrapper;
{{ end }}{{ end -}}
import com.hubsante.model.report.ErrorWrapper;
import com.hubsante.model.custom.CustomMessage;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION)
@JsonSubTypes({ {{ range $i, $e := (datasource "config").schemas }}{{if eq .automaticGeneration "Y"}}
@JsonSubTypes.Type({{ .rootElement | title }}Wrapper.class),{{end}}{{end}}
@JsonSubTypes.Type(ErrorWrapper.class),
@JsonSubTypes.Type(CustomMessage.class)
})
public class ContentMessage {

/** This equals override is used to avoid breaking the equals override in the messages without RC-DE headers
* (in particular ErrorWrapper), as without the override the equality check would only pass when comparing
* an object to itself, and we care about the actual values.
**/
@Override
public boolean equals(Object o) {
if (this == o) return true;
return o != null && getClass() == o.getClass();
}

// As this class has no fields, the hashcode is always 0
@Override
public int hashCode() {
return 0;
}

public static class UseCaseHelper {
public static final Map<String,String> useCases = Stream.of(new String[][] {
{{ range $i, $e := (datasource "config").schemas }}{{if eq .automaticGeneration "Y"}}
{"{{ .rootElement }}", {{ .rootElement | title }}.class.getCanonicalName()},{{end}}{{end}}
{"error", ErrorWrapper.class.getCanonicalName()},
{"customContent", CustomMessage.class.getCanonicalName()}
}).collect(Collectors.toMap(useCaseData -> useCaseData[0], useCaseData -> useCaseData[1]));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/**************************************************************************
* This file has been generated by the automatic schema generator script.
**************************************************************************/

package com.hubsante.model;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import com.hubsante.model.edxl.ContentMessage;
import com.hubsante.model.edxl.Descriptor;
import com.hubsante.model.edxl.EdxlMessage;
import com.hubsante.model.edxl.Keyword;
{{ range (datasource "config").schemas }}{{if eq .automaticGeneration "Y" -}}
import com.hubsante.model.{{ .package }}.{{ .rootElement | title }}Wrapper;
{{ end }}{{ end -}}
import com.hubsante.model.report.ErrorWrapper;
import com.hubsante.model.custom.CustomMessage;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class ContentMessageDeserializer extends JsonDeserializer<ContentMessage> {

private static final Map<String, Class> useCases = new HashMap<String, Class>() { {
{{ range (datasource "config").schemas }}{{if eq .automaticGeneration "Y"}}put("{{ .rootElement }}", {{ .rootElement | title }}Wrapper.class);
{{ end }}{{ end -}}
put("error", ErrorWrapper.class);
put("customContent", CustomMessage.class);
} };

@Override
public ContentMessage deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
ObjectCodec codec = jp.getCodec();
JsonNode node = codec.readTree(jp);
String model = null;
try {
model = ((EdxlMessage) jp.getParsingContext().getParent().getParent().getParent().getParent().getCurrentValue()).getDescriptor().getKeyword().stream().filter(keyword -> keyword.getValueListURI().equals("urn:hubsante:model")).findFirst().get().getValue();
} catch (NullPointerException e) {
throw new JsonParseException(jp, "Model name not found in $.descriptor.keyword[0].value");
}
// Find model in useCases map, throw JsonParseException if not found
Class clazz = useCases.get(model);
if (clazz == null) {
throw new JsonParseException(jp, "Unknown model: " + model);
}

return (ContentMessage) codec.treeToValue(node, clazz);
}
}
Loading