![]() ![]() ![]() ![]() |
この手順では、前の手順で作成した見積りをビジネス プロセスがファイル システムに書き込むノードを作成します。ファイル コントロールを使用すると、ファイル システム内でファイルの読み込みや書き込み、または追加を簡単に行えます。
以下のタスクを実行することによって、価格と在庫を組み合わせた見積りをファイル システムに書き込むビジネス プロセスを設計します。
以下のタスクは省略可能です。これらのタスクはファイル コントロールへの理解を深めるために用意されていますが、チュートリアルを完了するために不可欠なタスクではありません。
このシナリオでは、ファイル コントロールの 1 つのインスタンスをビジネス プロセスに追加します。
ディレクトリ名 - ファイル コントロールがファイルを書き込む場所を入力します。ファイル システム内の任意の場所を指定できます。
ファイル名フィルタ - ファイルの名前を入力します。たとえば、quote.xml
と入力します。
データのタイプ - ドロップダウン リストから XmlObject を選択します。
ファイル コントロールのインスタンス myFileQuote がプロジェクトに作成され、コントロール フォルダの下に表示されます。
注意 : | この単純なケースでは、ファイル コントロールの各インスタンスで個別のファイルを操作できます。ファイル コントロールで複数のファイルを操作する方法については、「ファイル コントロール」を参照してください。 |
FileControlPropertiesDocument write(XmlObject someData)
FileControlPropertiesDocument write(XmlObject someData)
write()
メソッドが予期するデータ型 XmlObject someData
が設定されています。Quote
変数は、「手順 9 : 見積りドキュメントの作成」の見積りを保持するために作成したものです。注意 : | このノードのノード ビルダには、[データの受信] タブがあります。このタブを使用して、ファイル コントロールが返したデータが割り当てられる変数を指定できます。このチュートリアルでは、この変数を指定する必要はありません。[データの受信] タブは無視することができます。[データの受信] タブで変数を指定する方法と、その後でその変数を使用するシナリオについては、「ファイル コントロール プロパティに関する注記」を参照してください。 |
この手順によって、ファイル コントロール ノードの設計が完成します。実行時に、「手順 9 : 見積りドキュメントの作成」で作成した見積りドキュメントが、ファイル システム内の指定した場所に書き込まれます。
この節では、前の節で作成した Write Quote to File ノードをさらに詳細に定義するための手順について説明します。チュートリアルを完了させるためにこの手順を行う必要はありません。ここに示す手順は、ファイル コントロールの FileControlPropertiesDocument write(XmlObject someData)
メソッドによってビジネス プロセスに返された、「ファイル コントロール プロパティ」を理解して使用できるようにするために用意されています。
この手順で行うように、ファイル コントロールを使用してファイルをファイル システムに書き込むときには、書き込むファイルに関する情報がコントロールから返されます。この情報は、XML 型のドキュメント FileControlPropertiesDocument
で返されます。FileControlPropertiesDocument
は、XML スキーマ DynamicProperties.xsd
に対して有効です。このスキーマは、チュートリアル アプリケーション内の [プロジェクト] にあります。[パッケージ・エクスプローラー] タブのプロジェクトを参照してください。
以下の手順では、ファイル コントロール プロパティが割り当てられる変数の割り当てを含めるように、ビジネス プロセスの Write Quote to File ノードを設計する方法について説明します。
注意 : | この節の手順を開始する前に、「ビジネス プロセスにコントロール送信ノードを設計してファイル コントロールと対話するには」で説明した手順 1 から手順 7 までを完了している必要があります。 |
write()
メソッドから返されるデータ型 FileControlPropertiesDocument
が設定されています。com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument
が表示されます。変数の型の選択ペインで system/DynamicProperties.xsd を展開し、[FileControlProperties] を選択します。 注意 : | デフォルトでは、[変数の型] フィールドで com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument が選択されています。 |
これで、ファイル コントロール ノードの設計は完了しました。実行時に、「手順 9 : 見積りドキュメントの作成」で作成した見積りドキュメントが、ファイル システム内の指定した場所に書き込まれます。書き込んだファイルに関する情報が RequestQuote ビジネス プロセスに返され、作成した fileProperties 変数に割り当てられます。
注意 : | ファイル コントロールからビジネス プロセスに返されるファイル コントロール プロパティを保持する変数を作成する前に、Dynamic Properties.xsd XML スキーマがアプリケーション内のプロジェクトで使用できる必要があります。Dynamic Properties.xsd は、BEA Workshop で BEA Products アプリケーションを作成するときに使用できるシステム スキーマの 1 つです。 |
前の手順で、ファイル コントロールから返されるデータを変数 fileProperties に割り当てました。書き込んだファイルに関する情報を fileProperties から取得できます。
[ソース] タブをクリックして、RequestQuote.java ファイルをソース ビューで表示します。前の節の手順を完了することによって、以下のコードが Java ファイルに書き込まれます。このコードは、デザイン ビューで行った作業を反映したものです。
fileProperties 変数の宣言が、以下のコード リストに含まれています。
public com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument fileProperties;
myFileQuote コントロールの write()
メソッドを、以下のコード リストに示します。
public void myFileQuoteWrite() throws Exception
{
//#START: CODE GENERATED - PROTECTED SECTION - このコメントより前であれば、
安全にコードを追加できる。
// トランスフォームを入力する
// メソッド呼び出しを返す
this.fileProperties = myFileQuote.write(this.Quote);
// トランスフォームを出力する
// 割り当てを出力する
//#END: CODE GENERATED - PROTECTED SECTION - このコメントより後であれば、
安全にコードを追加できる。
このメソッドを (コードの PROTECTED SECTION 外で) 編集して、fileProperties 変数から情報を取得するコードを記述できます。たとえば、以下のコード行は FileMask を返します。
this.fileProperties.getFileControlProperties().getFileMask()
この例をさらに説明するため、public void fileQuoteWrite() メソッドをソース ビューで編集して、以下のコード リスト内で太字で示されているコード行を含めます。
//#END : CODE GENERATED - PROTECTED SECTION - このメソッドのこのコメントより後であれば、安全にコードを追加できる。#//
System.out.println ("RequestQuote プロセスは、次のファイルに見積りのログを記録しました。"
+ this.fileProperties.getFileControlProperties().getFileMask());
}
コードは、PROTECTED SECTION
コメントの「後に」追加する必要があります。ソース ビューでコードを完成させると、コードの記述が容易になります。デザイン ビューに戻ると、[Write Quote to File] ノードに アイコンが追加されています。このアイコンによって、このノードに関連付けられているコードをソース ビューで編集したことを視覚的に確認できます。
ビジネス プロセスを実行すると、ファイルに付けた名前 (FileMask) がコンソールに出力されます。
![]() ![]() ![]() |