It's all about the answers!

Ask a question

Saving the attachments to disk programmatically

Mohan K M (1111511) | asked Feb 11 '10, 7:08 a.m.
Hi All,
Am using RTC 2002; Have a requirement of saving attachments on a workitem to disk programmatically; I did refer couple of postings in this forum and could not get any pointers from them.

Am getting a run time cast exception on running the code I have written. The exception looks something like below:

Exception in thread "main" java.lang.ClassCastException: incompatible with

snippet of the code I have written is pated below:

 IWorkItemReferences fsrcReferences = srcWorkingCopy.getReferences();

List<IReference> srcAttachments = fsrcReferences.getReferences(WorkItemEndPoints.ATTACHMENT);
for (int i=0; i < srcAttachments.size(); i++) {
IReference srcReference = srcAttachments.get(i);

IItemReference attachmentReference = (IItemReference) srcReference;
IAttachmentHandle attachmentHandle = (IAttachmentHandle) attachmentReference.resolve();

IAttachment srcAttachment = (IAttachment) attachmentHandle;
String srcAttachmentName = srcAttachment.getName();

FileOutputStream fos = null;
try {
fos = new FileOutputStream("C:\\temp\\" + srcAttachmentName);
} catch (FileNotFoundException e1) {
IContentManager cm= srcTeamRepository.contentManager();
cm.retrieveContent(srcAttachment.getContent(), fos, null);


Any pointers/ guidance would be of great help. Many thanks in advance.


2 answers

permanent link
Patrick Streule (4.9k21) | answered Feb 11 '10, 8:53 a.m.
IAttachment srcAttachment = (IAttachment) attachmentHandle;

You cannot cast a handle to an item, you need to resolve it:

IAttachment srcAttachment =
IItemManager.DEFAULT, monitor);

Jazz Work Item Team

permanent link
Mohan K M (1111511) | answered Feb 15 '10, 3:32 a.m.
Thanks a lot Patrick; this resolved my prob.

Thanks & Regards,

Your answer

Register or to post your answer.