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

Adding child not working using Java Api

Hi,

 I tried adding parent to a workitem. It worked.But when I go to the parent workitem, I cant see the child. Am I missing something.

Regards,
Sudipto

0 votes

Comments

usually, this problem is because the source (from) and destination(to) workitems are backwards when you create the parent link.


Accepted answer

Permanent link
Creating a work item to work item link would look like

	private static class LinkWorkItemOperation extends WorkItemOperation {

		private IWorkItemHandle fOpposite;
		private IEndPointDescriptor fEndpointDescriptor;

		public LinkWorkItemOperation(IEndPointDescriptor endpointDescriptor,
				IWorkItemHandle opposite) {
			super("Linking Work Item", IWorkItem.FULL_PROFILE);
			fOpposite = opposite;
			fEndpointDescriptor = endpointDescriptor;
		}

		@Override
		protected void execute(WorkItemWorkingCopy workingCopy,
				IProgressMonitor monitor) throws TeamRepositoryException {
			IItemReference reference = IReferenceFactory.INSTANCE
					.createReferenceToItem(fOpposite);
			workingCopy.getReferences().add(fEndpointDescriptor, reference);
		}
	}
Where you would call the operation with
		LinkParentWorkItemOperation operationParent = new LinkWorkItemOperation(
				ILinkTypeRegistry.INSTANCE.getLinkType(
						WorkItemLinkTypes.PARENT_WORK_ITEM)
						.getSourceEndPointDescriptor(), linkdest);
		operationback.run(opposite, monitor);
Opposite and linkdest being the work items.
Sudipto Sarkar selected this answer as the correct answer

0 votes

Comments

Thanks a lot Ralph. It worked.


One other answer

Permanent link
Hi,

you want this article from Ralph Schoon: https://rsjazz.wordpress.com/2013/11/06/creating-clm-links-with-back-link/

Please mark this answer as accepted if it helped to solve your problem.

best,
Arne

0 votes

Comments

Hello,

 I couldn't find much help from this. Can you please explain.

 I am using following code to add parent
            final ILinkManager linkManager = (ILinkManager)repo.getClientLibrary(ILinkManager.class);
  IWorkItem wi=wiClient.findWorkItemById(parentID, IWorkItem.FULL_PROFILE, monitor);
      final IReference workItemRef =
          linkManager.referenceFactory().createReferenceToItem(task);
            URI myURI = ItemURI.createWorkItemURI(wiClient.getAuditableCommon(), parentID);
            IReference targetEndpoint = IReferenceFactory.INSTANCE.createReferenceFromURI(myURI);
            final ILink newLink = linkManager.createLink(
                      WorkItemLinkTypes.PARENT_WORK_ITEM, workItemRef,targetEndpoint);
            linkManager.saveLink(newLink, monitor);
    }

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,954

Question asked: Aug 18 '15, 7:20 a.m.

Question was seen: 2,680 times

Last updated: Aug 27 '15, 11:13 a.m.

Confirmation Cancel Confirm