自定义点
可扩展类
如果对“发布选项集”一节中所述的呈现器类进行了扩展,则必须在 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 工作流”设置为“是”且选项集未与已实施变更通告关联时,才会发生上述情况。
首选项名称:“触发选项集发布的生命周期状态”
默认值:RELEASED
◦ 此可选 wt.property 用于控制可分配表达式的对象或选择规则上的表达式使用了别名时的选项和变型信息发布。在 11.0 中,不支持发布别名。将可选特性设置为 true 时,将允许通过忽略别名继续发布,否则将中止发布进程。
Windchill 特性名称:com.ptc.windchill.esi.AllowPublishingWithoutAlias
默认值:false
◦ 此可选 wt.property 用于控制可分配表达式的对象上的表达式使用了 Java 函数时的选项和变型信息发布。在 11.0 中,不支持发布 Java 函数。将可选特性设置为 "true" 时,将允许通过忽略 Java 函数继续发布,否则将中止发布进程。
Windchill 特性名称:com.ptc.windchill.esi.AllowPublishingWithoutJavaFunction
默认值:false
将选择呈现配置为在 ESI 响应中呈现数字选择、数值和测量数量
配置步骤:
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. 这将开始呈现数字选择的数值以及测量数量 (如果存在)。对于字符串类型的选择,这些元素没有任何值。
5. 或者,为避免呈现空白值,可执行以下操作。
a. 备选 1:改写 OptionRenderer 的 adjustChoiceElement API 并移除字符串类型选择的空白 Value 和 QuantityOfMeasure 属性。
b. 备选 2:从分布目标所使用的 ExportToxxx 任务中的响应 XML 中移除空白选择元素。
c. 备选 3:使用 XSL 筛选 ESI 响应 XML 的 "Specification" 元素中带有空白 Value 和 QuantityOfMeasure 元素的元素。此 XSL 可在分布目标的常规设置下进行指定。
发布选项集时,分布目标上有几个可配置属性会影响 ESI 响应消息的内容。
有关发布选项集和表达式的详细信息,请参阅 Windchill 帮助中心主题“分布目标属性”中的“与选项集相关的属性”一节。