ソリューション
Windchill クライアントアーキテクチャテーブルのコンポーネントデータビルダーから IeTaskInfo を返します。
前提となる知識
読者は、Info*Engine および Windchill クライアントアーキテクチャのデータ取得の基本概念を熟知している必要があります。
ソリューションエレメント
エレメント
|
タイプ
|
説明
|
ComponentDataBuilder
|
Java インタフェース
|
コンポーネントのデータモデルを作成します。
|
IeTaskInfo
|
Java クラス
|
Info*Engine タスクおよびタスクに渡すことができるパラメータについての情報をカプセル化します。
|
手順 - コンポーネントデータビルダーの実装
ComponentDataBuilder は適切に作成された IeTaskInfo オブジェクトを返す必要があります。これは、データを取得するために実行する必要があるタスクについての情報を与える操作名をコンストラクトとしてとります。たとえば、以下のコードの抜粋では、"jca-Search" タスクが使用されています。
public class MyDataBuilderWithIETask implements ComponentDataBuilder {
@Override
public Object buildComponentData(ComponentConfig config,
ComponentParams params) throws WTException {
//pass the task name as constructor
IeTaskInfo taskInfo = new IeTaskInfo("jca-Search");
……..
return taskInfo;
}
}
IeTaskInfo で setParam(Param param) を使用することで、パラメータを "Get-Model" Webject に渡すことができます。さらに、FORM グループを使用して基本タスクにパラメータを渡す場合、addFormParam(String name, Object data) メソッドを使用できます。
タスクの選択の設定
内部では、Info*Engine の Dispatch-Tasks Webject を使用して、IeTaskInfo で渡された操作タスク名のタスク実装が検索されます。Dispatch-Tasks に渡されたいくつかのパラメータは公開され、これを使用することで適切な実装タスクを選択できます。
これらのパラメータの働きについては、
Dispatch-Tasksを参照してください。
//pass the taskName as constructor
IeTaskInfo taskInfo = new IeTaskInfo("jca-Search");
//parameter passed on to the Dispatch-Tasks
taskInfo.setParam(new Param("GROUP_IN", "<groupInName>"));
taskInfo.setParam(new Param("TYPE", "<typeName>"));
taskInfo.setParam(new Param("CLIMBER", "<climberName>"));
return taskInfo;
タスクへのフォームデータの指定
デフォルトでは、JSP ページのなんらかのリクエストパラメータが、フォームデータの一部としてタスクに指定されます。このため、ページの URL が "/somePage.jsp?foo=bar" などで終わっている場合、タスク実装では、"@FORM[]foo[]" は "bar" にマッピングされます。
タスクにフォームデータを明示的に設定する場合、フォームグループを作成してから、以下のようにグループの名前を指定します。
//pass the taskName as constructor
IeTaskInfo taskInfo = new IeTaskInfo("jca-Search");
//create your FORM group
Group groupIn = new Group("FORM");
taskInfo.setGroupIn(groupIn);
return taskInfo;
Windchill クライアントアーキテクチャによってタスクに指定された情報の使用
Windchill クライアントアーキテクチャでは、リクエストしているコンポーネントおよび現在のテーブルビューによって表示される属性についての情報がタスクに指定されます (コンポーネントがコンフィギュレーション可能なテーブルを使用する場合)。タスクではこの情報を使用して、適切な結果データを照会できます。タスクに指定される追加パラメータは、以下の Query-Objects Webject によって承諾されたパラメータのサブセットにマッピングされます。
• ATTRIBUTE:コンポーネントに表示される属性のリストが含まれます。
• SORTBY:並べ替えの基準となる属性。
• SORTED:各属性の並べ替え方向。
• WHERE:フィルタ条件。
• TYPE:サーチするタイプ。
• VERSION:最新のバージョンを返すか、すべてのバージョンを返すか。
• ITERATION:最新の作業版数を返すか、すべての作業版数を返すか。
• ATTRIBUTE_TYPE_CONTEXT:複数のタイプを指定する場合に、属性定義を検索するためにコンテキストとして使用されるタイプ。
• PAGE_LIMIT: ページあたりの結果数 (Windchill リリース 10.0 のテーブルではページングがサポートされていないのでカスタマイズポイントではありません)
• PAGE_OFFSET: ページングセッションから返す最初の結果行 (存在する場合) (Windchill リリース 10.0 のテーブルではページングがサポートされていないのでカスタマイズポイントではありません)
• PAGING_SESSION_ID:現在のページングセッション ID (存在する場合)。
これらのパラメータ名の多くは、
setParam(Param param) を使用してほかの値に再設定できます。詳細については、
カスタマイズポイントを参照してください。