service.properties のカスタマイズ
サービス代理メカニズムは、Java プロパティファイルを使用して、指定された一連の基準の各サービスに使用する代理を指定します。メインプロパティファイルは service.properties という名前が付けられ、/Windchill/codebase/ ディレクトリに保存されます。
新規のエントリを service.properties ファイルに追加する、または既存のエントリをオーバーライドする代わりに、個別のファイルを使用します。このファイルには、service.properties と同じフォーマットのエントリが含まれている必要があります。新規プロパティファイルを使用するには、wt.properties にある次のプロパティでファイルのコンマ区切りリストにファイルのフルパス (システムのクラスパスを基準とする) を追加します。
wt.services.applicationcontext.WTServiceProviderFromProperties.
customPropertyFiles
新規 wt.identity.DisplayIdentification 委任の作成の例を参照してください。DisplayIdentification サービスは、ユーザーインタフェースの表示用のオブジェクトを識別する文字列を作成するためのメソッドを定義するインタフェースです。service.properties 内には、DisplayIdentification サービス用の以下のようなエントリがあります。
| この例でインデントされている部分は前の行が続くことを示しており、マニュアルでの表記に必要なものです。プロパティファイル内の各プロパティのエントリは 1 行で記述する必要があります。 |
各エントリによって、クラスまたはインタフェース (wt.part.WTPart など) が、wt.identity.DisplayIdentification インタフェース (wt.identity.DisplayIdentificationWTPartDelegate など) を実装するクラスにマッピングされます。カスタマイズに AcmePart という名前の WTPart のサブクラスが含まれており、その部分の表示識別の必要性が WTPart と異なる場合は、新規の代理を実装する必要があります。代理クラスを実装した後、その代理クラスは適切なエントリがサービス代理プロパティファイルに追加されている場合にのみ使用されます。これを行うには、次の手順を実行します。
1. acme_part_services.properties という名前の新規プロパティファイルを作成し、AcmePart クラスに適用するサービス代理のすべてのエントリを記述します。
2. このプロパティファイルを、Windchill が再インストールまたはアップグレードされても削除されないディレクトリ (たとえば、<Windchill>/src/com/acme/part) に保存します。コピーを <Windchill>/codebase/com/acme/part に保存します。
3. 次の手順に従って、wt.properties プロパティファイルで指定されている wt.services.applicationcontext.WTServiceProviderFrom Properties.customPropertyFiles という名前のファイルのリストに新しいプロパティファイルの名前を追加します。
a. 以下のような 新しい xconf 宣言ファイル (たとえば、<Windchill>/src/com/acme/part/acme_part_services.xconf) を作成します。
b. <Windchill>/codebase/wt.properties にある customPropertyFiles を修正し、Windchill シェルから新しい xconf ファイルを実行して以下のような acme_part_services.properties ファイルを生成します。
xconfmanager -i
src/com/acme/part/acme_part_services.xconf -p
4. メソッドサーバーを再起動して変更を有効にします。