On 11-Mar-2014, at 7:24 PM, Daan Hoogland <daan.hoogl...@gmail.com> wrote:

> You are saying it must be null and not empty?

[Koushik] Yes.


> 
> 
> On Tue, Mar 11, 2014 at 1:41 PM, Koushik Das <koushik....@citrix.com> wrote:
> 
>>   This is an automatically generated e-mail. To reply, visit:
>> https://reviews.apache.org/r/19022/
>> 
>> On March 11th, 2014, 7:41 a.m. UTC, *daan Hoogland* wrote:
>> 
>>  
>> server/src/com/cloud/api/query/QueryManagerImpl.java<https://reviews.apache.org/r/19022/diff/1/?file=516059#file516059line731>
>>  (Diff
>> revision 1)
>> 
>> public class QueryManagerImpl extends ManagerBase implements QueryService {
>> 
>>   731
>> 
>>        List<Long> ids = null;
>> 
>>  Why not be lenient and consider the id as part of ids?
>> You are being strict on something that isn't hurtful but an empty ids when 
>> no id is given is not checked!
>> 
>> On March 11th, 2014, 8:34 a.m. UTC, *Koushik Das* wrote:
>> 
>> I haven't removed 'id' due to back-compat. As I have mentioned 'id' and 
>> 'ids' are mutually exclusive. Also it is a valid scenario to not pass any of 
>> id or ids.
>> 
>> On March 11th, 2014, 10:56 a.m. UTC, *daan Hoogland* wrote:
>> 
>> ok, I don't see why id and ids should be mutually exclusive, but i don't 
>> mind either. If passing no id at all is a valid scenario then it is allright 
>> to not check but I would still initialize the list and addAll to it. Not an 
>> issue thought!
>> 
>> Thanks for the comment Daan.
>> 
>>>>> I would still initialize the list and addAll to it
>> I don't quite follow what do you mean by addAll to the list. The sql query 
>> that gets generated looks like "where id in (1, 2, 3)" if the list is 
>> non-null. If there is no id specified then the list is null and is not 
>> considered while building the query.
>> 
>> 
>> - Koushik
>> 
>> On March 11th, 2014, 6:29 a.m. UTC, Koushik Das wrote:
>>  Review request for cloudstack, daan Hoogland and Min Chen.
>> By Koushik Das.
>> 
>> *Updated March 11, 2014, 6:29 a.m.*
>> *Bugs: * 
>> CLOUDSTACK-6052<https://issues.apache.org/jira/browse/CLOUDSTACK-6052>
>> *Repository: * cloudstack-git
>> Description
>> 
>> Currently list VM can only be called using a single VM ID. So if there is a 
>> need to query a set of VMs using ID then either multiple list VM calls need 
>> to be made or all VMs needs to be fetched and then do a client side 
>> filtering. Both approaches are sub-optimal - the former results in multiple 
>> queries to database and the latter will be an overkill if you need a small 
>> subset from a very large number of VMs.
>> 
>> The proposal is to have an additional parameter to specify a list of VM IDs 
>> for which the data needs to be fetched. Using this the required VMs can be 
>> queried in an efficient manner. With the new parameter the syntax would look 
>> like 
>> http://localhost:8096/api?command=listVirtualMachines&listAll=true&ids=eddac053-9b12-4d2e-acb7-233de2e98112,009966fc-4d7b-4f84-8609-254979ba0134
>> 
>> The new 'ids' parameter will be mutually exclusive with the existing 'id' 
>> parameter.
>> 
>>  Testing
>> 
>> Added integration test, also verified manually.
>> 
>>  Diffs
>> 
>>   - api/src/org/apache/cloudstack/api/command/user/vm/ListVMsCmd.java
>>   (1a564f6)
>>   - server/src/com/cloud/api/query/QueryManagerImpl.java (4200799)
>>   - test/integration/smoke/test_deploy_vm.py (425aeb7)
>> 
>> View Diff <https://reviews.apache.org/r/19022/diff/>
>> 
> 
> 
> 
> -- 
> Daan

Reply via email to