Получить поток из ProjectArea с помощью RTC API 4

Привет, я пытался получить имя потока, используя projectArea. У меня есть следующий параметр: Repository IFileItem WorkItem и его ChangeSets

Можно ли его получить.

Заранее спасибо.

Пожалуйста, не давайте мне ссылку на пример советника, так как я его уже читал и у меня не получилось.

В этом посте упоминалось следующее: https://jazz.net/forum/questions/49910/how-to-get-an-iconfiguration-from-ichangeset

Существует часто полезная (но не всегда верная) подсказка, скрытая в ILink, которая служит связующим звеном между IChangeSetHandle (источник) и IWorkItemHandle (цель). IItemReference для исходной стороны имеет поле String extraInfo, которое можно получить с помощью IItemReference#getExtraInfo(). Эта строка будет иметь формат IWorkspace=, который указывает исходную рабочую область. Вы можете создать дескриптор IWorkspace, используя IWorkspace.ITEM_TYPE.createItemHandle(поставляетсяUUID, null).

public void testWorkspaceConnection(ITeamRepository repository, IWorkItem workItem) throws TeamRepositoryException, IOException{
       List<ILink> changeSetLinks = (List<ILink>)linkCollection.getLinksById("com.ibm.team.filesystem.workitems.change_set");
       List<IReference> changeSetReferences = new ArrayList<IReference>();

         for (ILink link : changeSetLinks) {
            changeSetReferences.add(link.getSourceRef());
         }

         List<IItemHandle> itemHandles = new ArrayList<IItemHandle>();

         for (IReference reference : changeSetReferences) {
             itemHandles.add((IItemHandle)reference.resolve());
         }

         if(itemHandles.isEmpty()){
             return;
         }

         IItemHandle itemHandle = itemHandles.get(itemHandles.size() - 1);
         IChangeSet changeSet = (IChangeSet)repository.itemManager().fetchCompleteItem(itemHandle, 0, monitor);
         List changes = changeSet.changes();         

         IFileItem fileItem = getLogidiagFile(changeSet, repository);
         // TILL HERE THAT WAS AN EXISTING CODE THAT WAS ALREADY THERE AND IT FETCHES THE REQUIRED FILE.
         //NEXT IS WHAT |'VE ADDED TO BE ABLE TO DETERMINE THE FULL PATH
         String uuid=changeSetReferences.get(changeSetReferences.size()-1).getExtraInfo(); //Here I need to get workspace uuid to be abble to create a connection over as the post said
         IWorkspaceHandle workspaceHandle = (IWorkspaceHandle)IWorkspace.ITEM_TYPE.createItemHandle(UUID.valueOf(uuid), null);

         IWorkspaceManager workspaceManager = SCMPlatform.getWorkspaceManager(repository);
         IWorkspaceConnection workspaceConnection = workspaceManager.getWorkspaceConnection(workspaceHandle,monitor);

Исключение, которое я получаю, следующее:

Исключение в потоке "main" java.lang.IllegalArgumentException: недопустимый UUID [Workspace=_iibA0GlNEeKd76sMjPDLRA] в com.ibm.team.repository.common.UUID.valueOf(UUID.java:76)

Итак, я иду правильным курсом, или есть лучший путь, который вы можете мне провести!


person Echo    schedule 21.02.2013    source источник
comment
Я не успел? Я бы помог, если бы вы отредактировали свой вопрос, указав точный код, который вы пробовали, и сообщение об ошибке, которое вы получили :)   -  person VonC    schedule 22.02.2013
comment
Конечно .. Я обновил свой вопрос выше.   -  person Echo    schedule 22.02.2013
comment
Можете ли вы заменить UUID.valueOf(uuid) на _iibA0GlNEeKd76sMjPDLRA и посмотреть, сработает ли это?   -  person VonC    schedule 22.02.2013
comment
Я заменил его на рабочее пространство IWorkspaceHandle = (IWorkspaceHandle) IWorkspace.ITEM_TYPE.createItemHandle(UUID.valueOf(_iibA0GlNEeKd76sMjPDLRA), null);   -  person Echo    schedule 22.02.2013
comment
Исключение не возникло при создании IWorkspaceHandle, но возникло исключение при создании соединения рабочей области: com.ibm.team.repository.common.ItemNotFoundException: CRJAZ0215I В базе данных не найдена следующая запись: com.ibm.team.scm. common.internal.impl.WorkspaceHandleImpl@70c970c9 (stateId: null, itemId: [UUID _iibA0GlNEeKd76sMjPDLRA], источник: ‹unset›, неизменяемый: ‹unset›) в com.ibm.team.scm.client.internal.WorkspaceManager.getWorkspaceConnection( WorkspaceManager.java:865)   -  person Echo    schedule 22.02.2013