Я работаю над адаптером Polarion, чтобы иметь возможность общаться Polarion с другими инструментами. Мой коннектор основан на стандарте OSLC, Polarion не полностью соответствует стандарту OSLC, поэтому мне нужно использовать его Java API.
Моя проблема с использованием этого API заключается в том, что я не могу удалить ссылку OSLC. У меня не было проблем с их созданием через TrackerWebService, но нет способа сделать наоборот. Просматривая страницы документации, я нашел интерфейс с методом removeLinkedOslcResource, но без класса, реализующего этот интерфейс.
Polarion действительно не охватывает полные спецификации OSLC. Он предоставляет/использует возможности delegateUI только для того, чтобы конечные пользователи могли создавать ссылки. Таким образом, в большинстве случаев удаление ссылок также выполняется через графический интерфейс конечного пользователя.
Но должна быть возможность удалять ссылки программно. Интерфейс IWorkItem (https://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/tracker/model/IWorkItem.html) реализует необходимый метод removeLinkedOslcResource.
Итак, если у вас есть экземпляр workItem, вы можете просто вызвать workItem.removeLinkedOslcResource (arg0, arg1)
Во многих случаях я обычно получаю экземпляр IPObject, поэтому сначала вам нужно выполнить приведение типов. Что-то типа:
IWorkItem workItem = (IWorkItem) pObject;
workItem.removeLinkedOslcResource(theURi, theRole)