How to fetch change set data from links
I am using the below code :
for(Object wI : links){
ILink link = (ILink) wI;
Object source = link.getTargetRef().resolve();
IItemHandle changeSetHandle = (IItemHandle) link.getTargetRef().resolve();
if (source instanceof IChangeSetHandle) {
changeSet = (IChangeSet) repo.itemManager().fetchCompleteItem(changeSetHandle,
IItemManager.DEFAULT, monitor);
System.out.println("changeset---1"+changeSet);
}
}
But there is some exception like :
com.ibm.team.repository.common.ItemNotFoundException: CRJAZ0215E The following record was not found in the database: com.ibm.team.scm.common.internal.impl.ChangeSetHandleImpl
But there is some exception like :
com.ibm.team.repository.common.ItemNotFoundException: CRJAZ0215E The following record was not found in the database: com.ibm.team.scm.common.internal.impl.ChangeSetHandleImpl
2 answers
This is code that worked for me
IWorkItemReferences wiReferences = workItemCommon
.resolveWorkItemReferences(workItem, monitor);
List<ichangesethandle> changeSetHandles = new ArrayList<ichangesethandle>();
List<ireference> references = wiReferences
.getReferences(ILinkTypeRegistry.INSTANCE.getLinkType(
WorkItemLinkTypes.CHANGE_SET)
.getSourceEndPointDescriptor());
for (IReference reference : references) {
if (reference.isItemReference()) {
IItemHandle refItem = (IItemHandle) reference.resolve();
if (refItem instanceof IChangeSetHandle) {
changeSetHandles.add((IChangeSetHandle) refItem);
}
}
}
@SuppressWarnings("rawtypes")
List changeSets = itemManager.fetchCompleteItems(changeSetHandles,
IItemManager.DEFAULT, monitor);
for (Object object : changeSets) {
if (object instanceof IChangeSet) {
IChangeSet changeSet = (IChangeSet) object;
.........
</ireference></ichangesethandle></ichangesethandle>