我有一个 Windchill 服务,我正在从中捕获修订事件。我正在使用 APIVersionControlServiceEvent.NEW_VERSION
但是这个事件正在捕获结帐和修订事件。我只需要捕获修订事件。如何修改它以单独捕获修订事件或是否有任何其他 API 可以做到这一点。我需要一些帮助
谢谢
我有一个 Windchill 服务,我正在从中捕获修订事件。我正在使用 APIVersionControlServiceEvent.NEW_VERSION
但是这个事件正在捕获结帐和修订事件。我只需要捕获修订事件。如何修改它以单独捕获修订事件或是否有任何其他 API 可以做到这一点。我需要一些帮助
谢谢
从我之前的回答(这里)开始,你只需要测试目标对象的状态:
public class VersionEventListenerAdapter extends ServiceEventListenerAdapter {
public VersionEventListenerAdapter(String serviceId) {
super(serviceId);
}
public void notifyVetoableEvent(Object event) throws WTException, WTPropertyVetoException {
if (!(event instanceof KeyedEvent)) {
return;
}
Object target = ((KeyedEvent) event).getEventTarget();
Object eventType = ((KeyedEvent) event).getEventType();
if (eventType.equals(VersionControlServiceEvent.NEW_VERSION))
{
//Check if the object is checkedOut
if (target instanceof Workable && WorkInProgressHelper.isCheckedOut((Workable)target) {
return;
}
/** Call your business code here
example : yourMethod(target);
**/
}
}