JazzRTC Java API:如何列出项目区域拥有的组件



我正在为IBM Rational Team Concert(IBM又名Jazz RTC(进行自动化工作。

如何列出特定项目区域拥有的所有组件?哪些是必需的API调用?

我在IProjectArea实例中找不到任何getter,也找不到具有此类方法的服务或客户端实例。我不知道如何将IComponentSearchCriteria用于此目的。

项目区域拥有的组件可以使用IComponentSearchCriteria进行查询。然而,API并不十分清楚如何指定拥有的项目区域。

  1. 从包含findComponents方法的ITeamRepository中获取IWorkspaceManager
  2. 获取项目区域的IProjectAreaHandle。我只有项目区域名称,请检查此问题以了解如何获得项目区域名称的IProjectAreaHandle
  3. 创建一个IComponentSearchCriteria并将filterByOwnerOptional设置为您的IProjectAreaHandle实例
  4. 调用IWorkspaceManager.findComponents(...)获取IComponentHandles的列表。第一个参数是搜索条件。Se第二个参数是结果的最大数量(我将其设置为IWorkspaceManager.MAX_QUERY_SIZE,为512。第三个参数是进度监视器,它可以是null
  5. 如果需要获取组件名称、描述或其他属性,则需要调用IItemManager.fetchCompleteItems(...)获取完整的IComponent实例

下面是Groovy中的一个示例:

List<IComponentHandle> listComponents(String projectAreaName) {
final manager = repositoty.getClientLibrary(IWorkspaceManager) as IWorkspaceManager;
final criteria = IComponentSearchCriteria.FACTORY.newInstance();
final IProjectArea projectArea = findProjectAreaByName(projectAreaName)
criteria.filterByOwnerOptional.add(projectArea)
final List<IComponentHandle> handles =  manager.findComponents(criteria, IWorkspaceManager.MAX_QUERY_SIZE, null)
final itemManager = repositoty.itemManager()
return itemManager.fetchCompleteItems(handles, IItemManager.DEFAULT, null) as List<IComponent>
}

相关内容

  • 没有找到相关文章

最新更新