2011년 11월 20일 일요일

Client API - 작업항목 ID 검색 및 열거형 값 수정


repo.login(monitor);

//static String prjAreaName = "My Project1";
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();

//static int workItemNumber = 15;
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();



IAttribute attrPriority = null;
//static String attrName = "Priority";
List<IAttribute> listAttributes = workItemClient.findAttributes(prjAreaHandle, monitor);
for (IAttribute attribute : listAttributes) {
if(attribute.getDisplayName().equalsIgnoreCase(attrName)) {
attrPriority = attribute;
break;
}
}

if (attrPriority != null && workItem.hasAttribute(attrPriority))
{
//String literalPriorityID = workItem.getValue(attrPriority).toString();
//System.out.println(literalPriorityID);

//static String enumDisplayName = "High";
IEnumeration<ILiteral> enumeration= (IEnumeration<ILiteral>)workItemClient.resolveEnumeration(attrPriority, null);
List<ILiteral> listLiterals = enumeration.getEnumerationLiterals();          
for (ILiteral literal : listLiterals) {
if (literal.getName().equalsIgnoreCase(enumDisplayName)) {
workItem.setValue(attrPriority, literal.getIdentifier2());
//System.out.println(literal.getIdentifier2().toString());
IDetailedStatus saveStatus = workItemCopy.save(monitor);
//System.out.println("Save Status : " + (saveStatus.isOK() ? "Success" : "Fail"));
break;
}
}
}

TeamPlatform.shutdown();

댓글 없음:

댓글 쓰기