Перейти к публикации

Отследить действия Windchill


Ivan Yakovlev

Рекомендованные сообщения

Возможно ли отследить действие клика на открытие и загрузки документа в Windchill (подчеркнуто краснымна картинке)?

P.S.  Имеется свое самописное приложение для документов(WTDocument), при помощи ContentHelper.getDownloadURLполучаю ссылку на скачивание документа, данное скачивание регистрируется при помощи ContentServiceEvent, при нажатии на ссылку документа в windchill тоже происходит скачивание документа но ContentServiceEvent данное событие уже не регистрирует.

5a0a4db129f2d9df6966e9a2007e6c8e.png

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts

В принципе в Windchill можно что угодно сделать, не вопросс).

В вашем случае, нужно создать дополнительный слушатель "Registering a Custom Event Listener", в мануале Customization Guide, есть пример. 

Если коротко, то нужно написать свой сервис и в нем подписаться на события.

getManagerService().addEventListener(
new ServiceEventListenerAdapter(this.getConceptualClassname())
{
public void notifyVetoableEvent(Object event) throws WTException
{
if (event instanceof VersionControlServiceEvent)
{
VersionControlServiceEvent vcsEvent = (VersionControlServiceEvent) event;
System.out.println("******** Listen hears notifyVetoableEvent on: " + vcsEvent.getEventKey() + "********" + event.getClass().getCanonicalName());
Object eventTarget = vcsEvent.getEventTarget();

if (eventTarget instanceof WTPart)
{
final WTPart part = (WTPart) vcsEvent.getEventTarget();
if (VersionControlHelper.service.allVersionsOf(part.getMaster()).size() == 1)
{
System.out.println("WTPart has been created: " + part.toString());
}
}
}
}
}, wt.vc.VersionControlServiceEvent.generateEventKey(wt.vc.VersionControlServiceEvent.NEW_VERSION)
);

 

 

Из событий вам подойдут READ_CONTENT или POST_DOWNLOAD

Windchill 10.2, нужно срочно апгрейдить там все безнадежно устарело, аргумент для руководства (улучшенный функционал и множество секюрити обновлений )

 

Ссылка на сообщение
Поделиться на других сайтах

READ_CONTENT помог)  
this.getManagerService().addEventListener(new ServiceEventListenerAdapter(this.getConceptualClassname()) {
            public void notifyVetoableEvent(Object event) throws Exception 
                if(event instanceof ContentServiceEvent) {
                    ContentServiceEvent contentEvent = (ContentServiceEvent)event;
                    Object eventTarget = contentEvent.getEventTarget();
                    WTDocument wtDoc = (WTDocument)eventTarget;
                    System.out.println("wtDoc: "+wtDoc.getNumber()+ " READ_CONTENT ");
                }   
            }
           
        }, ContentServiceEvent.generateEventKey(ContentServiceEvent.READ_CONTENT));

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...