Hi all,
My name is Ken Leung, one of the Eclipse team new interns from the Red Hat Toronto office
working on a Mylyn Builds Koji connector project. So I will be relying heavily on
Apache's Java XmlRpc API as well as the Koji hub web service.
Right now, I am running into a problem with how to query Koji builds by a user_id or
task_id. According to the signature of the web method:
listBuilds(packageID=None, userID=None, taskID=None, prefix=None, state=None,
createdBefore=None, createdAfter=None, completeBefore=None, completeAfter=None, type=None,
typeInfo=None, queryOpts=None)
The web method takes multiple parameter lists and can have default parameter values -
which are not native to the Java language.
I tried the following to query builds of user ID 2, who has about 360 builds pushed to the
target :
ArrayList<Object> params = new ArrayList<Object>();
params.add(new ArrayList<Integer>().add(null));
params.add(2);
xmlrpcClient.execute("listBuilds", params);//the Xml Rpc client was referenced
by xmlrpcClient
While I expected a list of 360 hash maps (360 builds), I only received 1 hash map with a
package_id of 1. I also tried to pass other user_ids which are known to have builds
pushed to the target Koji instance, but the web service returned nothing.
I also tried to query Koji by task_id # 8 with the following code:
ArrayList<Object> params = new ArrayList<Object>();
params.add(new ArrayList<Integer>().add(null));
params.add(new ArrayList<Integer>().add(null));
params.add(8);
xmlrpcClient.execute("listBuilds", params);//the Xml Rpc client was referenced
by xmlrpcClient
But unfortunately, the web service also returned nothing while there are more than 3000
tasks pushed onto the server.
So I would be most grateful for your advice on how to form the parameter list properly
with Apache XmlRpc. Thank you very much!
Best regards,
Ken Leung