2011년 11월 20일 일요일

Client API - 특정 프로젝트 영역에 멤버와 역할을 추가


repo.login(monitor);

IProcessClientService processClient = (IProcessClientService)repo.getClientLibrary(IProcessClientService.class);
URI uri = URI.create(prjAreaName.replaceAll(" ", "%20"));
IProjectArea prjArea = (IProjectArea)processClient.findProcessArea(uri, null, null);

IProcessItemService processService = (IProcessItemService)repo.getClientLibrary(IProcessItemService.class);
IClientProcess process = processService.getClientProcess(prjArea, monitor);
IRole[] availableRoles = process.getRoles(prjArea, monitor);



IRole myRole = null;
//static String roleName = "Team Member";
for (IRole role : availableRoles) {
String roleId = role.getId();
System.out.println(roleId);
if(roleId.equalsIgnoreCase(roleName)){
myRole = role;
break;
}
}

//static String userID = "jyyie";
IContributorManager contributorManager = repo.contributorManager();
IContributor contributor = contributorManager.fetchContributorByUserId(userID, monitor);
IContributor contributors[] = {contributor};

IWorkingCopyManager CopyManager = processService.getWorkingCopyManager();
CopyManager.connect(prjArea);
ProjectAreaWorkingCopy prjAreaCopy = (ProjectAreaWorkingCopy)CopyManager.getWorkingCopy(prjArea);
prjAreaCopy.addMembers(contributors);

IRole roleCast[] = {myRole};
ITeamWorkingCopy teamCopy = prjAreaCopy.getTeam();
if (teamCopy != null) {
teamCopy.setRoleCast(contributor, roleCast);
}

prjAreaCopy.save(monitor);
CopyManager.disconnect(prjArea);

TeamPlatform.shutdown();

댓글 없음:

댓글 쓰기