ヘッダーをスキップ
Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド
11g リリース1(11.1.1.7)
B55917-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

F ルール・レポータの使用

この付録では、ルール・レポータAPIを使用して、ルール・ディクショナリの内容のリストまたはレポートを作成する方法について説明します。

この付録の内容は次のとおりです。

F.1 ルール・レポータの使用の概要

Oracle Business Rulesディクショナリが大きくなり、複雑さが増すと、ディクショナリの文書化およびルール・ディクショナリの内容についての他のユーザーとの伝達が重要になります。RuleReporterクラスを使用すると、ルール・ディクショナリの内容に関するリストまたはレポートを作成できます。これらのレポートを使用して設計を文書化し、ディクショナリの内容について伝達できます。

ルール・レポータを使用するには、次の2つの方法があります。

ルール・レポータはMarkupBuilderクラスを使用してGroovyプログラミング言語で記述されているため、単にフォーマットが異なるHTMLが必要か、またはまったく別のマークアップ言語を使用するかに関係なく、カスタム・レポータを容易に作成できます。GroovyはJavaに類似した動的言語であり、JVM上で実行され、Javaオブジェクトとシームレスに相互作用します。

F.1.1 ルール・レポータのHTMLスタイルシートに関する必須情報

JDEV_INSTALL/jdeveloper/soa/modules/oracle.rules_11.1.1/reporter.jarファイルには、スタイルシートoracle/rules/tools/reporter/style.cssが含まれています。このファイルをルール・レポータによって生成されるHTML出力ファイルと同じディレクトリに置くと、ページのレンダリングに使用される定義が提供されます。スタイルシートを変更して、HTMLレイアウトを変更できます。

F.1.2 RuleReporter APIに関する必須情報

RuleReporter APIの詳細は、『Oracle Fusion Middleware Java API Reference for Oracle Business Rules』を参照してください。

F.1.3 ルール・レポータの依存Jarファイルに関する必須情報

コマンドラインまたはJava APIでルール・レポータを使用するには、クラスパスに必須JARファイルがすべて含まれている必要があります。

F.2 ルール・レポータのコマンドライン・インタフェースの使用

コマンドライン・スクリプトを実行すると、ディクショナリの内容をルール・レポートを使用して表示できます。

F.2.1 ルール・レポータのコマンドラインでディクショナリの内容をリスト表示する方法

コマンドライン・スクリプトを実行すると、ディクショナリの内容をルール・レポートを使用して表示できます。

コマンドラインを使用してルール・レポータでディクショナリの内容をリスト表示する手順は、次のとおりです。

  1. システム上でターミナル・シェル・ウィンドウを開きます。

  2. 例F-1に示すように、クラスパスを更新してRuleReporterの依存性を含めます。

    詳細は、第F.1.3項「ルール・レポータの依存Jarファイルに関する必須情報」を参照してください。

  3. 例F-1に示すように、次のコマンドラインでRuleReporterを実行します。

    java oracle.rules.tools.reporter.RuleReporter DICT-NAME DEST-FILE LINK-PATHS

    各項目の意味は次のとおりです。

    • DICT-NAME: レポートの生成対象となるルール・ディクショナリの名前。

      例: C:\JDeveloper\mywork\GradeApp\Grades\oracle\rules\grades\OracleRules1.rules

    • DEST-FILE: 生成されたルール・レポータ出力の宛先ファイルの名前。通常は拡張子.htmlが付きます。

      例: C:\Temp\report.html

    • LINK-PATHS: ファイル・システムにおいて、DICT-NAME のリンク先となるディクショナリが含まれている可能性のある場所のリスト。

      例: C:\Temp

      DICT-NAMEがどのディクショナリにもリンクしない場合でも、パスは1つ以上指定する必要があります。

    例F-1に、ディクショナリに関するレポートの生成方法を示します。

    例F-1 コマンドラインでのRuleReporterの実行

    C:\> set CLASSPATH=%CLASSPATH%;C:\Oracle\Middleware\jdeveloper\modules\oracle.adf.model_
    11.1.1\adfm.jar;C:\Oracle\Middleware\jdeveloper\modules\oracle.adf.model_
    11.1.1\groovy-all-1.5.4.jar;C:\Oracle\Middleware\wlserver_
    10.3\server\lib\ojdbc6.jar;C:\Oracle\Middleware\jdeveloper\soa\modules\oracle.rules_
    11.1.1\rules.jar;C:\Oracle\Middleware\jdeveloper\modules\oracle.xdk_11.1.1\xmlparserv2.jar
    
    C:\> java oracle.rules.tools.reporter.RuleReporter
    C:\JDeveloper\mywork\GradeApp\Grades\oracle\rules\grades\OracleRules1.rules C:\Temp\report.html C:\Temp
    
    
  4. 必要に応じて、JDEV_INSTALL/jdeveloper/soa/modules/oracle.rules_11.1.1\reporter.jarファイルのoracle/rules/tools/reporter/style.css

    HTML出力ファイルと同じディレクトリにコピーします。この例では、style.cssファイルをC:/Tempにコピーします。

    これにより、Webブラウザでは、この定義を使用してページがレンダリングされます。図F-1に示すように、このスタイルシートを変更してHTMLの視覚的レイアウトを変更できます。

    図F-1 style.cssを使用したRuleReporter report.html

    図F-1の説明が続きます
    「図F-1 style.cssを使用したRuleReporter report.html」の説明

F.3 Javaでのルール・レポータの使用

oracle.rules.tools.reporter.RuleReporterクラスを使用すると、Javaアプリケーションを使用してディクショナリの内容に関する基本的なレポートをすばやく容易に作成できます。

F.3.1 Javaを使用してルール・レポータでディクショナリの内容をリスト表示する方法

RuleReporterクラスを使用すると、ディクショナリの内容をリスト表示できます。このクラスoracle.rules.tools.reporter.RuleReporterは、次に示すように、いくつかの引数を使用します。

      RuleReporter ruleReporter = new RuleReporter(
       DICT-NAME,
       DEST-FILE,
       LINK-PATHS
      );

各項目の意味は次のとおりです。

  • DICT-NAME: レポートの生成対象となるルール・ディクショナリの名前。

    例: C:\\JDeveloper\\mywork\\GradeApp\\Grades\\oracle\\rules\\grades\\OracleRules1.rules

  • DEST-FILE: 生成されたルール・レポータ出力の宛先ファイルの名前。通常は拡張子.htmlが付きます。

    例: C:\\Temp\\report.html

  • LINK-PATHS: ファイル・システムにおいて、DICT-NAME のリンク先となるディクショナリが含まれている可能性のある場所のリスト。

    例: new ArrayList<String>(Arrays.asList("C:\\Temp"))

    DICT-NAMEがどのディクショナリにもリンクしない場合でも、パスは1つ以上指定する必要があります。

これらの引数を指定してRuleReporter.report()メソッドを呼び出すと、指定したディクショナリのディクショナリ・レポートが生成されます。

Javaを使用してルール・レポータでディクショナリの内容をリスト表示する手順は、次のとおりです。

  1. Oracle JDeveloperを起動します。Oracle JDeveloperの開始ページが表示されます。

  2. 「アプリケーション・ナビゲータ」で、アプリケーションを作成していない場合は「新規アプリケーション」をクリックします。アプリケーションを作成している場合は、「アプリケーション」をクリックしてリストから「新規アプリケーション」を選択します。

  3. アプリケーションの作成ウィザードで、アプリケーションの名前と場所を入力します。

    1. 「アプリケーション名」フィールドに、アプリケーション名を入力します。たとえば、ReportApplicationと入力します。

    2. ディレクトリ名を入力または参照するか、デフォルトを使用します。

    3. アプリケーション・パッケージ接頭辞を入力するか、デフォルトの接頭辞なしを受け入れます。

      この接頭辞はグローバルで一意である必要があり、通常は自社が所有しているドメイン名を使用します。この接頭辞とそれに続くピリオドは、アプリケーションの初期プロジェクトで作成されるオブジェクトに適用されます。

      このサンプルでは、接頭辞com.exampleを使用します。

    4. このOracle Business Rulesプロジェクトの場合、図F-2に示すように、アプリケーション・テンプレートとして「汎用アプリケーション」を選択します。

    図F-2 レポート・アプリケーションの追加

    図F-2の説明が続きます
    「図F-2 レポート・アプリケーションの追加」の説明

  4. 「次へ」をクリックします。

  5. 図F-3に示すように、「汎用アプリケーションの作成 - 汎用プロジェクトの名前付け」ページで、プロジェクトの名前および場所を入力します。

    • 「プロジェクト名」フィールドに、アプリケーション名を入力します。たとえば、ReportProjectと入力します。

    • ディレクトリ名を入力または参照するか、デフォルトを使用します。

    • 「プロジェクト・テクノロジ」タブの「選択可能」リストで「Java」を選択し、「追加」をクリックして「選択済」領域に追加します。

    図F-3 プロジェクトでのテクノロジの指定

    図F-3の説明が続きます
    「図F-3 プロジェクトでのテクノロジの指定」の説明

  6. 「終了」をクリックします。

  7. Oracle JDeveloperで、「ReportProject」というプロジェクトを選択します。

  8. 右クリックしてリストから「プロジェクト・プロパティ」を選択します。

  9. 「ライブラリとクラスパス」項目を選択します。

  10. ライブラリのAdfm Designtime APIJAXBADF Model RuntimeOracle XML Parser v2Oracle JDBCおよびOracle Rulesを追加します。

  11. 「OK」をクリックします。

  12. Oracle JDeveloperで、「ReportProject」というプロジェクトを選択します。

  13. 右クリックし、リストから「新規」を選択します。

  14. 「新規ギャラリ」の「カテゴリ」領域で「一般」を選択します。

  15. 「新規ギャラリ」の「項目」領域で「Javaクラス」を選択します。

  16. 「OK」をクリックします。

  17. 図F-4に示すように、「Javaクラスの作成」ウィンドウで次のプロパティを構成します。

  18. 「OK」をクリックします。

    例F-2に示すように、Oracle JDeveloperにJavaクラスが表示されます。

    例F-2 新規のReport.javaクラス用に作成されたコード

    package com.example;
    
    public class Report {
        public static void main(String[] args) {
            Report report = new Report();
        }
    }
    
  19. 例F-3に示すように、RuleReporterクラスを使用します。RuleReporterコンストラクタの最初の引数を、ディクショナリの場所で置き換えます。

    例F-3 完成したReport.java

    package com.example;
    
    import java.util.List;
    import java.util.Arrays;
    import java.util.ArrayList;
    
    import oracle.rules.sdk2.exception.SDKException;
    import oracle.rules.tools.reporter.RuleReporter;
    
    public class Report {
      public Report() throws SDKException {
        try {
    
          RuleReporter ruleReporter = new RuleReporter(
           "C:\\JDeveloper\\mywork\\GradeApp\\Grades\\oracle\\rules\\grades\\OracleRules1.rules",
           "C:\\Temp\\report.html",
           Arrays.asList("C:\\Temp")
          );
    
         ruleReporter.report();
    
        } catch (Exception e) {
          System.out.println(e);
        }
      }
    
      public static void main(String[] args) throws SDKException {
          Report report = new Report();
      }
    }
    
  20. 「アプリケーション・ナビゲータ」で、「ReportProject」を右クリックして「メイク」を選択します。

  21. 「アプリケーション・ナビゲータ」で、「Report.java」を右クリックして「実行」を選択します。

    この例では、Report.javaクラスでC:\Temp\report.htmlにレポートが生成されます。

  22. 必要に応じて、JDEV_INSTALL/jdeveloper/soa/modules/oracle.rules_11.1.1\reporter.jarファイルのoracle/rules/tools/reporter/style.cssスタイルシートをHTML出力ファイルと同じディレクトリにコピーします。この例では、style.cssファイルをC:/Tempにコピーします。

    これにより、Webブラウザでは、この定義を使用してページがレンダリングされます。図F-5に示すように、このスタイルシートを変更してHTMLの視覚的レイアウトを変更できます。

    図F-5 style.cssを使用したRuleReporter report.html

    図F-5の説明が続きます
    「図F-5 style.cssを使用したRuleReporter report.html」の説明