Spécialisation des bilans de validations

La création de normes ne met en jeu dans les cas nominaux que des actions de modélisation et de manipulation de l’atelier de travail sur les normes (OGN).
Il reste nécessaire, dans un certain nombre de cas de figure, de spécialiser certains aspects du comportement par défaut du validateur comme par exemple de sérialiser les bilans de validation sous une forme fixée par le projet client du validateur. Ces cas de figure sont couverts par l’introduction de code Java spécifique. Ce code est encadré par une API bien définie et documentée ici.

Description générale de la production de bilans de validation

La production des bilans de validation est faite au moyen de du schéma présenté dans la figure suivante:

Production de bilans de validation

Tous les éléments d’une norme sont décrits dans une instance de INormeDescriptor qui permet de fournir, entre autre éléments, une instance de IReportFactory. Cette instance fournit, entre autre élément, l’instance de IReportSerializer qui doit être utilisée pour produire des bilans de validation au format attendu.

L’interface IReportSerializer fournit deux méthodes :

la seconde est appellée par le validateur pour fournir à l’instance de IReportSerializer les données du bilan à sérializer. La première est également appellée par le validateur pour déclencher la sérialization des bilans de validation. La définition du canal de sortie est laissée à l’appréciation de l’appelant qui fournit une instance de OutputStream. On peut ainsi ne pas faire d’hypothèse sur la cible de la sérialisation.

Le validateur fournit par défaut une implémentation de chacune de ces interfaces qui fournit le service minimum. Pour les remplacer et spécialiser le comportement par défaut, il faut procéder aux étapes de développement suivantes:

Modèle de bilan de validation

Les données collectées pour la production des bilans de validation sont modélisées l’aide d’un méta-modèle Ecore. Ce méta-modèle est présenté figure suivante:

Méta-modèle des bilans de validation

Les bilans sont ainsi fait des éléments suivants:

Spécialisation des bilans de validation avec des extenders

Le développeur d’une norme dispose de deux moyens pour spécialiser la production des bilans de validation:

Les extenders peuvent être enregistrés auprès d’une instance de IReportLogger par un appel à la méthode registerExtender()

Les extenders sont des listeners qui sont informés des évènements de lecture du fichier d’entrée. Ainsi, ils peuvent construire des contextes, des représentations alternatives du fichier d’entrée qui seront ensuite utilisées pour produire le bilan de validation.