It's all about the answers!

Ask a question

MissingConstraint:RequireBundle:com.ibm.team.workitem.client


Kruttika Pendharkar (2174) | asked Nov 16 '11, 9:35 a.m.
Hi,

When trying to deploy an advisor plugin on server,
I am getting following error:

org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Require-Bundle: com.ibm.team.workitem.client;

Can anybody please tell me how to fix this?

5 answers



permanent link
sam detweiler (12.5k6188201) | answered Nov 16 '11, 9:37 a.m.
that is an eclipse client side plugin.. you can't use it from the server side, its not installed.

Sam

permanent link
Kruttika Pendharkar (2174) | answered Nov 16 '11, 9:59 a.m.
that is an eclipse client side plugin.. you can't use it from the server side, its not installed.

Sam

when do we use workitem.client plugin?
I want to set value for a custom attribute of current workitem,
I am new to extending RTC, I found few snippets which were using
IAttribute custom = workItemClient.findAttribute(projectarea,

"BU", null);
to get the value of attribute.
So I thought of going with that.
Is there any other way to get/set value for custom attribute?
If not, how can I use that client plugin?
I had one plain Java project using that client plugin. It was working fine.
Is it like when we are creating a server plugin we can't use client plugins?

permanent link
sam detweiler (12.5k6188201) | answered Nov 16 '11, 12:19 p.m.
well, there are client side functions (run in eclipse on some users workstation) and there are server side functions (run inside the server)

the RTC code is packaged as three different applications

general server
a web supporting application, where most of the work is done in a web application on the server, this talks TO the server

and an eclipse client plugin.. that uses apis to talk TO the server.
(and there is also a MS Developer Studio IDE plugin too that talks TO the server. )

you wouldn't want to load ALL the class files in ALL the platforms.. its a waste of resources.. (memory, disk, swapping)..

but this means that developers have to understand the environment that are in.

this particular level of knowledge is weak on the RTC side currently (IMHO).. the new 3.0.1.1 javadoc will help some. learning an OO oriented platform is a little tougher than straight client/server..(at least in my experience, who spent months debugging a hang caused by a side effect of a local variable object which was never used, but whose default constructor did all the damage)..

Sam

permanent link
Kruttika Pendharkar (2174) | answered Nov 18 '11, 4:26 a.m.
Well, I can understand..
By now i have understood completely that we can't use any invalid/client bundles while deploying a plugin to server.
Well I am trying to use all available services and achieve few things.
Currently working on setting custom enumeration attribute value.
Can you suggest something?
Thanks.

permanent link
sam detweiler (12.5k6188201) | answered Nov 18 '11, 9:08 a.m.
In an Advisor, you should be able to get the handle and then the full workitem object.

from the workitem object you can get the list of all the custom attributes,
List<IAttributeHandle> getCustomAttributes();

and their values..
Object getValue(IAttribute attribute);

and u can set their values as well..
void setValue(IAttribute attribute, Object value);

note that an enumeration inside RTC is a list of OBJECTS, not string values.
Looks like there are 'Identifier' objects. (each value in the enum list)
com.ibm.team.workitem.common.model.Identifier

just out, download the 3.0.1.1 javadoc..
my full OperationAdvisor is in this topic https://jazz.net/forums/viewtopic.php?t=19872

Sam

Your answer


Register or to post your answer.