SessionDoc

CER vous permet de publier une documentation HTML relative à une session ("SessionDoc").

Cette documentation fournit un enregistrement de tous les objets de règles créés au cours d'une session, et lorsqu'elle est utilisée en combinaison avec vos tests, elle peut représenter une aide précieuse pour le débogage.

Il peut être utile de recourir au point d'ancrage tearDown de JUnit pour forcer toutes les méthodes de test de votre classe de test à élaborer leur documentation SessionDoc :

@Override
          protected void tearDown() throws Exception {
          /*
          * Ecriture de SessionDoc, sur un répertoire nommé d'après la méthode
          * de test.
          */
          final File sessionDocOutputDirectory =
          new File("./gen/sessiondoc/" + this.getName());
          sessionDoc.write(sessionDocOutputDirectory);

          super.tearDown();
          }

Voici la page SessionDoc principale d'un test testSelfMadeMillionaireScenario :

Figure 1. SessionDoc du test testSelfMadeMillionaireScenarioCette image affiche la documentation SessionDoc générée.

Voici certains détails clés de cette page :

Le fait de cliquer sur le lien pour le jeu de règles FlexibleRetirementYearRuleSet seul affiche ses objets de règles :

Figure 2. Objets de règles pour le jeu de règles FlexibleRetirementYearRuleSetCette image affiche l'objet de règle généré.

Cette page affiche :

Le fait de cliquer sur le lien des détails de l'objet de règle FlexibleRetirementYear seul affiche sa documentation SessionDoc :

Figure 3. SessionDoc de l'objet de règle FlexibleRetirementYearCette image affiche les objets de règles générés.

En haut (non affiché), on trouve les détails récapitulatifs de l'objet de règle, puis chaque attribut de règle figurant sur l'objet de règle est répertorié, avec les détails suivants :

Conseil : L'implémentation d'un attribut de règle description sur chaque classe de règles peut faciliter la commpréhension de votre documentation SessionDoc. Pour en savoir plus, voir Attribut de règle description.

Si vous exécutez SessionDoc sur une base de données étendue, il peut s'avérer utile de supprimer les liens "utilisé par", car leur inclusion risque d'entraîner la génération de très nombreux objets de règles par SessionDoc. Pour supprimer la sortie des liens "utilisé par", utilisez l'élément curam.creole.execution.session.SessionDoc.write(File, boolean), en transmettant faux comme deuxième paramètre.

Pour les objets de règles stockés sur les tables de base de données de CER, vous pouvez créer une documentation SessionDoc en exécutant la classe curam.creole.util.DumpOutRuleObjects, avec un argument unique correspondant au nom d'un répertoire dans lequel créer la documentation SessionDoc. L'utilitaire DumpOutRuleObjects récupère tous les objets de règles à partir des tables de base de données, et l'action relative à chaque objet de règle externe sera donc de type "récupéré". Les éventuels objets de règles internes seront créés (étant donné qu'ils ne sont pas stockés) et afficheront donc une action de type "créé".

Conseil : L'utilitaire DumpOutRuleObjects peut représenter un moyen pratique de parcourir les objets de règles stockés sur les tables de base de données de CER. Il peut également constituer une aide précieuse pour le débogage une fois que vous arrivez à la phase d'intégration des règles CER dans votre application en ligne.

Vous pouvez parcourir les objets de règles pour visualiser les valeurs des attributs calculés sur les objets de règles, ainsi qu'une vue technique de la méthode utilisée pour obtenir le résultat d'un calcul donné.

1 Avant Cúram V6, l'état INITIALISEE était utilisé. A partir de Cúram V6, l'état SPECIFIEE est utilisé en remplacement.