< 前へ | 次へ >

演習 1.3: Java メソッドの作成

演習 1.3 では、Java™ メソッドの作成を学習します。

この演習を始める前に、「演習 1.2: Web プロジェクト および Java インターフェースと Java 実装のセットアップ」を完了しておく必要があります。この演習では、次のことを行います。
  1. まず、Java メソッドを 1 つ作成します。以下の手順で作成する Java メソッドでは、 COBOL インポーターを使用して COBOL ソースと Java メソッドのデータの間でデータ型をマップします。
  2. ウィンドウ」>「ビューの表示」 >「スニペット」 をクリックし、「スニペット」ビューを開きます。 「スニペット」ビューで、「J2C」をクリックします。
  3. J2C Java Bean へのメソッドの追加」を右クリックし、 「挿入」を選択します。
  4. 「新規 Java メソッド」ページで、「追加」をクリックします。
  5. Java メソッド名」フィールドに、操作の名前として getCustomerInfo と 入力します。「次へ」をクリックします。
  6. 次に、入力パラメーターのデータ・マッピングを作成します。この ステップでは、アプリケーションを作成するために必要な taderc25.cbl (COBOL) ファイルをインポートします。taderc25.cbl ファイルは <installdir>\IBM\SDP70Shared\plugins\com.ibm.j2c.cheatsheet.content_7.0.0\Samples\CICS\taderc25 にあります。ここで <installdir> は、この製品がインストールされているディレクトリーです。この COBOL ファイルには、CICS® サーバーで実行されるアプリケーション・プログラムが含まれています。これには、連絡域 (COMMAREA) を介して CICS サーバーに渡される構造の定義があります。この構造は、CICS アプリケーションから戻されるカスタマー・レコードを表します。ファイルで作業を行う前に、ファイル・システムからワークベンチにインポートしておく必要があります。 「Java メソッド」ページの「入力タイプ」フィールドで、「新規」をクリックします。
  7. 「データ・インポート」ページで、「マッピングの選択」フィールドが COBOL_TO_JAVA と なっていることを確認します。「COBOL ファイル」の横にある「参照」をクリックします。
  8. ファイル・システム内で taderc25.cbl ファイルを探して選択し、「開く」をクリックします。
  9. 次へ」をクリックします。
  10. 「COBOL インポーター」ページで、コミュニケーション・データ構造を以下の手順で選択します。
    1. プラットフォーム名」には Win32 を選択する。
    2. コード・ページ」には ISO-8859-1 を選択する。
    3. 照会」をクリックする。
    4. データ構造」には「ICOMMAREA」を選択する。
  11. 次へ」をクリックします。
  12. 「保管するプロパティー」ページで、次の手順を実行します。
    1. スタイルの生成」で「デフォルト」を選択します。
    2. 参照」をクリックして、Web プロジェクト Taderc25Sample を選択する。
    3. パッケージ名」フィールドに、sample.cics.data と入力する。
    4. クラス名」フィールドで、デフォルト値 ICOMMAREAInputComm に置き換える。
  13. 終了」をクリックします。
  14. 次に、複数の種類の出力を出力パラメーターに作成します。 「Java メソッド」ページの「出力タイプの指定」フィールドで、「出力タイプ」エリアの横にある 「新規」をクリックします。
  15. 「データ・インポート」ページで、「マッピングの選択」フィールド が COBOL MPO から JAVA となっていることを確認します。
  16. 複数の可能性のある出力エリアの横の「新規」をクリックします。
  17. 「インポート・ファイル」フィールドの横にある「参照」をクリックし、 taderc25.cbl ファイルのロケーションを指定します。「開く」をクリックします。
  18. 次へ」をクリックします。
  19. 「インポーター」ページで、コミュニケーション・データ構造を以下の手順で選択します。
    1. プラットフォーム」には Win32 を選択する。
    2. コード・ページ」には ISO-8859-1 を選択する。
    3. 照会」をクリックする。
    4. データ構造」に、「PREFCUST」、「REGCUST」、および「BADCUST」を選択する。
  20. 終了」をクリックします。「データ・インポート構成プロパティー」を指定するページで、 これらの 3 つのデータ型がリストされます。
  21. 次へ」をクリックします。
  22. 次に保管するプロパティーを指定します。「保管するプロパティー」ページに、それぞれのカスタマー・タイプ・レコードごとに設定されたデフォルト値が表示されます。「プロジェクト名」フィールドに、Taderc25Sample と表示されていることを確認します。「参照」をクリックして、Web プロジェクト Taderc25Sample を選択します。
    1. 「保管するプロパティー」ページで、「COBOL MPO から Java」を選択します。
      • パッケージ名」フィールドに sample.cics.data と入力します。
      • クラス名」フィールドに OutputComm と入力します。
      • 既存のクラスの上書き」を選択します。
    2. COBOL MPO から Java 保管プロパティー」を展開します。 3 つのデータ・バインディング要素が表示されます。
    3. ファイル taderc25.cbl 内の "PREFCUST" の COBOL から Java 保管プロパティーを選択します。
      • 生成のスタイル」に、「デフォルト」を選択します。
      • パッケージ名」フィールドに sample.cics.data と入力します。
      • クラス名」フィールドに PrefCust と入力します。
      • 既存のクラスの上書き」を選択します。
    4. ファイル taderc25.cbl 内の "REGCUST" の COBOL から Java 保管プロパティーを選択します。
      • パッケージ名」フィールドに sample.cics.data と入力します。
      • クラス名」フィールドに RegCust と入力します。
      • 既存のクラスの上書き」を選択します。
    5. ファイル taderc25.cbl 内の "BADCUST" の COBOL から Java 保管プロパティーを選択します。
      • パッケージ名」フィールドに sample.cics.data と入力します。
      • クラス名」フィールドに BadCust と入力します。
      • 既存のクラスの上書き」を選択します。
  23. 終了」をクリックします。「OutputComm」を展開すると、 「出力タイプ」フィールドに、PrefCust、RegCust および BadCust が確認できます。
  24. 「Java メソッド」ページで、「完了」をクリックします。
  25. 「Java メソッド」ページで、次の手順を行います。
    1. 関数名」フィールドに、「TADERC25」(COBOL プログラムの ID) を入力します。
    2. 詳細を表示」を選択します。
    3. Interaction Verb」フィールドで、 SYNC_SEND_RECEIVE(1) を選択します。
    4. 応答の長さ」フィールドに -1 と入力します。
  26. 終了」をクリックします。
  27. Java 出力データ・マッピング・ファイル生成に認識パターン・タグを追加します。 これは、どのデータ・タイプで出力が出てくるかが不定のため、事前にデータ・ストリームに何かのパターンを定義しておくことがタイプのマッチングに必要です。match メソッドで、認識パターンをチェックさせます。

    認識パターン用の doclet タグの追加

    1. PrefCust 用の認識パターンを追加するために、次の手順を実行します。
      • Java エディターで PrefCust.java ファイルを開く。
      • getPcustcode() メソッドにナビゲートする。一番簡単な方法は、「アウトライン」ビューを開いて目的のメソッドが見つかるまでスクロールダウンします。
      • メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="PREC" を 追加する。 または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、 パターンとして "PREC" を入力することもできます。
      • 変更を保管する。 コード PrefCust.java が再生成されます。
      • match メソッドにナビゲートして、そこに変更が加えられていることを確認する。
        /**
          * @generated
          
          */
         public boolean match(Object obj) {
          if (obj == null)
           return (false);
          if (obj.getClass().isArray()) {
           byte[] currBytes = buffer_;
           try {
            byte[] objByteArray = (byte[]) obj;
            buffer_ = objByteArray;
            if (!("PREC".equals(getPcustcode().toString())))
             return (false);
           } catch (ClassCastException exc) {
            return (false);
           } finally {
            buffer_ = currBytes;
           }
          } else
           return (false);
          return (true);
         }

    2. RegCust 用の認識パターンを追加するために、次の手順を実行します。
      • Java エディターで RegCust.java ファイルを開く。
      • getRcustcode() メソッドにナビゲートする。やはり一番簡単な方法は、「アウトライン」ビューを開いて目的のメソッドが見つかるまでスクロールダウンします。
      • メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="REGC" を追加する。 または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、パターンとして "REGC" を入力することもできます。
      • 変更を保管する。 コード RegCust.java が再生成されます。
      • マッチ・メソッドにナビゲートして、そこに変更が加えられていることを確認する。
        /**
          * @generated
          
          */
         public boolean match(Object obj) {
          if (obj == null)
           return (false);
          if (obj.getClass().isArray()) {
           byte[] currBytes = buffer_;
           try {
            byte[] objByteArray = (byte[]) obj;
            buffer_ = objByteArray;
            if (!("REGC".equals(getRcustcode().toString())))
             return (false);
           } catch (ClassCastException exc) {
            return (false);
           } finally {
            buffer_ = currBytes;
           }
          } else
           return (false);
          return (true);
         }
    3. BadCust 用の認識パターンを追加するために、次の手順を実行します。
      • Java エディターで BadCust.java ファイルを開く。
      • getBcustcode() メソッドにナビゲートする。やはり一番簡単な方法は、「アウトライン」ビューを開いて目的のメソッドが見つかるまでスクロールダウンします。
      • メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="BADC" を追加する。 または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、パターンとして "BADC" を入力することもできます。
      • 変更を保管する。 コード BadCust.java が再生成されます。
      • マッチ・メソッドにナビゲートして、そこに変更が加えられていることを確認する。
        /**
          * @generated
          
          */
         public boolean match(Object obj) {
          if (obj == null)
           return (false);
          if (obj.getClass().isArray()) {
           byte[] currBytes = buffer_;
           try {
            byte[] objByteArray = (byte[]) obj;
            buffer_ = objByteArray;
            if (!("BADC".equals(getBcustcode().toString())))
             return (false);
           } catch (ClassCastException exc) {
            return (false);
           } finally {
            buffer_ = currBytes;
           }
          } else
           return (false);
          return (true);
         }