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

この練習を始める前に、「練習 1.2: Web プロジェクトおよび Java インターフェースと Java 実装のセットアップ」を完了しておく必要があります。

練習 1.2 では、Java メソッド getCustomerInfo の作成をステップごとに学習します。この練習では、次のことを行います。

Java メソッドの作成

ここでは、COBOL インポーターを使用して COBOL ソースと Java メソッドのデータの間でデータ型をマップする Java メソッドを作成します。

  1. 「Java メソッド」ページで、「追加」をクリックします。
  2. Java メソッド名 (Java method name)」フィールドに、操作の名前として getCustomerInfo と入力します。「次へ」をクリックします。

入力パラメーターのデータ・マッピングの作成

このステップでは、アプリケーションを作成するために必要な taderc25.cbl (COBOL) ファイルをインポートします。 taderc25.ccp ファイルは、 <RSDP_installdir>¥rad¥eclipse¥plugins¥com.ibm.j2c.cheatsheet.content_6.0.0¥Samples¥CICS¥taderc25 にあります。ここで、<RSDP_installdir> は、この製品がインストールされているディレクトリーです。この COBOL ファイルには、CICS サーバーで実行されるアプリケーション・プログラムが含まれています。これには、連絡域 (COMMAREA) を介して CICS サーバーに渡される構造の定義があります。この構造は、CICS アプリケーションから戻されるカスタマー・レコードを表します。ファイルで作業を行う前に、ファイル・システムからワークベンチにインポートしておく必要があります。

  1. 「Java メソッド」ページの「入出力タイプの指定 (Specify the input/output type)」フィールドで、「新規」をクリックします。
  2. 「データ・インポート」ページで、「マッピングの選択」フィールドが COBOL_TO_JAVA となっていることを確認します。
  3. COBOL ファイル名 (Cobol file name)」フィールドの横にある「ブラウズ」をクリックします。
  4. ファイル・システム内で taderc25.cbl ファイルを探して選択し、「開く」をクリックします。
  5. 次へ」をクリックします。
  6. 「COBOL インポーター (COBOL Importer)」ページで、通信データ構造を選択します。
  7. 「プロパティーの保管 (Saving Properties)」ページで、次の手順を実行します。

出力パラメーターに使用可能な複数の出力の作成

  1. 「Java メソッド」ページの「入出力タイプの指定 (Specify the input/output type)」で、「出力タイプ (Output type)」エリアの横にある「新規」をクリックします。
  2. 「データ・インポート」ページで、「マッピングの選択」フィールドが COBOL_MPO_TO_JAVA となっていることを確認します。
  3. 可能な複数の出力エリアの横の「新規」をクリックします。
  4. COBOL ファイル名 (Cobol file name)」フィールドの横にある「ブラウズ」をクリックし、 taderc25.cbl ファイルのロケーションを指定します。「開く」をクリックします。
  5. 次へ」をクリックします。
  6. 「COBOL インポーター (COBOL Importer)」ページで、通信データ構造を選択します。
  7. 「データ・インポート構成プロパティーの指定 (Specify data import configuration properites)」ページで、これらの 3 つのデータ型がリストされます。
  8. 次へ」をクリックします。

プロパティーの保管の指定

  1. 「プロパティーの保管 (Saving Properties)」ページで、それぞれのカスタマー・タイプ・レコードごとに設定されたデフォルト値が表示されます。
  2. 「プロパティーの保管の指定 (Specify the Saving properties)」ページの「データ・バインディング」セクションで、次の手順を実行します。
  3. 「"PREFCUST" 用の COBOL から Java への保管プロパティー (COBOL To Java Save Properties For "PREFCUST")」で、次の手順を実行します。
  4. 「"REGCUST" 用の COBOL から Java への保管プロパティー (COBOL To Java Save Properties For "REGCUST")」で、次の手順を実行します。
  5. 「"BADCUST" 用の COBOL から Java への保管プロパティー (COBOL To Java Save Properties For "BADCUST")」で、次の手順を実行します。
  6. 完了」をクリックします。これで、OutputComm の出力タイプに、PrefCust、RegCust、および BadCust が含まれます。
  7. 「Java メソッド」ページで、「完了」をクリックして操作を完了します。
  8. 「Java メソッド」ページで、次の手順を行います。 完了」をクリックします。

Java 出力データ・マッピング・ファイルを生成するための認識パターン・タグの追加

戻される出力のデータ型はこれらのいずれか 1 種類であり、どの型かは予想できないことから、データ・ストリームにパターンを事前定義しておくことが、データ型を一致させる唯一の方法となります。この一致メソッドは、認識パターンをチェックします。

ドックレット・タグの追加

  1. PrefCust 用の認識パターンを追加するには、次の手順を実行します。
    1. Java エディターで PrefCust.java ファイルを開く。
    2. getPcustcode() メソッドにナビゲートする。
    3. メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="PREC" を追加する。または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、パターンとして "PREC" を入力することもできます。
    4. 変更を保管する。コード PrefCust.java が再生成されます。
    5. 一致メソッドにナビゲートして、そこに変更が加えられていることを確認する。
    6. /**
      	 * @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 用の認識パターンを追加するには、次の手順を実行します。
    1. Java エディターで RegCust.java ファイルを開く。
    2. getRcustcode() メソッドにナビゲートする。
    3. メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="REGC" を追加する。または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、パターンとして "REGC" を入力することもできます。
    4. 変更を保管する。コード RegCust.java が再生成されます。
    5. 一致メソッドにナビゲートして、そこに変更が加えられていることを確認する。
    6. /**
      	 * @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 用の認識パターンを追加するには、次の手順を実行します。
    1. Java エディターで BadCust.java ファイルを開く。
    2. getBcustcode() メソッドにナビゲートする。
    3. メソッドのコメント・エリアに、タグ @type-descriptor.recognition-desc pattern="BADC" を追加する。または、Ctrl+Space キーを押してコンテンツ・アシストを使用し、リストを下方にナビゲートしてこのタグを見つけ、パターンとして "BADC" を入力することもできます。
    4. 変更を保管する。コード BadCust.java が再生成されます。
    5. 一致メソッドにナビゲートして、そこに変更が加えられていることを確認する。
    6. 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);
      	}
      

これで、「練習 1.4: アプリケーションのデプロイ」に進むことができます。

フィードバック

(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.