Les données à exporter / importer
Comme décrit dans le paragraphe 5.3 de l'appel d'offre, les données à exporter concernent la partie cas. Techniquement, ces données sont entièrement contenues dans la structure org.fudaa.dodico.corba.mascaret.SParametresCAS
.
Solution technique
L'outil Xstream, version 1.4.2,sera utilisé pour convertir les objets java en XML. Cet outil est déjà intégré à Fudaa ( utilisé pour Fudaa-Prepro et Fudaa-Crue) et est compatible avec le JRE 1.7.
Une nouvelle classe EdamoxXmlReaderWriter
sera ajoutée au package org.fudaa.dodico.mascaret
. Cette classe sera chargée de configurer Xstream et d'opérer les opérations d'écriture/lecture.
Cette classe sera également chargée de valider la xsd ou dtd du fichier xml.
La configuration de Xstream pouvant être longue, elle pourra être effectuée dans une classe à part.
Pourquoi utiliser XStream ?
L'outil XStream est utilisé pour plusieurs projets de Fudaa dont Fudaa-Prepro et Fudaa-Mascaret. Les outils alternatifs sont nombreux (JAXB, XMLBean,...) et présentent tous des avantages inconvéniant.
Le concurrent majeur de XStream serait JAXB qui est inclus avec le JRE.
Dans notre cas, les 2 outils présentent les mêmes fonctionnalités pour lire/écrire un fichier XML à partir d'une série d'objets. Voir par exemple:
Au sujet des performances, on peut lire plusieurs rapports et notamment:
qui place XStream comme étant le plus rapide ( attention, les tests de performances sont toujours à prendre avec des "pincettes").
Dans l'absolu, il n'y a pas de raisons évidentes pour préférer XStream à JAXB. XStream a été préféré car il avait déjà été validé sur d'autres projets de Fudaa.
Modifications apportées à Fudaa-Mascaret
Modification de la partie « lancement de calcul »
Actuellement, un fichier cas est écrit pour lancer le calcul. A terme, ce fichier cas sera remplacé par le fichier xcas. Genesis laissera en commentaire le code nécessaire permettant de générer le fichier xcas à la place du fichier cas.
Modification de l’interface de Fudaa-Mascaret
2 nouvelles entrées doivent être intégrées à l’interface permettant l’export/import des fichiers cas au format XML soit les fichiers xcas.
Importation
Au cours de ce développement, l’entrée « XML » sera renommée « .masc (XML) ».
Exportation
Il s’agit d’ajouter une case à cocher « Fichier cas XML ( xcas) » au panneau d’exportation existant :
L'entrée ajoutée sera "Fichier cas xml (xcas)"
avec comme traduction "Data simulation in xml format (xcas)
"
Modification de la partie « lancement de calcul »
Actuellement, un fichier cas est écrit pour lancer le calcul. A terme, ce fichier cas sera remplacé par le fichier xcas. Genesis laissera en commentaire le code nécessaire permettant de générer le fichier xcas à la place du fichier cas.
Les modifications ont été apportées à la classe DCalculMascaret
. Les modifications à décommenter sont encadrées par les comentaires:
//XCAS start //XCAS end
Tests
Pour tester l’application (tests unitaires et d’intégration), Genesis utilisera les fichiers « masc » présents dans les sources Fudaa-Mascaret.
Le LNHE fournira également des fichiers masc plus volumineux permettant de tester les performances de l’export XML.
Les tests unitaires seront ajoutés au dossier de test et dans la package org.fudaa.dodico.mascaret
( identique à celui des classes testées).