Page tree

Skip to end of metadata
Go to start of metadata

変換したデータ ソースは表形式のデータ ソースであり、Java のオブジェクト グラフのリレーショナル表現として解釈されます。変換したデータ ソースを使用すると、さまざまな Java オブジェクトとオブジェクト グラフを作成し、EJB Clinet ツールや他の SOAtest ツールのテスト パラメーター入力として使用できます。EJB Client の詳細については「EJB Client」を参照してください。

Java Bean のフィールドからのデータ ソース生成

Java Bean のフィールドからデータ ソースを生成するには、次の操作を行います。

  1. 次のいずれかを実施します。
    • テスト スイート レベルのデータ ソースを追加するには、対象のテスト スイート ノードを選択し、[データ ソースの追加] ツールバー ボタンをクリックします。



    • プロジェクト レベルのデータ ソースを追加するには、テスト ケース エクスプローラーで対象プロジェクトのノードを右クリックし、[新規追加] > [データ ソース] をクリックします。
    • グローバル レベルのデータ ソースを追加するには、テスト ケース エクスプローラーで [グローバル データ ソース] ノードを右クリックし、[新規追加] > [データ ソース] をクリックします。
  2. [Bean ウィザード] を選択し、[次へ] をクリックします。[Bean ウィザード] ダイアログが表示されます。



  3. [Bean ウィザード] ダイアログで以下のオプションを設定します。
    • 出力先タイプ:  作成するテーブル テンプレートのタイプをドロップダウン メニューから選択します。
    • 出力先ディレクトリ:  テーブルを書き込む場所を指定します。
    • 既存のファイルを上書きしますか?:  既存のファイルを上書きするかどうかを指定します。
    • Java クラス: テーブル表現を作成するクラスを指定します。
    • 依存関係をトレースしますか?:  依存関係をトレースするかどうかを [はい] または [いいえ] で選択します。[はい] を選択すると、[Java クラス] フィールドで指定した「ルート」クラスから「到達可能な」クラス メンバー変数の型に対してテーブルが生成されます。
  4. [次へ] ボタンをクリックします。[依存関係] ダイアログが表示されます。
  5. [次のクラスに対してテーブルを作成] から対象とする型の依存関係を選択します。
  6. [終了] をクリックしてテーブルを生成します。テーブルは指定されたディレクトリに作成され、各ファイルに対応するデータ ソースが選択されたテスト スイートに追加されます。

変換したデータ ソースのテーブル フォーマット

以下は、SOAtest が使用するリレーショナル/オブジェクト マッピングの主要な概念です。

  • テーブルの行はオブジェクトを表します。
  • テーブルには 2 つのタイプがあります。
    • クラス テーブル
      • 列はクラスの メンバー変数を表します。
      • 行はインスタンスを表します。
    • コレクション テーブル
      • 列はテーブルを表し、行は実際のオブジェクトを表します。
      • 行はインスタンスを表します。

オブジェクト参照

 テーブルの先頭列は、オブジェクト インスタンスの識別子です。オブジェクトを参照するには、テーブル名の後に空白を 1 つ置き、その後にオブジェクト識別子を記述します。各テーブル内で識別子の値がユニークである限り、識別子列の値は必ずしも行番号と一致する必要はありません。

値と参照

一般的に、非プリミティブ クラスのフィールド値は、上記のオブジェクト参照によって指定されます。しかし、プリミティブ型の値については、間接参照のレベルを増やすのは不要かつ煩雑なやり方です。短い形式で記述できるよう、広く定義された文字列表現を持つ一般的に使用される型は、インライン化できるよう、あらかじめサポートされています。参照列の空のセルは null 値と解釈されます。値列の空のセルは、空の文字列と解釈されます。

コレクション

可変サイズのコレクションをサポートするため、コレクション テーブルが導入されました。コレクション テーブルには参照列が 1 列だけあります。コレクション内のオブジェクトを参照するには、テーブル名の後に空白を 1 つ置き、後にオブジェクト識別子を続けます。

例として、CreditCardDO をルートに持つオブジェクト グラフをとりあげます。CreditCardDO には、PersonDO および AddressDO のインスタンス、および Vector of ActivityDO 型のオブジェクトがあります。

 

public class CreditCardDO extends PaymentMethodDO implements Serializable
{
    protected String ccNumber;    
    protected Date expirationDate;
    protected PersonDO ccHolder;
    protected AddressDO billingAddress;
    protected Vector recentActivity = new Vector();
  
    // set…()/get…() methods omitted
}
public class PaymentMethodDO implements Serializable {
    protected String bankName;
  
    // set…()/get…() methods omitted
}
public class AddressDO implements Serializable {
    protected String streetAddress;    
    protected String city;
    protected int zipCode;
    protected String state;
  
    // set…()/get…() methods omitted
}
public class PersonDO implements Serializable {
    protected String firstName;
    protected String lastName;
  
    // set…()/get…() methods omitted
}
public class ActivityDO implements Serializable {
    private float amount;
    private String description;
  
    // set…()/get…() methods omitted
}

 

次の表は、上記のオブジェクト グラフ例がどのように表形式で表されるかを示しています。
Table CreditCardDO.csv

soatest.examples.CreditCardDO
bankName
billingAddress ref
ccHolder ref
ccNumber
expirationDate
recentActivityref 
1SampleBankAddressDO 1PersonDO 1

1234123412341

234

8/31/2005RecentActivities-1

Table AddressDO.csv

soatest.examples.AddressDO
city
state
streetAddress
zipCode
1Los AngelesCA101 E. Huntington Dr.91016

Table PersonDO.csv

soatest.examples.PersonDO
firstName
lastName
DonaldDuck

Table ActivityDO.csv

soatest.examples.ActivityDO
amount
description
soatest.examples.ActivityDO
amount
description
11010 Charge-10
22020 Charge-20
33030 Charge-30
44040 Charge-40
55050 Charge-50
66060 Charge-60
77070 Charge-70
88080 Charge-80
99090 Charge-90
10100100 Charge-100

Table RecentActivities-1.csv

ActivityDO ref
ActivityDO 1
ActivityDO 2
ActivityDO 3
  • No labels