複合アプリケーション - 設計と管理


現在のユーザーインターフェースビューをフィルタリングする
多くの複合アプリケーションでは、1 つのコンポーネントが発行するプロパティを別のコンポーネントが使用します。このとき、使用側のコンポーネントは IBM(R) Lotus Notes(R) ユーザーインターフェースビューを表示しようとしますが、ビューは渡されたプロパティによってフィルタリングされます。

たとえば、コンポーネントが「PersonName」という名前のプロパティを発行するとします。他のコンポーネントはその個人の最近のメール、この個人の将来の会議などを表示しようとします。通常、このようなターゲットコンポーネントにはすべての文書を表示するビューがありますが、異なるビューはありません。特に、特定の 1 人のみのすべての文書のビューはありません。このためには、キーでビューをソートする必要があります。

これを実現するために、組み込みアクションが複合アプリケーションコンポーネントのデータベースに追加されました。最初に列をソートし、フィルタをキーとして使用し一致するもののみを表示することによって、このアクションは現在のユーザーインターフェースビューをフィルタリングします。ビューがカテゴリ化されている場合、見つかったカテゴリが展開され、次のレベルでのみ文書が表示されます。

このアクションは FilterCurrentUIViewViaFirstSortedColumn という名前で、渡された KeyFilterType という名前のプロパティ (文字列型) を取得します。キーでフィルタリングする必要があるビューには、渡されたプロパティ「KeyFilterType」 (文字列型) を取得するアクション「FilterCurrentUIViewViaFirstSortedColumn」の正確な定義が含まれている必要があります。

このアクションの使用方法を次のサンプル WSDL に示します。この WSDL には、データ型とプロパティの正確な定義が含まれている必要があります。

<types>

<xsd:schema targetNamespace="com.ibm.compositeapps.samples">

<xsd:simpleType name="KeyFilterType">

<xsd:restriction base="xsd:string"/>

</xsd:simpleType>

</xsd:schema>

</types>

<operation name="UpdateUI_Operation">

<portlet:action name="FilterCurrentUIViewViaFirstSortedColumn

caption="FilterCurrentUIViewViaFirstSortedColumn"

description="FilterCurrentUIViewViaFirstSortedColumn "/>

<input>

<portlet:param name="KeyFilter" partname="KeyFilterPart"

caption="caption.KeyFilter"

description="description.KeyFilter"/>

</input>

</operation>

Lotus Notes リスナーコンポーネントはアクションを使用し、API を呼び出してビューをフィルタリングし、ウィンドウを更新します。この結果、表示されている Lotus Notes ユーザーインターフェースビューは、新しいフィルタを使用して同じ Lotus Notes ウィンドウで更新されます。

たとえば、ソースコンポーネントが個人名であるプロパティ「KeyFilterType」を発行するとします。ターゲットコンポーネントのアクションが呼び出され、ビューにフィルタが適用されます。

Composite Application Editor を使用すると、ターゲットコンポーネントの組み込みアクションを使用してソースコンポーネントのプロパティをワイヤリングできます。

関連項目