From 8e747b1f45c236b485d788649bc738a12d629ac2 Mon Sep 17 00:00:00 2001 From: Eric Fayolle Date: Tue, 26 Nov 2019 18:54:37 +0100 Subject: [PATCH] qls modifs --- Efi2Xsd/AccasXsd.py | 8 +++--- Efi2Xsd/balisesXSD.py | 11 ++++---- Tests/MappingAccasXsd/cata_1.py | 42 ++++++++++++++++++++--------- Tests/MappingAccasXsd/prefs_Test.py | 2 +- 4 files changed, 38 insertions(+), 25 deletions(-) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index 0a4161e5..fd66a798 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -227,7 +227,7 @@ class X_SIMP (X_definition): # --> homonymie on peut utiliser genealogie ? self.nomDuTypeDeBase = self.traduitType() self.nomDuTypePyxb = self.definitNomDuTypePyxb() - + # on se sert des listes ou non pour la gestion des minOccurs /maxOccurs est > 0 if self.statut =='f' : minOccurs = 0 else : minOccurs = 1 @@ -294,7 +294,7 @@ class X_SIMP (X_definition): return ('XXXXXXXX') else : typeATraduire=self.type[0] - if not (typeATraduire in list(dictNomsDesTypes.keys())) : + if not (typeATraduire in list(dictNomsDesTypes.keys())) : if (isinstance(typeATraduire, Accas.ASSD) or issubclass(typeATraduire, Accas.ASSD)) : return 'xs:string' else : return ('YYYYY') return dictNomsDesTypes[typeATraduire] @@ -334,8 +334,6 @@ class X_JDC_CATA : self.texteSimple = "" self.texteComplexe = "" self.texteCata = "" - print ('todo --> quel est le nom a mettre') - self.texteCata = debutTypeCata.format('PNPNPNPN') # a verifier if self.implement == "" : @@ -344,7 +342,7 @@ class X_JDC_CATA : self.nomDuCodeDumpe = self.implement if self.implement == "" : - self.texteCata = texteDebut.format(self.nomDuCodeDumpe,self.nomDuCodeDumpe,self.nomDuCodeDumpe) + self.texteCata = debutTypeCata.format(self.nomDuCodeDumpe) self.inExtension = False else : self.inExtension = True diff --git a/Efi2Xsd/balisesXSD.py b/Efi2Xsd/balisesXSD.py index 5e8545ca..8a300646 100644 --- a/Efi2Xsd/balisesXSD.py +++ b/Efi2Xsd/balisesXSD.py @@ -1,6 +1,6 @@ -texteDebut='\n\n' +texteDebut='\n\n' texteFin='' -texteDebutCataSpecifique='\n' +texteDebutCataSpecifique='\n' # SIMP @@ -37,14 +37,13 @@ substDsSequence = '\t\t\t\ # User OR ASSD - -operAttributeName = '\t\t\n' -attributeTypeForASSD = '\t\t\n' +operAttributeName = '\t\t\n' +attributeTypeForASSD = '\t\t\n' attributeTypeUtilisateurName = '\t\t\n' #keyRefDeclaration ='\n\t \n\t\t\n\t\t\n\t\n' # CATA -debutTypeCata = '\t\n\t\t\n' +debutTypeCata = '\t\n\t\t\n' finTypeCata = '\t\t\n\t\n' finSchema = '' eltCata = '\t\n' diff --git a/Tests/MappingAccasXsd/cata_1.py b/Tests/MappingAccasXsd/cata_1.py index 8e43daf4..06a94f71 100644 --- a/Tests/MappingAccasXsd/cata_1.py +++ b/Tests/MappingAccasXsd/cata_1.py @@ -13,7 +13,7 @@ class User_Data(UserASSD): pass #type ASSD class Mesh(ASSD): pass #type UserASSD -class MeshBis(UserASSD): pass +class MeshU(UserASSD): pass #Be careful when modidying the order/names od the test_simp since they are used bye the documentation xsd_mapping.rst #beginJdC @@ -55,29 +55,45 @@ Test_proc_1 = PROC(nom = 'Test_proc_1', Test_proc_2 = PROC(nom = 'Test_proc_2',) Test_oper_1 = OPER(nom = 'Test_oper_1', sd_prod=Mesh,) -#Usecase 1 : Il est possible de créer plusieurs maillages à la racine -ConstructMesh = OPER(nom = 'ConstructMesh', sd_prod=Mesh, - dimension = SIMP(typ='I', into=[1,2,3]), - listOfEntities = SIMP(typ='I', max='**'),) -#Usecase 1 : Chaque champ crée à la racine référence un maillage par son nom -# (il faut qu'il soit crée au préalable) +#Usecase 1a : Il est possible de créer plusieurs maillages à la racine +ReadMesh = OPER(nom = 'ReadMesh', sd_prod=Mesh, + MyFile= SIMP(typ='Fichier', statut ='o'),) +#Usecase 1abis : Le contenu de l'objet est completement déterminé par les paramètres suivants +CreateMesh = OPER(nom = 'CreateMesh', sd_prod=Mesh, + meshname = SIMP(typ='TXM'), + dimension = SIMP(typ='I', into=[1,2,3]), + listOfEntities = SIMP(typ='I', max='**'),) +#Usecase 1ater : Il est possible de créer plusieurs +CreateBoth = OPER(nom = 'CreateBoth', sd_prod=Mesh, + meshname = SIMP(typ=(MeshU,'createObject')), + dimension = SIMP(typ='I', into=[1,2,3]), + listOfEntities = SIMP(typ='I', max='**'),) + +#Usecase 1b : Chaque champ (crée à la racine) utilise l'objet maillage précedement construit (à la racine) +# statut='o', ?? MyField = PROC(nom='MyField', onMesh = SIMP(statut='o',typ=Mesh),) -#Usecase 2 : Il est possible de créer plusieurs maillages dans une me structure nommée meshes +############################ +#Usecase 2a : Il est possible de créer plusieurs maillages dans une structure nommée meshes +# La définition du nom du maillage dans le JDD sert de référence à un notre mesh (un objet python du type UserASSD Mesh +# est également crée pour l'occasion (sans paramètre au constructeur) ). +# le typ du SIMP est en fait une chaîne pour laquelle il est possible d'ajouter un validateur. Meshes = PROC(nom = 'Meshes', mesh = FACT(max='**', - meshname = SIMP(typ=(MeshBis,'createObject')), + name = SIMP(typ=(MeshU,'createObject')), dimension = SIMP(typ='I', into=[1,2,3]), listOfEntities = SIMP(typ='I', max='**'), ), )#Meshes -# #Usecase 1 : Chaque champ crée à la racine référence un maillage par son nom -# # (il faut qu'il soit crée au préalable) + +# Usecase 2b : Chaque champ crée à la racine référence un maillage par son nom +# (il faut qu'il soit crée au préalable) +# statut='o', ?? MyFieldBis = PROC(nom='MyFieldBis', - onMesh = SIMP(typ=MeshBis), + onMesh = SIMP(statut='o',typ=MeshU), ) - #endJdC +#UserASSD c'est une référence sur un objet alors qu'un ASSD c'est l'objet retourné. diff --git a/Tests/MappingAccasXsd/prefs_Test.py b/Tests/MappingAccasXsd/prefs_Test.py index ef68e065..6b05827f 100644 --- a/Tests/MappingAccasXsd/prefs_Test.py +++ b/Tests/MappingAccasXsd/prefs_Test.py @@ -37,7 +37,7 @@ encoding='iso-8859-1' #typeDeCata='XML' catalogues=( # ('VimmpEssai','VimmpEssai',os.path.join(repIni,'cata_Vimmp_2304.py'),'python','python'), - ('Cata1','Cata1',os.path.join(repIni,'cata_1.py'),'xml','python'), + ('Test1','Test1',os.path.join(repIni,'cata_1.py'),'xml','python'), # ('Vimmp','Vimmp',os.path.join(repIni,'cata_Vimmp.py'),'xml','python'), # ('MD','VimmpG',os.path.join(repIni,'cata_gromacs.py'),'xml','python'), # ('VimmpEN','VimmpEN',os.path.join(repIni,'cata_en.py'),'python','python'), -- 2.39.2