It's all about the answers!

Ask a question

Query RTC api server - Argument must be an instance of IAuditableHandle


Emiliano Iannetti (114) | asked May 07 '20, 7:28 a.m.

 RTC 6.0.5, java version 1.7, api server,

java plugin in a Custom Advisor (but it will also be used for an Operation participant).

Hi, I tried to follow the methods to query RTC with the bees server, I think I have seen them all and I have also thrown something down, but unfortunately I always get this error:

Exception checking precondition. An unhandled exception occurred during "Prohibit Save (ASISE)".
Argument must be an instance of IAuditableHandle.
Now do not pay attention to the details but it is a CustomAdvisor that gives the problem as if I had not instantiated something correctly but what ?? Thanks.
I also attach the code, but it is exactly what I found both here and on other posts, I just changed the value of an attribute ...
[Code]
IAuditableCommon audCommon = workItemServer.getAuditableCommon ();
IQueryableAttributeFactory queryAttrFactory = QueryableAttributes.getFactory (IWorkItem.ITEM_TYPE);
// IQueryableAttribute projectareaAttribute = QueryableAttributes.getFactory (IWorkItem.ITEM_TYPE) .findAttribute (projectArea, IWorkItem.PROJECT_AREA_PROPERTY, audCommon, monitor);
IQueryableAttribute projectAreaAttribute = queryAttrFactory.findAttribute (projectArea, IWorkItem.PROJECT_AREA_PROPERTY, audCommon, monitor);
AttributeExpression projectAreaExpression = new AttributeExpression (projectAreaAttribute, AttributeOperation.EQUALS, projectArea);
// TipoWi
// IQueryableAttribute typeAttribute = QueryableAttributes.getFactory (IWorkItem.ITEM_TYPE) .findAttribute (projectArea, IWorkItem.TYPE_PROPERTY, audCommon, monitor);
IQueryableAttribute typeAttribute = queryAttrFactory.findAttribute (projectArea, IWorkItem.TYPE_PROPERTY, audCommon, monitor);
AttributeExpression typeExpression = new AttributeExpression (typeAttribute, AttributeOperation.EQUALS, "com.ibm.team.apt.workItemType.story");

IQueryableAttribute referencingWIAttribute = queryAttrFactory.findAttribute (projectArea, IWorkItem.TARGET_PROPERTY, audCommon, monitor);
AttributeExpression referencingWIExpression = new AttributeExpression (referencingWIAttribute, AttributeOperation.EQUALS, valueAttribute);

Term term = new Term (Term.Operator.AND);
term.add (projectAreaExpression);
term.add (typeExpression);
term.add (referencingWIExpression);

System.out.println ( "****");
System.out.println ("Attribute:" + typeExpression.toString ());
System.out.println ("Wi:" + referencingWIExpression.toString ());
System.out.println ("term:" + term.toString ());
IQueryResult <IResolvedResult <IWorkItem>> queryResult = queryCommon.getResolvedExpressionResults (projectArea, term, IWorkItem.FULL_PROFILE);
int resultSize = queryResult.getResultSize (monitor) .getTotal ();
[/ Code]

One answer



permanent link
Emiliano Iannetti (114) | answered May 07 '20, 8:11 a.m.

 Hi, I answer immediately because I have not found the solution but I have found the answer.

The problem is the plannedFor attribute, obviously I use it badly and therefore gave that error. Putting a custom attribute created by me (which is nothing more than a string populated by a js with the same value as PlannedFor) works, thanks.

Your answer


Register or to post 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.