I'm looking for a way to extend the RTC client to get the current work item programmatically, or even better add a listener that notifies me whenever the current work item is changed.
I don't know where to start. Any hints?
I'm looking for a way to extend the RTC client to get the current work item programmatically, or even better add a listener that notifies me whenever the current work item is changed.
I don't know where to start. Any hints?
One can use the following code to get the IWorkItemActivationManager
:
IWorkItemActivationManager manager = ClientModel.getWorkItemActivationManager();
Wie this manager, it is possible to use the method getActiveWorkItem
to get a IWorkItemHandle
:
IWorkItemHandle handle = manager.getActiveWorkItem();
Then the following code can be used to get the IWorkItem
:
IAuditableClient auditableClient= (IAuditableClient) Controller.getInstance().getTeamRepository().getClientLibrary(IAuditableClient.class);
IWorkItem item = auditableClient.resolveAuditable(handle, com.ibm.team.workitem.common.model.IWorkItem.FULL_PROFILE, null);
The ClientModel
is in the following package: com.ibm.team.workitem.rcp.core
One way I usually explore is the OSLC API through REST call.
With a Chrome and its "Developer Tool" activated, I click on the web client and look at the request done.
That gives an indication of the kind of service involved.
Then you can look at "How to consume the Rational Team Concert change management services", which illustrates how those services are structured.
Combine it with "Extending Rational Team Concert 3.x" and you can start from there.