文档附件差异
自上次发布 RevisionControlled 对象 (如 WTPart) 以来,ERP Connector 依靠文档附件差异逻辑来确定对文档关联的变更。此差异信息用于标识为与 ERP 系统同步数据而必须发送的信息。
差异将以 com.ptc.windchill.esi.esidoc.PartDocInfo 对象的枚举形式返回。PartDocInfo 类是一个临时类,表示修订版本控制对象的文档附件。
提供了多个用于表示修订版本受控对象文档的不同关联。以下文档关联适用于 WTPart 对象:
wt.doc.WTDocument 通过说明方关联与 wt.part.WTPart 关联
wt.doc.WTDocumentMaster 通过参考关联与 wt.part.WTPart 关联
wt.epm.EPMDocument 通过构建历史记录关联与 wt.part.WTPart 关联
wt.epm.EPMDocument 通过说明方关联与 wtpart.WTPart 关联
wt.doc.WTDocument 通过说明方关联与 wt.esi.ERPMaterial (表示给定 WTPart 对象) 关联
wt.doc.WTDocumentMaster 通过参考关联与 wt.esi.ERPMaterial (表示给定 WTPart 对象) 关联
wt.epm.EPMDocument 通过说明方关联与 wt.esi.ERPMaterial (表示给定 WTPart 对象) 关联
wt.doc.WTDocument 通过说明方关联与 com.ptc.windchill.enterprise.data.EnterpriseData (表示给定 WTPart 对象或 com.ptc.windchill.enterprise.data.EnterpriseData) 关联
wt.doc.WTDocumentMaster 通过参考关联与 com.ptc.windchill.enterprise.data.EnterpriseData (表示给定 WTPart 对象或 com.ptc.windchill.enterprise.data.EnterpriseData) 关联
wt.epm.EPMDocument 通过说明方关联与 com.ptc.windchill.enterprise.data.EnterpriseData (表示给定 WTPart 对象或 com.ptc.windchill.enterprise.data.EnterpriseData) 关联
过程
使用 Windchill Information Modeler 扩展类的过程已在 《Windchill 自定义指南》 中定义。对于默认接口实施的简单扩展,可使用此过程:
1. 使用任意编辑器或集成开发环境 (IDE) 来定义 java 源文件。
* 
请勿修改或替换在安装 ERP Connector 时提供的任何类。这些文件可能会替换为未来的软件版本。
2. 将 java 源文件编译到 Windchill 代码库。
3. 变更相应的特性以指向新的实施。
(有关详细信息,请参阅《Windchill 自定义指南》中的“自定义服务特性”。)
示例
以下示例说明扩展 com.ptc.windchill.esi. esidoc.PartDocInfo 类以及修改生成文档 URL 默认行为的方法。
本示例生成文档内容的 URL,而不是生成文档特性页面的 URL。
源代码位于
<Windchill>/codebase/com/ptc/windchill/esi/examples/Example5MyPartDocInfo.java.
以下是示例文件的内容:
package com.ptc.windchill.esi.examples;
import com.ptc.windchill.esi.esidoc.PartDocInfo; import java.util.HashMap;
import wt.doc.Document;
import wt.fc.ObjectIdentifier; import wt.fc.Persistable; import wt.fc.PersistenceHelper;
import wt.httpgw.GatewayServletHelper; import wt.httpgw.URLFactory;
import wt.util.WTException;
public class Example5MyPartDocInfo extends PartDocInfo
{
public String getDocumentURL()
{String url = null;
try
{
// Generate a URL to download the document content.
URLFactory urlFactory = new URLFactory(); HashMap map = new HashMap();
map.put("action", "DownloadContent"); map.put("oid", getDocumentOID());
url = GatewayServletHelper.buildAuthenticatedHREF(urlFactory, "wt.enterprise.URLProcessor", "URLTemplateAction", map);
}
catch (WTException e)
{
// Use the default logic which generates a URL to display
// the document properties.
url = super.getDocumentURL();
}
return url;
}
private String getDocumentOID() throws WTException
{
Persistable p = (Persistable)getDocument();
ObjectIdentifier oid = PersistenceHelper.getObjectIdentifier(p);
return oid.getStringValue();
Consider the following:
package 语句可确保 java 编译器的输出写入正确的目录。
java 导入语句是类的继承和实施细节所必需的。
可执行以下操作编译示例:
从使用此命令安装 Windchill 时定义的 <Windchill> 目录中启动 Windchill shell:
bin/windchill shell
使用 java 编译器编译类。
javac -d ./codebase ./codebase/com/ptc/windchill/esi/examples/*.java
要激活新实施,请修改 wt.properties 以指定用于指定 com.ptc.windchill.esi.esidoc.PartDocInfo 服务实施的特性文件。
wt.services.applicationcontext.WTServiceProviderFromProperties. customPropertyFiles
附加包含新实施规范的特性文件的名称,使用逗号分隔文件名。提供了一个包含示例实施规范的示例特性文件 (<Windchill>/codebase/com/ptc/windchill/esi/examples/Example5.properties)。
wt.services/svc/default/com.ptc.windchill.esi.esidoc.PartDocInfo/null
/java.lang.Object/0=com.ptc.windchill.esi.examples. Example5MyPartDocInfo/duplicate
这对您有帮助吗?