在启动 BOM 变换器会话时实现自定义逻辑
名称和分类最佳做法
在启动 BOM 变换器会话时实现自定义逻辑
目标
提供在启动 BOM 变换器会话时实现自定义逻辑的自定义指南
必备知识
要应用此最佳做法,需要了解以下内容:
• MPMLink 和 BOM 结构的基础知识
• 涉及 Java 的基本开发
• *-actions.xml、*-actionmodels.xml 和 *.xconf 文件自定义的管理
解决方案元素
启动 BOM 变换器会话时,请执行以下步骤以实现自定义逻辑:
1. 编写扩展 com.ptc.windchill.baseclient.server.delegate.StructureBroswerDelegate 接口的新自定义委派。例如,如果新委派是 CustomStructureBroswerDelegate,则示例代码如下所示:
public class CustomStructureBroswerDelegate implements StructureBroswerDelegate{
@Override
public void processBrowserLoad(NmCommandBean commandBean, HttpServletRequest request) throws WTException {
// customization code
}
@Override
public void processBrowserUnload(NmCommandBean commandBean, HttpServletRequest request) throws WTException {
// customization code
}
@Override
public void processBrowserPing(NmCommandBean commandBean, HttpServletRequest request) throws WTException {
// customization code
}
}
|
仅当在 com.ptc.windchill.enterprise.associativity.part.mpml.mapsb_ping 特性中指定 true 值时,才会调用 public void processBrowserPing(NmCommandBean commandBean, HttpServletRequest request) throws WTException 方法。此特性位于 com/ptc/windchill/enterprise/associativity/part/mpml/mapsb 的 MAPSB.wt.properties.xconf 中。此特性的默认值为 false。
|
2. 更新 StructureBroswerDelegate 条目的 com/ptc/windchill/enterprise/associativity/part/mpml/mapsb/MAPSB-service.properties.xconf 文件,并使用新添加的自定义实现更新 serviceClass。例如,使用自定义委派 CustomStructureBroswerDelegate 时,示例代码如下所示:
<Service context="default" name="com.ptc.windchill.baseclient.server.delegate.StructureBroswerDelegate">
<Option serviceClass="com.custom.delegate.CustomStructureBroswerDelegate" requestor="null" selector="mapsb" cardinality="singleton"/>
</Service>