Are there APIs to list all Streams in a project area?
One answer
what I use (plain java )
final IWorkspaceManager mgr = SCMPlatform.getWorkspaceManager(repo);
// get the list of streams
IWorkspaceSearchCriteria streamsearchcriteria = IWorkspaceSearchCriteria.FACTORY.newInstance();
streamsearchcriteria.setKind(IWorkspaceSearchCriteria.STREAMS);
// loop thru all the streams on the src system
for (IWorkspaceHandle iwsh : (List<IWorkspaceHandle>) mgr.findWorkspaces(streamsearchcriteria, IWorkspaceManager.MAX_QUERY_SIZE, null))
{
IWorkspaceConnection stream = mgr.getWorkspaceConnection(iwsh, null);
// if this workspace is a stream
if (stream.isStream()
// AND it is in the same process area as the seleted project
&& stream.getProcessArea(null).getItemId().getUuidValue().equals(owning_project.getProjectArea().getItemId().getUuidValue())
final IWorkspaceManager mgr = SCMPlatform.getWorkspaceManager(repo);
// get the list of streams
IWorkspaceSearchCriteria streamsearchcriteria = IWorkspaceSearchCriteria.FACTORY.newInstance();
streamsearchcriteria.setKind(IWorkspaceSearchCriteria.STREAMS);
// loop thru all the streams on the src system
for (IWorkspaceHandle iwsh : (List<IWorkspaceHandle>) mgr.findWorkspaces(streamsearchcriteria, IWorkspaceManager.MAX_QUERY_SIZE, null))
{
IWorkspaceConnection stream = mgr.getWorkspaceConnection(iwsh, null);
// if this workspace is a stream
if (stream.isStream()
// AND it is in the same process area as the seleted project
&& stream.getProcessArea(null).getItemId().getUuidValue().equals(owning_project.getProjectArea().getItemId().getUuidValue())