将工作项类别与RTC中的团队区域相关联

时间:2013-06-26 07:50:25

标签: rtc

我可以创建WorkItem类别,但在将其与teamarea关联时出错。在createcategory.getAssociatedTeamAreas()行中获取错误.add(newTAHandle)。我没有得到如何在add方法中返回ITeamAreaHandle的布尔对象。获取编译错误:java.lang.UnsupportedOperationException

请帮忙。以下是相关代码。

IWorkItemClient wservice = (IWorkItemClient) teamRepository.getClientLibrary(IWorkItemClient.class);
ICategory createcategory = wservice.createCategory(area, categoryName, null);
wservice.saveCategory(createcat, null);

 if (!teamArea.equals("NULL")){
                   List teamAreas = area.getTeamAreas();
                   List <teamareahandle> teamlist = teamAreas;
                   ITeamAreaHandle newTAHandle = findTeamAreaByName(teamlist,teamAreaName,monitor);

              createcategory.getAssociatedTeamAreas().add(newTAHandle);
     }

//Method findTeamAreaByName

private static ITeamAreaHandle findTeamAreaByName (List<teamareahandle> teamlist, String teamAreaID, IProgressMonitor monitor) throws TeamRepositoryException {
            for (ITeamAreaHandle teamAreaHandle  :  teamlist) {
            ITeamArea teamArea = (ITeamArea)teamRepository.itemManager().fetchCompleteItem(teamAreaHandle,ItemManager.DEFAULT,monitor);
            if (teamAreaID.equals(teamArea.getName())) {
                return teamAreaHandle;
                }
                }
                return null;
                }

2 个答案:

答案 0 :(得分:0)

This thread评论:

  

将类别与团队区域相关联的API是内部的

     

如果您仍然需要,请将ICategory投射到内部Category界面并使用例如category.setDefaultTeamArea(...)

     

您可以使用以下方式设置相关的:

((Category) category).getTeamAreas().add(teamArea);

答案 1 :(得分:0)

试试这个:

ICategory category = workItemClient.createCategory(projectArea, categoryName, getProgressMonitor());

((Category) category).doSetDefaultTeamArea(teamArea);
((Category) category).setArchived(false); //if it is archived

workItemClient.saveCategory(category, getProgressMonitor());