0

リビジョンイベントをキャプチャするwindchillサービスがあります。APIを使用していますVersionControlServiceEvent.NEW_VERSION

しかし、このイベントはチェックアウトイベントとリビジョンイベントの両方をキャプチャしています。リビジョンイベントのみをキャプチャする必要があります。これを変更してリビジョンイベントのみをキャプチャする方法、またはそれを行うための他のAPIはありますか。ヘルプが必要です。

ありがとう

4

1 に答える 1

1

以前の回答(ここ)から始めて、ターゲットオブジェクトのステータスをテストする必要があります:

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);
         **/
    }
}
于 2013-03-21T12:58:31.677 に答える