SessionDoc

CER에서는 세션과 관련하여 HTML 문서를 출력할 수 있습니다("SessionDoc").

이 문서는 세션 중에 작성되며 테스트에서 함께 사용하면 디버깅하는 데 많은 도움이 될 수 있는 모든 규칙 오브젝트의 레코드를 제공합니다.

테스트 클래스에 있는 모든 테스트 메소드를 강제 실행하여 SessionDoc을 출력하도록 JUnit의 tearDown 후크 지점을 사용하면 유용할 수 있습니다.

@Override
          protected void tearDown() throws Exception {
          /*
          * 테스트 메소드의 이름을 따서 명명한 디렉토리에 SessionDoc을
          * 작성합니다.
          */
          final File sessionDocOutputDirectory =
          new File("./gen/sessiondoc/" + this.getName());
          sessionDoc.write(sessionDocOutputDirectory);

          super.tearDown();
          }

다음은 testSelfMadeMillionaireScenario 테스트의 기본 SessionDoc 페이지입니다.

그림 1. testSelfMadeMillionaireScenario 테스트의 SessionDoc이 이미지는 생성된 SessionDoc을 표시합니다.

이 페이지에 대한 몇 가지 주요 세부사항은 다음과 같습니다.

유일한 규칙 세트 FlexibleRetirementYearRuleSet에 대한 링크를 클릭하면 다음과 같이 규칙 오브젝트가 표시됩니다.

그림 2. FlexibleRetirementYearRuleSet 규칙 세트의 규칙 오브젝트이 이미지는 생성된 규칙 오브젝트를 표시합니다.

이 페이지에는 다음이 표시됩니다.

유일한 FlexibleRetirementYear 규칙 오브젝트에 대한 세부사항 링크를 클릭하면 다음과 같이 SessionDoc이 표시됩니다.

그림 3. FlexibleRetirementYear 규칙 오브젝트의 SessionDoc이 이미지는 생성된 규칙 오브젝트를 표시합니다.

맨 위(표시되지 않음)에는 규칙 오브젝트의 요약 세부사항이 있으며, 그 다음에 규칙 오브젝트의 모든 규칙 속성이 다음과 같은 세부사항과 함께 나열됩니다.

팁: 각 규칙 클래스에 대한 description 규칙 속성을 구현하면 SessionDoc을 보다 쉽게 이해할 수 있습니다. 자세한 내용은 description 규칙 속성의 내용을 참조하십시오.

대형 데이터베이스에 대해 SessionDoc을 실행 중인 경우 "사용자" 링크 출력을 포함하면 SessionDoc이 매우 많은 규칙 오브젝트를 출력하게 될 수 있으므로 해당 링크의 출력을 억제하면 유용할 수 있습니다. "사용자" 링크의 출력을 억제하려면 curam.creole.execution.session.SessionDoc.write(File, boolean)을 사용하여 두 번째 매개변수로 false를 전달하십시오.

CER의 데이터베이스 테이블에 저장된 규칙 오브젝트의 경우 SessionDoc이 작성된 디렉토리의 이름을 단일 인수로 사용하여 curam.creole.util.DumpOutRuleObjects를 실행함으로써 저장된 규칙 오브젝트의 SessionDoc을 작성할 수 있습니다. DumpOutRuleObjects 유틸리티는 CER의 데이터베이스 테이블에서 모든 규칙 오브젝트를 검색하므로 각 외부 규칙 오브젝트의 조치가 "검색"됩니다. 내부 규칙 오브젝트가 작성(저장되지 않았으므로)되므로 "작성됨" 조치가 표시됩니다.

팁: DumpOutRuleObjects 유틸리티는 CER의 데이터베이스 테이블에 저장된 규칙 오브젝트를 "찾아보는" 유용한 방법이 될 수 있으며 CER 규칙을 온라인 애플리케이션에 통합하는 단계에 도달하면 유용한 디버깅 지원 수단이 될 수 있습니다.

계산 결과에 도달한 방법을 표시하는 기술 보기와 함께 규칙 오브젝트에 대해 계산된 속성 값을 보려면 규칙 오브젝트를 찾아볼 수 있습니다.

1 Cúram V6 이전에는 INITIALIZED 상태가 사용되었습니다. Cúram V6부터는 SPECIFIED 상태가 대신 사용됩니다.