java - 如何使用 java RTC api 将流设置为流目标?

标签 java rtc

我使用下面的代码创建一个工作区:

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import com.ibm.team.repository.client.ITeamRepository;
import com.ibm.team.repository.client.ITeamRepository.ILoginHandler;
import com.ibm.team.repository.client.ITeamRepository.ILoginHandler.ILoginInfo;
import com.ibm.team.repository.client.TeamPlatform;
import com.ibm.team.repository.common.TeamRepositoryException;
import com.ibm.team.scm.client.IWorkspaceConnection;
import com.ibm.team.scm.client.IWorkspaceManager;
import com.ibm.team.scm.client.SCMPlatform;
import com.ibm.team.scm.common.IFlowTable;

public class RTCFirst {

    public static void main(String args[]) {

        String repositoryURI = "https://rtc.domain.com/jazz";
        String userId = "myid";
        String password = "****";

        IProgressMonitor monitor = new NullProgressMonitor();
        try {
            ITeamRepository repo = logIntoTeamRepository(repositoryURI,
                        userId, password, monitor);


            IWorkspaceManager wm = SCMPlatform.getWorkspaceManager(repo);
            IWorkspaceConnection workspace = wm.createWorkspace(repo.loggedInContributor(), "Example Workspace", "Description", monitor);

            IFlowTable ift = workspace.getFlowTable().getWorkingCopy();

        } catch (TeamRepositoryException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    private static ITeamRepository logIntoTeamRepository(String repositoryURI,
            String userId, String password, IProgressMonitor monitor)
            throws TeamRepositoryException {
        System.out.println("Trying to log into repository: " + repositoryURI);
        TeamPlatform.startup();
        ITeamRepository teamRepository = TeamPlatform
            .getTeamRepositoryService().getTeamRepository(repositoryURI);
        teamRepository.registerLoginHandler(new LoginHandler(userId, password));
        teamRepository.login(monitor);
        System.out.println("Login succeeded.");
        return teamRepository;
    }

    private static class LoginHandler implements ILoginHandler, ILoginInfo {

        private String fUserId;
        private String fPassword;

        private LoginHandler(String userId, String password) {
            fUserId = userId;
            fPassword = password;
        }

        public String getUserId() {
            return fUserId;
        }

        public String getPassword() {
            return fPassword;
        }

        public ILoginInfo challenge(ITeamRepository repository) {
            return this;
        }
    }

}

我想我需要用我想要流向的流填充 IFlowTable ?如果可以的话如何实现?我可以使用下面的代码来查找流:

IWorkspaceHandle iwh = (IWorkspaceHandle) findConnectionByName(repo , "mystream" , 1 , monitor).get(0);


private static List findConnectionByName(
        ITeamRepository teamRepository, String name, int kind,
        IProgressMonitor monitor) throws TeamRepositoryException {
    IWorkspaceManager wm = SCMPlatform.getWorkspaceManager(teamRepository);
    IWorkspaceSearchCriteria criteria = IWorkspaceSearchCriteria.FACTORY
            .newInstance().setKind(kind);
    if (name != null) {
        criteria.setExactName(name);
    }
    List<IWorkspaceHandle>workspaces= wm.findWorkspaces(criteria,
            Integer.MAX_VALUE, monitor);
    return workspaces;
}

但是一旦我找到了流,如何将其添加为流目标?

最佳答案

不知道您是否仍然需要答案,但我使用下面的代码添加一个流(lv1Stream)作为另一个流(lv2Stream)的流目标:

        IFlowTable flowTable = lv2Stream.getFlowTable().getWorkingCopy();
        flowTable.addDeliverFlow(lv1Stream.getResolvedWorkspace(), repo.getId(),
            repo.getRepositoryURI(), null, lv1Stream.getDescription());
        IFlowEntry flowNode =
            flowTable.getDeliverFlow(lv1Stream.getResolvedWorkspace());
        flowTable.setDefault(flowNode);
        flowTable.setCurrent(flowNode);
        lv2Stream.setFlowTable(flowTable, null);

关于java - 如何使用 java RTC api 将流设置为流目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485241/

相关文章:

Java 泛型 - 这个未经检查的转换安全吗?

java - 无法读取 MP3 帧头字节?

java - volatile 和 UNSAFE.putInt Volatile() 有什么区别

java - 谁能解释一下为什么我们使用 "final AtomicInteger count = this.count;",以及为什么使用关键字final

Java eclipse : Importing jar file in eclipse plugin project

version-control - ReSharper 和 Rational Team Concert (RTC) - 它们配合得很好吗?

java - 当从 Angular 发出请求时,HttpSession 不返回检索值

java - 我无法撤消对 RTC 中某些资源的更改,因为它们是 "out of sync with the file system"。请帮助:(

rtc - 如何取消选中 RTC 上的更改?

clearcase - 如何删除 RTC 源代码管理中的文件?