It's all about the answers!

Ask a question

How do I get IFolder from IFolderHandle?

Akshay Daga (131) | asked Apr 16 '19, 12:39 a.m.

I want to fetch the parent folder of a file in SCM. I am able to fetch the file from changesets and from the file I can get parent folder's IFolderHandle. How do I translate it to IFolder?

2 answers

permanent link
Geoffrey Clemm (29.5k23035) | answered Apr 16 '19, 12:48 a.m.

From a file version in a change set, you know which folder item is its parent, but you don't know which version of that folder item to select ... you need a configuration context (baseline, stream) to identify the version.

Akshay Daga commented Apr 16 '19, 12:53 a.m.

Thanks for quick response, but how do I fetch the baseline and stream info from changeset?

permanent link
Luca Martinucci (942277103) | answered Apr 16 '19, 4:20 a.m.

Anyway, using the standard method to get an object from its handle (with the server-side Java SDK):

IFolderHandle folderHandle = ....;
// "this" is the current Java class, in this case the plugin (extension) that is running
AbstractService pluginAbstractService = (AbstractService) this;
IRepositoryItemService repositoryItemService = pluginAbstractService.getService(IRepositoryItemService.class);
IFolder folder = (IFolder) repositoryItemService.fetchItem(folderHandle, IRepositoryItemService.COMPLETE);

Akshay Daga commented Apr 16 '19, 4:31 a.m.

Exception in thread "main" java.lang.ClassCastException: cannot be cast to

Getting this error if I use standard method.

Luca Martinucci commented Apr 16 '19, 6:56 a.m.

It looks like a casting error.

Check the class of the first argument of the fetchItem method.
It seems that you are trying to get a IManagedItem object, but the first argument of the fetchItem method is a FileItemHandle object.

Your answer

Register or to post your answer.