SessionDoc

CER ermöglicht Ihnen die Ausgabe einer HTML-Dokumentation für eine Sitzung. Diese Dokumentation wird als "SessionDoc" bezeichnet.

Das SessionDoc enthält einen Datensatz für alle Regelobjekte, die während der Sitzung erstellt wurden, und kann im Rahmen von Tests wertvolle Dienste für das Debugging leisten.

Es kann hilfreich sein, den JUnit-Ankerpunkt tearDown zu verwenden, um durchzusetzen, dass das SessionDoc für alle Testmethoden in den Testklassen ausgegeben wird:

@Override
          protected void tearDown() throws Exception {
          /*
          * Write out SessionDoc, to a directory named after the test
          * method.
          */
          final File sessionDocOutputDirectory =
          new File("./gen/sessiondoc/" + this.getName());
          sessionDoc.write(sessionDocOutputDirectory);

          super.tearDown();
          }

Das folgende Beispiel zeit die SessionDoc-Hauptseite für einen Test testSelfMadeMillionaireScenario:

Abbildung 1. SessionDoc für Test testSelfMadeMillionaireScenarioGeneriertes SessionDoc

Diese Seite enthält einige wichtige Details:

Wenn Sie auf den Link für das einzige Regelwerk FlexibleRetirementYearRuleSet klicken, werden dessen Regelobjekte angezeigt:

Abbildung 2. Regelobjekte für das Regelwerk FlexibleRetirementYearRuleSetGeneriertes Regelobjekt

Auf dieser Seite ist Folgendes angegeben:

Wenn Sie auf den Link "details" für das einzige Regelobjekt FlexibleRetirementYear klicken, wird dessen SessionDoc angezeigt:

Abbildung 3. SessionDoc für Regelobjekt FlexibleRetirementYearGenerierte Regelobjekte

Am (hier nicht dargestellten) Beginn des SessionDoc sind Details für das Regelobjekt zusammengefasst. Anschließend ist jedes Regelattribut für das Regelobjekt mit den folgenden Details aufgeführt:

Tipp: Durch die Implementierung eines Regelattributs description für jede Klasse können Sie erreichen, dass Ihr SessionDoc verständlicher ist. Weitere Details enthält der Abschnitt Regelattribut description.

Falls Sie ein SessionDoc für eine umfangreiche Datenbank ausführen, kann es sinnvoll sein, die Ausgabe der Links unter "Used by" zu unterdrücken, da der Einschluss solcher Links dazu führen kann, dass viele Regelobjekte im SessionDoc ausgegeben werden. Um die Ausgabe der Links unter "Used by" zu unterdrücken, verwenden Sie curam.creole.execution.session.SessionDoc.write(File, boolean) und übergeben hierbei false als zweiten Parameter.

Für Regelobjekte, die in den Datenbanktabellen von CER gespeichert sind, können Sie das SessionDoc erstellen, indem Sie die Klasse curam.creole.util.DumpOutRuleObjects mit einem einzigen Argument ausführen, für das Sie den Namen eines Verzeichnisses angeben, in dem das SessionDoc erstellt werden soll. Das Dienstprogramm "DumpOutRuleObjects" ruft alle Regelobjekte aus den Datenbanktabellen von CER ab. Die Aktion für jedes externe Regelobjekt lautet folglich "retrieved" (= abgerufen). Alle internen Regelobjekte werden erstellt (da sie nicht gespeichert sind). Für sie ist daher die Aktion "created" (= erstellt) angegeben.

Tipp: Das Dienstprogramm "DumpOutRuleObjects" kann eine nützliche Methode zum Anzeigen der Regelobjekte sein, die in den Datenbanktabellen von CER gespeichert sind. Außerdem kann es für das Debugging von Nutzen sein, sobald Sie den Punkt erreicht haben, an dem Sie CER-Regeln in Ihre Onlineanwendung integrieren wollen.

Durch das Anzeigen der Regelobjekte können Sie die Werte der berechneten Attribute für Regelobjekte einsehen und in einer technische Ansicht feststellen, wie die einzelnen Berechnungsergebnisse erzielt wurden.

1 Vor Cúram Version 6 wurde der Status INITIALIZED verwendet. Ab Cúram Version 6 wird stattdessen der Status SPECIFIED verwendet.