AssertionFailedException problem with getting the values of attributes
I have a problem with getting the values of attributes (built in and custom).
I use this code to get the built-in attributes and their values. List<IAttributeHandle> builtInAttributeHandles = service.findBuiltInAttributes(projectArea, monitor); IFetchResult builtIn = repository.itemManager().fetchCompleteItemsPermissionAware(builtInAttributeHandles,IItemManager.REFRESH, monitor); for (Iterator it = builtIn.getRetrievedItems().iterator(); it.hasNext();) { com.ibm.team.workitem.common.model.IAttributeHandle handle = (IAttributeHandle) it.next(); com.ibm.team.workitem.common.model.IAttribute attribute = (IAttribute) repository.itemManager().fetchCompleteItem(handle, IItemManager.DEFAULT,new NullProgressMonitor()); System.out.println(" Built In Attribute: "+ attribute.getDisplayName()); System.out.println(" Type: " + attribute.getAttributeType()); try { System.out.println(" Value "+ resolved.getItem().getValue(attribute)); } catch (AssertionFailedException e) { System.out.println(e.toString()); } } But i always get AssertionFailedException ( i know that i need use different method for enumeration but even for other atributtes i get this exception) This code I use for enumeration (borrowed from this forum) System.out.println(" type"+"="+attribute.getAttributeType()); System.out.println(" value"+"="+item.getValue(attribute)); IEnumeration<ILiteral> enumeration = (IEnumeration<ILiteral>)workItemClient.resolveEnumeration(attribute, null); IAuditableClient iac = (IAuditableClient) repository.getClientLibrary(IAuditableClient.class); if(enumeration!=null){ IAuditableClient auditableClient = (IAuditableClient )repository.getClientLibrary(IAuditableClient.class); String[] iaval = attribute.getValue(auditableClient, item, null).toString().split(":"); if(iaval.length>1 && iaval[1]!=null){ List<ILiteral> enumerationLiterals = enumeration.getEnumerationLiterals(); for (ILiteral literal : enumerationLiterals){ if(literal.getIdentifier2().getStringIdentifier().equalsIgnoreCase(iaval[1])){ System.out.println("attribute name="+attribute.getIdentifier() +", type"+"="+attribute.getAttributeType()+" literal="+literal.getIdentifier2().getStringIdentifier()+" literal name="+literal.getName()); break; } } } }I will be very grateful for help edit: Also i have problem with format code in this post, I do not know that anyone will want to read it :/ |
Accepted answer
14 other answers
Still it is showing an error as an Invalid reference when I am using workItem.getValue. Can you please give me an alternate solution? |
It is still showing an error like Invalid reference can you help me with an alternative solution. |
|
Perhaps we can get values to built in and custom attributes using RPT. The workitems can fetched faster. It supports selection and filtering fields and values. It's supports pagination as well so we can use threads to get data in bunches concurrently. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.