It's all about the answers!

Ask a question

how to get all the componet of current project and the componet's baseline names using RTC Server api

Gou Peng (216) | asked Oct 09 '19, 3:27 a.m.


how to get all the componet of current project and the componet's baseline names  using RTC Server SDK  api
public void run(AdvisableOperation operation,
IProcessConfigurationElement advisorConfiguration,
IAdvisorInfoCollector collector, IProgressMonitor monitor)
throws TeamRepositoryException {
Object data = operation.getOperationData();
if (data instanceof ISaveParameter) {
ISaveParameter saveParameter = (ISaveParameter) data;
IAuditable oldauditable = saveParameter.getOldState(); 
IWorkItem oldWorkItem = (IWorkItem) oldauditable;
IAuditable auditable = ((ISaveParameter) data).getNewState();
IWorkItemServer service = getService(IWorkItemServer.class);
if (auditable instanceof IWorkItem) {
IWorkItem newWorkItem = (IWorkItem) auditable;



Gou Peng commented Oct 12 '19, 3:02 a.m.

 thank you very much ,you are the best

Accepted answer

permanent link
David Lafreniere (4.8k7) | answered Oct 09 '19, 9:38 p.m.
edited Nov 06 '19, 4:06 p.m.

1) IComponentSearchCriteria.getFilterByOwnerOptional().. you add to this collection the IProjectAreaHandles or ITeamAreaHandles. This will return all components owned by those process areas. Pass the IComponentSearchCriteria into IScmQueryService.findComponents()

2) Then use: IBaselineSearchCriteria.setComponentRequired(component) to return all baselines in that component. It will return handles (so you'll have only the itemID). Pass the IBaselineSearchCriteria into IScmQueryService.findBaselines()

3) Then simply fetch the full IBaseline from the handles from step 2, and then use IBaseline.getName()

Gou Peng selected this answer as the correct answer

Your answer

Register or to post your answer.