Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Get component baselines in Stream/Workspace/Snapshot via RTC API

 Hi,
can anybody point me to an API example on how to retrieve the (current) component baselines of a Stream/Workspace or Snapshot.

Thank you

1

1 vote

Comments

 The object I have is an IWorkspace instance. Can you tell me how to come from an IWorkspace to IFlowNodeConnection?


Accepted answer

Permanent link
Marko,

I can point you to some of my examples which are client side code. I guess server side code will be similar.

Snapshot recipe:
First you need IBaselineSet snapshot;
You can get this from snapshot URL:

URI snapshotUri = URI.create(snapshotURL.replaceAll(" ", "%20"));
Location snapshotLocation = Location.location(snapshotUri);
snapshotItem = (IBaselineSet) teamRepository.itemManager()
                .fetchCompleteItem(snapshotLocation, IItemManager.DEFAULT,monitor);

Then get the baselines and resolve them permission aware:
    List<IBaselineHandle> snapBaseList = snapshot.getBaselines();
    IFetchResult fetchResult = teamRepository.itemManager().fetchCompleteItemsPermissionAware(snapBaseList, IItemManager.DEFAULT, null);

Stream / Workspace:
They are both of class IFlowNodeConnection. This has a method
IFlowNodeConnection myStream = ... ;
List<IBaselineSetHandle> baselineSetHandles = myStream.getBaselineSets(monitor);

which returns the snapshots. Get latest snapshot and proceed as with Snapshot recipe.

If this answers your question please mark it as accepted.

- Arne

Marko Tomljenovic selected this answer as the correct answer

0 votes

Comments

  The object I have is an IWorkspace instance. Can you tell me how to come from an IWorkspace to IFlowNodeConnection?

IWorkspaceConnection wsConn = SCMPlatform.getWorkspaceManager(teamRepository).getWorkspaceConnection(workspaceHandle, monitor);

with com.ibm.team.scm.client.SCMPlatform

You can get the handle from IWorkspace using .getItemHandle();

What if my workspace/stream has no snapshots but only contains baselined components?

Marko,
I found a better and more direct call, also for IWorkspaceConnection:

IWorkspaceConnection wsConn;
List<IComponentHandle> compList = wsConn.getComponents();
for (IComponentHandle compHandle : compList) {
        IBaselineHandle blHandle = wsConn.getComponentInfo(compHandle).basis();
}

This example is client side code. Do you need this or are you trying to code server side?

Hi Arne,

Now everything works fine.

But I have to admit the API is so damn complex that without you I would never have reached my goal.

Thank you

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,938

Question asked: Jun 29 '15, 10:22 a.m.

Question was seen: 3,033 times

Last updated: Jul 01 '15, 10:59 a.m.

Confirmation Cancel Confirm