You are saying it must be null and not empty?

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