高度なカスタマイズ > ビジネスロジックのカスタマイズ > パッケージのカスタマイズ > 送信物のダウングレードのためのカスタマイズ > ダウングレード送信物の Windchill 依存フィルタ
  
ダウングレード送信物の Windchill 依存フィルタ
依存フィルタは、xpath または property フィルタによって必要なオブジェクトが除外される場合に、交換できない一連の依存オブジェクトをフィルタするために使用される Java ベースのフィルタです。このセクションでは、依存フィルタを効果的にカスタマイズするためのガイドラインを示します。
ガイドライン
DependencyFilter インタフェースを直接実装することはお勧めしません。DependencyFilter のカスタマイズでは、DefaultDependencyFilter を拡張し、それに execute メソッドを実装する必要があります。
依存フィルタが複数のオブジェクトに依存している場合は、複数の FilterIdentity アノテーションを定義する必要があります。
以下に示すように、カスタマイズした DependencyFilter によって DependencyFilterPriority が定義される必要があります。
package com.ptc.transformation.filter;
public final class DependencyFilterPriority {
private DependencyFilterPriority() {
// This is not be instantiated. Should be used for static references only
}
public static final int BUFFER = 25;
public static final int PRIMARY_OBJECT_PRIORITY = BUFFER;
public static final int LINK_OBJECT_PRIORITY = PRIMARY_OBJECT_PRIORITY + BUFFER;
public static final int SECONDARY_OBJECT_PRIORITY = LINK_OBJECT_PRIORITY + BUFFER;
public static final int ACTIVITY_PRIORITY = SECONDARY_OBJECT_PRIORITY + 2;
public static final int WORKITEM_PRIORITY = ACTIVITY_PRIORITY + 2;
public static final int VOTING_EVENT_AUDIT_PRIORITY = WORKITEM_PRIORITY + 2;
public static final int ASSIGNMENT_EVENT_AUDIT_PRIORITY = ACTIVITY_PRIORITY + 2;
}
これは、再帰を回避するために、フィルタ対象のオブジェクトに基づいて定義される必要があります。依存フィルタの優先順位は、以下のように定義されます。
PRIMARY_OBJECT_PRIORITY - 優先順位で最初に実行される依存フィルタです。通常はパッケージメンバーであるプライマリビジネスオブジェクトをフィルタするために使用することをお勧めします。
LINK_OBJECT_PRIORITY - 優先順位で 2 番目に実行される依存フィルタです。プライマリビジネスオブジェクトのバイナリリンクオブジェクトをフィルタするために使用することをお勧めします。
SECONDARY_OBJECT_PRIORITY - 最後に実行される依存フィルタです。パッケージメンバーとリンクの両方に依存するセカンダリオブジェクトに使用することをお勧めします。
* 
使用するオブジェクトモデルと関係に基づいて独自のフィルタの優先順位を定義できます。
XMLLookUpService を介して公開される API を使用して、XML に対する照会を実行し、適切な XMLFilterEntries を取得することをお勧めします。
詳細については、セクション「API でサポートされている XMLLookUpService」を参照してください。
カスタマイズには、サポートされているものとしてマークされているメソッドを使用する必要があります。
API でサポートされている XMLLookUpService
メソッド
引数
戻り値
使用法
getXMLFilterEntries
文字列 rootTag - フィルタ対象の XML のルートタグ
FilterEntries のマップ。XPATH がキーとして使用され、値のコレクションが値として使用されています。
XMLFilterEntries コレクションを返します。これらの XMLFilterEntries にはすでにフィルタ済みの XML は含まれません。
依存フィルタのカスタマイズでデータベース照会を実行するために使用します。
getXMLFilterEntries
文字列 rootTag - フィルタ対象の XML のルートタグ
FilterEntries のマップ。XPATH がキーとして使用され、値のコレクションが値として使用されています。
removeFiltered フラグ
XML フィルタエントリのコレクションを返します。返された XML フィルタエントリが、removeFiltered フラグに基づいて、すでにフィルタ済みの XML エントリを返すことがあります。
依存フィルタのカスタマイズでデータベース照会を実行するために使用します。
getInstance
TransformationContext
特定の TransformationContext に対して初期化される XMLLookUpService インスタンス。
XMLLookUpService インスタンスを取得するには、常にこのメソッドを使用します。これにより、すべての操作が、1 つのダウングレード送信物と、対応するベース送信が参照する XML のもとで実行されます。