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);
IProjectAreaHandle prjAreaHandle = (IProjectAreaHandle)prjArea.getItemHandle();
IWorkItemClient workItemClient = (IWorkItemClient) repo.getClientLibrary(IWorkItemClient.class);
IWorkItemWorkingCopyManager copyManager = workItemClient.getWorkItemWorkingCopyManager();
IWorkItemType workItemType = workItemClient.findWorkItemType(prjAreaHandle, "Issue", null);
IWorkItemHandle workItemHandle = copyManager.connectNew(workItemType, monitor);
WorkItemWorkingCopy workItemCopy = copyManager.getWorkingCopy(workItemHandle);
IWorkItem workItem = workItemCopy.getWorkItem();
workItem.setHTMLSummary(XMLString.createFromPlainText("Test - Adding work item"));
IDetailedStatus saveStatus = workItemCopy.save(monitor);
System.out.println("Save Status : " + (saveStatus.isOK() ? "Success" : "Fail"));
TeamPlatform.shutdown();
Client API - 작업항목 ID 검색 및 수정
repo.login(monitor);
IWorkItemClient workItemClient = (IWorkItemClient) repo.getClientLibrary(IWorkItemClient.class);
IWorkItemWorkingCopyManager copyManager = workItemClient.getWorkItemWorkingCopyManager();
IWorkItemHandle workItemHandle = workItemClient.findWorkItemById(workItemNumber, IWorkItem.FULL_PROFILE, monitor);
copyManager.connect(workItemHandle, IWorkItem.FULL_PROFILE, monitor);
WorkItemWorkingCopy workItemCopy = copyManager.getWorkingCopy(workItemHandle);
IWorkItem workItem = workItemCopy.getWorkItem();
workItem.setHTMLSummary(XMLString.createFromPlainText("Test - Editing work item"));
IDetailedStatus saveStatus = workItemCopy.save(monitor);
System.out.println("Save Status : " + (saveStatus.isOK() ? "Success" : "Fail"));
TeamPlatform.shutdown();
Client API - 쿼리 결과를 리스트로 만들기
IQueryResult<IResolvedResult<IWorkItem>> queryResult = queryClient.getResolvedExpressionResults(prjAreaHandle, term, IWorkItem.FULL_PROFILE);
List<IWorkItem> matchingWorkItems = new ArrayList<IWorkItem>(queryResult.getResultSize(monitor).getTotalAvailable());
while (queryResult.hasNext(monitor)) {
matchingWorkItems.add(queryResult.next(monitor).getItem());
}
for (IWorkItem workItem : matchingWorkItems) {
System.out.println(workItem.getId() + " - " + workItem.getHTMLSummary().getPlainText());
}
TeamPlatform.shutdown();
쿼리에 관련된 보다 자세한 정보는 https://jazz.net/wiki/bin/view/Main/QueryDevGuide
Client API - 특정 프로젝트 영역내 특정 작업항목 유형 쿼리
IProjectAreaHandle prjAreaHandle = (IProjectAreaHandle)prjArea.getItemHandle();
IQueryClient queryClient = (IQueryClient) repo.getClientLibrary(IQueryClient.class);
IAuditableClient auditableClient = (IAuditableClient) repo.getClientLibrary(IAuditableClient.class);
IQueryableAttributeFactory attFactory = QueryableAttributes.getFactory(IWorkItem.ITEM_TYPE);
IQueryableAttribute typeAttribute = attFactory.findAttribute(prjAreaHandle, IWorkItem.TYPE_PROPERTY, auditableClient, null);
Expression expression = new AttributeExpression(typeAttribute, AttributeOperation.EQUALS, workItemTypeName);
IQueryableAttribute projectAreaAttribute = attFactory.findAttribute(prjAreaHandle, IWorkItem.PROJECT_AREA_PROPERTY, auditableClient, null);
AttributeExpression projectAreaExpression = new AttributeExpression(projectAreaAttribute, AttributeOperation.EQUALS, prjAreaHandle);
Term term = new Term(Operator.AND);
term.add(projectAreaExpression);
term.add(expression);
IQueryResult<IResolvedResult<IWorkItem>> queryResult = queryClient.getResolvedExpressionResults(prjAreaHandle, term, IWorkItem.FULL_PROFILE);
System.out.println("# of Query Results: " + queryResult.getResultSize(monitor).getTotal());
TeamPlatform.shutdown();
쿼리에 관련된 보다 자세한 정보는 https://jazz.net/wiki/bin/view/Main/QueryDevGuide
Client API - 특정 작업항목 유형 쿼리
IProjectAreaHandle prjAreaHandle = (IProjectAreaHandle)prjArea.getItemHandle();
IQueryClient queryClient = (IQueryClient) repo.getClientLibrary(IQueryClient.class); IAuditableClient auditableClient = (IAuditableClient) repo.getClientLibrary(IAuditableClient.class); IQueryableAttributeFactory attFactory = QueryableAttributes.getFactory(IWorkItem.ITEM_TYPE); IQueryableAttribute typeAttribute = attFactory.findAttribute(prjAreaHandle, IWorkItem.TYPE_PROPERTY, auditableClient, null); Expression expression= new AttributeExpression(typeAttribute, AttributeOperation.EQUALS, "Issue"); IQueryResult<IResolvedResult<IWorkItem>> queryResult = queryClient.getResolvedExpressionResults(prjAreaHandle, expression, IWorkItem.FULL_PROFILE); System.out.println("# of Query Results: " + queryResult.getResultSize(null).getTotal());
TeamPlatform.shutdown();
쿼리에 관련된 보다 자세한 정보는 https://jazz.net/wiki/bin/view/Main/QueryDevGuide
IQueryClient queryClient = (IQueryClient) repo.getClientLibrary(IQueryClient.class); IAuditableClient auditableClient = (IAuditableClient) repo.getClientLibrary(IAuditableClient.class); IQueryableAttributeFactory attFactory = QueryableAttributes.getFactory(IWorkItem.ITEM_TYPE); IQueryableAttribute typeAttribute = attFactory.findAttribute(prjAreaHandle, IWorkItem.TYPE_PROPERTY, auditableClient, null); Expression expression= new AttributeExpression(typeAttribute, AttributeOperation.EQUALS, "Issue"); IQueryResult<IResolvedResult<IWorkItem>> queryResult = queryClient.getResolvedExpressionResults(prjAreaHandle, expression, IWorkItem.FULL_PROFILE); System.out.println("# of Query Results: " + queryResult.getResultSize(null).getTotal());
TeamPlatform.shutdown();
쿼리에 관련된 보다 자세한 정보는 https://jazz.net/wiki/bin/view/Main/QueryDevGuide
Client API - 프로젝트 영역 핸들 가져오기
repo.login(monitor);
String prjAreaName = "My Project Area";
IProcessClientService processClient = (IProcessClientService)repo.getClientLibrary(IProcessClientService.class);
URI uri = URI.create(prjAreaName.replaceAll(" ", "%20"));
IProjectArea prjArea = (IProjectArea)processClient.findProcessArea(uri, null, null);
IProjectAreaHandle prjAreaHandle = (IProjectAreaHandle)prjArea.getItemHandle();
Client API - 저장소에 로그인하기
public static void main(String[] args) {
try {
IProgressMonitor monitor = new NullProgressMonitor();
TeamPlatform.startup();
//RepositoryPackage.eINSTANCE.eContents();
ITeamRepository repo = TeamPlatform.getTeamRepositoryService().getTeamRepository("https://clm.jkebanking.net:9443/ccm");
repo.registerLoginHandler(new ITeamRepository.ILoginHandler() {
public ILoginInfo challenge(ITeamRepository repository) {
return new ILoginInfo() {
public String getUserId() {
return "kdyoung";
}
public String getPassword() {
return "password";
}
};
}
});
//repo.setProxy("IP", port, null,null);
repo.login(monitor);
TeamPlatform.shutdown();
}
catch (TeamRepositoryException e) {
e.printStackTrace();
}
}
피드 구독하기:
글 (Atom)