カスタマイズポイント
拡張可能なクラス
「オプションセットのパブリッシング」のセクションで説明されているレンダラークラスを拡張した場合、その拡張を ESI サービスのプロパティファイルで定義する必要があります。以下のクラスはカスタマイズ担当者による拡張の対象です。
OptionSetRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="com.ptc.windchill.option.model.OptionSet"
selector="OPTIONSET"
serviceClass="com.ptc.windchill.esi.ov.OptionSetRenderer"
OptionRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="com.ptc.windchill.option.model.Option"
selector="OPTION"
serviceClass="com.ptc.windchill.esi.ov.OptionRenderer"
AssignedOptionSetLinkRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="com.ptc.windchill.option.model.OptionSet"
selector="ASSOCIATED_OPTIONSETLINK"
serviceClass="com.ptc.windchill.esi.ov.AssignedOptionSetLinkRenderer"
ExpressionRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="java.lang.Object"
selector="EXPRESSION"
serviceClass="com.ptc.windchill.esi.ov.ExpressionRenderer"
ChoiceRuleRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="com.ptc.windchill.option.model.ChoiceRule"
selector="CHOICE_RULE"
serviceClass="com.ptc.windchill.esi.ov.ChoiceRuleRenderer"
RuleMemberLinkRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality="duplicate"
requestor="java.lang.Object"
selector=" RULE_MEMBER_LINK"
serviceClass=" com.ptc.windchill.esi.ov.RuleMemberLinkRenderer"
RuleMemberActionLinkRenderer
サービスプロパティ名: com.ptc.windchill.esi.rnd.ESIRenderer
<Option> エレメントの属性のデフォルト値:
cardinality= "duplicate"
requestor="java.lang.Object"
selector="RULE_MEMBER_ACTION_LINK"
serviceClass= "com.ptc.windchill.esi.ov.RuleMemberActionLinkRenderer"
ExpressionRendererDelegate
サービスプロパティ名: com.ptc.windchill.esi.ov.ExpressionRendererDelegateIfc
<Option> エレメントの属性のデフォルト値:
cardinality= "singleton"
requestor="java.lang.Object"
selector="expressionRendererDelegate" (Default Selector)
serviceClass= "com.ptc.windchill.esi.ov.DefaultExpressionRendererDelegate"
各ターゲットに固有の委任を作成することも、ターゲットのセットに委任を作成し、セレクタ文字列を ESI として指定することもできます。
コンフィギュレーション可能なオプション
以下に示す Windchill ESI のコンフィギュレーション可能なオプションは、オプションセットとその関連オブジェクトのパブリッシングにおいて役割を果たす特定のコンフィギュレーション可能なオプションを制御します。
ライフサイクル状態の値をコンマ区切りリストの形式で定義します。オプションセットのライフサイクル状態がこのプリファレンスで指定されている値のいずれかに変わると、そのオプションセットのパブリッシングがトリガーされます。これは、「ESI ワークフローを自動的に開始」プリファレンスが「はい」に設定され、実装されている変更通知にオプションセットが関連付けられていない場合にのみ発生します。
プリファレンス名: オプションセットパブリッシング開始ライフサイクル状態
デフォルト値: リリース済み
条件定義可能オブジェクトまたは「選択肢」規則の定義式でエイリアスが使用されている場合に、オプションとバリエーションの情報のパブリッシングを制御する、オプションの wt.property。11.0 では、エイリアスのパブリッシングはサポートされていません。オプションのプロパティが true に設定されている場合はエイリアスを無視してパブリッシングを続行でき、そうでない場合はパブリッシングプロセスを中止します。
Windchill プロパティ名: com.ptc.windchill.esi.AllowPublishingWithoutAlias
デフォルト値: false
条件定義可能オブジェクトの定義式で Java 関数が使用されている場合に、オプションとバリエーションの情報のパブリッシングを制御する、オプションの wt.property。11.0 では、Java 関数のパブリッシングはサポートされていません。オプションのプロパティが true に設定されている場合は Java 関数を無視してパブリッシングを続行でき、そうでない場合はパブリッシングプロセスを中止します。
Windchill プロパティ名: com.ptc.windchill.esi.AllowPublishingWithoutJavaFunction
デフォルト値: false
ESI 応答で数値選択肢、数値、および QuantityOfMeasure をレンダリングするための選択肢レンダリングの設定
設定する手順は以下のとおりです。
1. EnterpriseData オブジェクトを別個にレンダリングするために ESI ResponseMetaInfo.xml を更新します。このファイルの修正方法については、このガイドの「ESI 応答メタ情報ファイルの修正」のセクションを参照してください。
2. 既成のコードにはマップが追加されています。選択肢オブジェクトタイプ ESIChoice の例を以下に示します。
<!-- ESI ESIChoice Mapping -->
<esi:Map id="ESIChoice">
<esi:attributeMapping sourceAttribute="obid">ObjectID</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx" defaultValue="com.ptc.windchill.esi.Choice">Class</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="name">Name</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="number">Number</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="description">Description</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="versionInfo.identifier.versionId">Version</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="iterationInfo.identifier.iterationId">Iteration</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx">Specification_category_ObjectID</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx">Specification_category_Name</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx" defaultValue="com.ptc.windchill.esi.Option">OptionClass</esi:attributeMapping>
</esi:Map>
3. MapInformation オブジェクトを修正して、Value と QuantityOfMeasure を指定します。それぞれ Value および QuantityOfMeasure という名前の属性のレンダリングが開始されます。
<!-- ESI ESIChoice Mapping -->
<esi:Map id="ESIChoice">
<esi:attributeMapping sourceAttribute="obid">ObjectID</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx" defaultValue="com.ptc.windchill.esi.Choice">Class</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="name">Name</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="number">Number</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="description">Description</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="versionInfo.identifier.versionId">Version</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="iterationInfo.identifier.iterationId">Iteration</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx">Specification_category_ObjectID</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx">Specification_category_Name</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="xxxx" defaultValue="com.ptc.windchill.esi.Option">OptionClass</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="Value">Value</esi:attributeMapping>
<esi:attributeMapping sourceAttribute="QuantityOfMeasure">QuantityOfMeasure</esi:attributeMapping>
</esi:Map>
4. これにより、数値選択肢の数値と QuantityOfMeasure (存在する場合) のレンダリングが開始されます。文字列タイプの選択肢ではこれらのエレメントは値を持ちません。
5. 空白値のレンダリングを回避するために、以下の操作を実行することもできます。
a. 代案 1: OptionRenderer の adjustChoiceElement API をオーバーライドして、文字列タイプの選択肢の、空白の Value 属性と QuantityOfMeasure 属性を除去します。
b. 代案 2: 配布ターゲットによって使用される ExportToxxx タスクの応答 XML から選択肢の空のエレメントを除去します。
c. 代案 3: XSL を使用して、ESI 応答 XML の Specification エレメントから、空白の Value エレメントと QuantityOfMeasure エレメントによってエレメントをフィルタします。この XSL は一般設定で配布ターゲットに対して指定できます。
配布ターゲットには、オプションセットのパブリッシング時に ESI 応答メッセージのコンテンツに影響を与えるいくつかのコンフィギュレーション可能属性があります。
オプションセットと定義式のパブリッシングの詳細については、「オプションセットに関する属性」のセクションを参照してください。
これは役に立ちましたか?