On 07/20/2011 04:14 PM, Kiu Leung wrote:
> 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
> listBuilds(packageID=None, userID=None, taskID=None, prefix=None,
> state=None, createdBefore=None, createdAfter=None,
> completeBefore=None, completeAfter=None, type=None, typeInfo=None,
> The web method takes multiple parameter lists and can have default
> parameter values - which are not native to the Java language.
Koji encodes named parameters by appending an extra dictionary arg
containing a key/value pair of "__starstar"/True. Koji's ClientSession
class handles this for you, but it should be pretty easy to implement in
Of course, you can always pass args by order as you have here. I don't
use Java much, so I'm not sure why it isn't working for you. However, I
do wonder about your use of: new ArrayList<Integer>().add(null). I would
have expected simply null.
Python's xmlrpclib supports a verbose option that outputs the raw xmlrpc
data for each call. If the Java lib has a similar feature, it might be
helpful to look at that.
Short of that, if you have access to the hub, you could crank up
debugging and see what args the hub is actually receiving.
 e.g. in hub.conf: LogLevel = xmlrpc
> 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.
buildsys mailing list