更改管理委派
wt.change2 包具有定义为允许自定义的委派。以下概述将有助于您了解如何开始。
ConcreteAssociationDelegate
ConcreteAssociationDelegate 用于 StandardChangeService2 中。它是从 Change2DelegateFactory 中获取的。
ConcreteAssociationDelegate 有多个子类。每一子类都采用两个自变量:所链接的两个对象。每个对象都将返回链接这两者的链接对象。未提供为属于链接对象的属性添加其他值的机制,因此,此机制最适用于尚未使用其他属性进行自定义的链接对象。
此委派的另一个难点是:如果您自定义某些主要类,则可能必须添加并非显而易见的特性文件条目。
假设您在自己的自定义包内的 myChange2 包中自定义更改单 (即,生成 wt.change2.WTChangeOrder2 的子类),并将其命名为 MyChangeOrder。
查找 wt.change2.ConcreteAssociationDelegate 的相应子类时,在将更改单链接到更改请求时,将使用 wt.change2.change2.properties 中第 9 部分中的条目:
wt.services/svc/default/wt.change2.ConcreteAssociationDelegate/
wt.change2.WTChangeOrder2/wt.change2.WTChangeRequest2/
1=wt.change2.AddressedBy2Delegate/singleton
• wt.change2.WTChangeRequest2 的参考位于应用了继承的字段中。也就是说,如果您将 wt.change2.WTChangeRequest2 设置为子类 customization.myChange2.MyChangeRequest,则委派查找进程仍在特性文件中使用此行,因为 customization.myChange2.MyChangeRequest 是 wt.change2.WTChangeRequest2。
• wt.change2.WTChangeOrder2 的参考位于未应用继承的字段中。也就是说,如果将 wt.change2.WTChangeOrder2 设置为子类 customization.myChange2.MyChangeOrder,则委派查找进程无法在特性文件中使用此行,因为字符串 "customization.myChange2.MyChangeOrder2" 与字符串 "wt.change2.WTChangeOrder2" 不完全匹配。必须特性文件中的另外一行:
wt.services/svc/default/wt.change2.ConcreteAssociationDelegate/
customization.myChange2.MyChangeOrder/
wt.change2.WTChangeRequest2/
1=wt.change2.AddressedBy2Delegate/singleton