高度なカスタマイズ > ビジネスロジックのカスタマイズ > Product Family Management のカスタマイズ > カスタム JCA 操作からの選択した UI コンポーネントの再表示
  
カスタム JCA 操作からの選択した UI コンポーネントの再表示
操作をカスタマイズすることで、ページ全体の再表示を実行することなく、Matrix Editor の特定の領域だけを再表示できます。これらのカスタム操作は、部品 OID のリストに基づいて、コンフィギュレーション可能構造の再表示の対象を絞り込むことができます。これはすべての子を除去するカスタム「新規ビューバージョン」操作も処理する必要があります。カスタム操作処理の後で UI の再表示を処理するには、変更を反映する結果マップに関連 OID が渡される必要があります。Matrix Editor でのカスタム操作の例 customURLAction.jsp で実行される、結果マップの反映の例を以下に示します。
結果マップには以下のキーが含まれています。
replacementMap: このキーを使用して、カスタム操作によって実行されるすべての OID 変更 (部品 OID とバリエーション仕様 OID を含む) のための置換マップを指定します。このマップには、キーとしての旧 OID と値としての新規 OID がハイフン ("-") で区切って含まれています。複数のエントリがある場合、コンマ (",") で区切って指定する必要があります。たとえば、バリエーション仕様が更新され、部品も更新された場合、結果マップは以下のようになります。
refreshPart: このキーを使用して、サブ部品構造を再表示する必要がある部品 OID のリストを指定します。部品構造の再表示では、サブ構造の行とセルが再読み込みされ、新規部品や削除された部品などの変更が構造に反映されます。再表示の後、子の行の展開はすべて失われ、部品の直下の子はすべて折りたたまれます。複数のエントリがある場合、コンマで区切って指定する必要があります。たとえば、カスタム操作によって部品 A が更新されて構造に新規部品が追加され、その部品の OID も更新された場合、結果マップは以下のようになります。
refreshParentOfPart: このキーを使用して、親のサブ構造を再表示する必要がある部品 OID のリストを指定します。指定した部品 OID に複数の親が存在する場合、すべての親のサブ構造が再表示されます。部品構造の再表示によってサブ構造の行とセルが再読み込みされます。再表示の後、子の行の展開はすべて失われ、部品の直下の子はすべて折りたたまれます。
複数のエントリがある場合、コンマで区切って指定する必要があります。たとえば、カスタム操作によって部品 B が更新されてバリエーションベースラインにその部品が含まれるようになり、バージョン属性とベースライン属性が変わる場合、UI の変更を表示するためにはその親の構造を再表示する必要があり、結果マップは以下のようになります。
* 
置換が最初に処理されます。このため、結果マップに置換キーと再表示キーに共通する部品が存在する場合、その部品の更新後の OID または新規 OID を refreshPart または refreshParentOfPart キーで指定する必要があります。
カスタム操作による変更が部品の除外または追加、あるいはバリエーションベースラインへの部品の追加、除去、更新に関連する場合、これらの変更を反映するためには、この部品の親のサブ構造を更新する必要があります。これを行うには、結果マップでキー refreshParentOfPart の値として部品 OID を指定します。
カスタム操作によって部品が修正されてその作業版数が変更され (新規 OID)、この部品には置換マップに加えてサブ構造もある場合、作業版数が適用された部品の OID も結果マップ内の refreshPart キーに追加する必要があります。部品の OID が変わった場合、その部品と子の間の親子リンクも更新されます。UI を新しい親子リンクによって更新するには、部品のサブ構造を再表示する必要があります。
例: カスタム操作の例での再表示機能のテスト
customURLAction.jsp は Matrix Editor の BOM ツリーコンテキストに追加されたカスタム操作の例から起動され、この例には結果マップで予想される 3 つのキー値に対応する 3 つの入力フィールドがあります。カスタム操作の例での UI のスナップショットを以下に示します (入力フィールドをハイライト)。
Replacement map (oldOID1-newOID1, oldOID2-newOID2...): このフィールドは置換マップの指定に使用します。このマップは旧 OID と新規 OID をハイフンで区切って入力することで指定できます。
Refresh part structure for given part (comma separated OIDs for which sub structure would be refreshed): このフィールドは、サブ構造を再表示する必要がある部品 OID の指定に使用します。
Refresh part structure for given part's parent (comma separated OIDs whose parent's sub structure would be refreshed): このフィールドは、親のサブ構造を再表示する必要がある部品 OID の指定に使用します。
カスタム操作の再表示をシミュレートするには、以下のステップを実行します。
1. Matrix Editor で該当する部品に対してカスタム操作を起動します。
2. 別の UI セッションを開き、部品またはバリエーション仕様に対する変更を行います。
3. Matrix Editor で起動したカスタム操作 UI への入力として、再表示する置換マップまたは OID をそれぞれ指定します。
4. 「OK」をクリックし、Matrix Editor で変更が反映されたことを確認します。