【发布时间】:2021-05-22 19:05:40
【问题描述】:
我正在为 IBM Rational Team Concert(IBM aka Jazz RTC)工作。
如何列出特定项目区域拥有的所有流? 需要哪些 API 调用?
我在 IProjectArea 实例中找不到任何 getter,也找不到具有此类方法的服务或客户端实例。而且我不知道如何为此目的使用搜索条件。
【问题讨论】:
标签: java groovy rational-team-concert
我正在为 IBM Rational Team Concert(IBM aka Jazz RTC)工作。
如何列出特定项目区域拥有的所有流? 需要哪些 API 调用?
我在 IProjectArea 实例中找不到任何 getter,也找不到具有此类方法的服务或客户端实例。而且我不知道如何为此目的使用搜索条件。
【问题讨论】:
标签: java groovy rational-team-concert
可以使用IWorkspaceSearchCriteria 查询项目区域拥有的流。因为流实际上是“流”类型的工作区。 API 不太清楚如何指定所属项目区域。
findWorkspaces 方法的ITeamRepository 中获取IWorkspaceManager。IProjectAreaHandle。只有项目区域名称。IWorkspaceSearchCriteria 并将kind 设置为IWorkspaceSearchCriteria.STREAMS 并将exactOwnerName 设置为包含项目区域名称的字符串。IWorkspaceManager.findWorkspaces(...) 以获取IWorkspaceHandles 的列表。第一个参数是搜索条件。 se第二个参数是最大结果数(我设置为IWorkspaceManager.MAX_QUERY_SIZE,也就是512。第三个参数是进度监视器,可能是null。IItemManager.fetchCompleteItems(...) 获取完整的IWorkspace 实例。这是 Groovy 中的一个示例:
Lit<IComponentHandle> listComponents(String projectAreaName) {
final manager = repositoty.getClientLibrary(IWorkspaceManager) as IWorkspaceManager;
final criteria = IWorkspaceSearchCriteria.FACTORY.newInstance();
criteria.setKind(IWorkspaceSearchCriteria.STREAMS);
criteria.setExactOwnerName(projectAreaName)
final itemManager = repositoty.itemManager()
return itemManager.fetchCompleteItems(handles, IItemManager.DEFAULT, null) as List<IWorkspace>
}
【讨论】: