From dec110408f0b5fefe03e4fa8f51696de2cccd7c3 Mon Sep 17 00:00:00 2001 From: Kris McQueen Date: Wed, 13 Oct 2010 14:09:05 -0700 Subject: [PATCH] Bug 6543: fix searching to include keyword and all other search criteria rather than just keyword whenever keyword is passed to the API. This prevents filtering of domainId when domain admins are searching for resources (VMs, volumes, events, alerts, etc.). Status 6543: resolved fixed --- .../cloud/api/commands/ListAccountsCmd.java | 15 ++++------ .../com/cloud/api/commands/ListAlertsCmd.java | 4 +-- .../com/cloud/api/commands/ListCfgsByCmd.java | 9 ++---- .../api/commands/ListDiskOfferingsCmd.java | 11 +++----- .../api/commands/ListDomainChildrenCmd.java | 15 ++++------ .../cloud/api/commands/ListDomainsCmd.java | 11 +++----- .../com/cloud/api/commands/ListEventsCmd.java | 19 ++++++------- .../commands/ListLoadBalancerRulesCmd.java | 17 +++++------ .../com/cloud/api/commands/ListPodsByCmd.java | 11 +++----- .../ListPortForwardingServicesByVmCmd.java | 7 ++--- .../ListPortForwardingServicesCmd.java | 13 ++++----- .../commands/ListPublicIpAddressesCmd.java | 17 +++++------ .../cloud/api/commands/ListRoutersCmd.java | 17 +++++------ .../api/commands/ListServiceOfferingsCmd.java | 9 ++---- .../api/commands/ListStoragePoolsCmd.java | 15 ++++------ .../cloud/api/commands/ListSystemVMsCmd.java | 17 +++++------ .../com/cloud/api/commands/ListUsersCmd.java | 20 ++++++------- .../com/cloud/api/commands/ListVMsCmd.java | 28 ++++++++----------- .../api/commands/ListVlanIpRangesCmd.java | 21 ++++++-------- .../cloud/api/commands/ListVolumesCmd.java | 23 +++++++-------- .../cloud/server/ManagementServerImpl.java | 1 - 21 files changed, 119 insertions(+), 181 deletions(-) diff --git a/server/src/com/cloud/api/commands/ListAccountsCmd.java b/server/src/com/cloud/api/commands/ListAccountsCmd.java index 209ade4494b..d384be4100c 100644 --- a/server/src/com/cloud/api/commands/ListAccountsCmd.java +++ b/server/src/com/cloud/api/commands/ListAccountsCmd.java @@ -109,15 +109,12 @@ public class ListAccountsCmd extends BaseCmd{ Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); if (isAdmin == true) { c.addCriteria(Criteria.ID, id); - if (keyword == null) { - c.addCriteria(Criteria.ACCOUNTNAME, accountName); - c.addCriteria(Criteria.DOMAINID, domainId); - c.addCriteria(Criteria.TYPE, type); - c.addCriteria(Criteria.STATE, state); - c.addCriteria(Criteria.ISCLEANUPREQUIRED, needCleanup); - } else { - c.addCriteria(Criteria.KEYWORD, keyword); - } + c.addCriteria(Criteria.ACCOUNTNAME, accountName); + c.addCriteria(Criteria.DOMAINID, domainId); + c.addCriteria(Criteria.TYPE, type); + c.addCriteria(Criteria.STATE, state); + c.addCriteria(Criteria.ISCLEANUPREQUIRED, needCleanup); + c.addCriteria(Criteria.KEYWORD, keyword); } else { c.addCriteria(Criteria.ID, accountId); } diff --git a/server/src/com/cloud/api/commands/ListAlertsCmd.java b/server/src/com/cloud/api/commands/ListAlertsCmd.java index f20ef270cd6..4654a1f764a 100644 --- a/server/src/com/cloud/api/commands/ListAlertsCmd.java +++ b/server/src/com/cloud/api/commands/ListAlertsCmd.java @@ -73,9 +73,7 @@ public class ListAlertsCmd extends BaseCmd{ Criteria c = new Criteria ("lastSent", Boolean.FALSE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.KEYWORD, keyword); - - if (keyword == null) - c.addCriteria(Criteria.TYPE, alertType); + c.addCriteria(Criteria.TYPE, alertType); List alerts = getManagementServer().searchForAlerts(c); diff --git a/server/src/com/cloud/api/commands/ListCfgsByCmd.java b/server/src/com/cloud/api/commands/ListCfgsByCmd.java index ae27b6e92f9..7780ed85119 100644 --- a/server/src/com/cloud/api/commands/ListCfgsByCmd.java +++ b/server/src/com/cloud/api/commands/ListCfgsByCmd.java @@ -72,12 +72,9 @@ public class ListCfgsByCmd extends BaseCmd { } Criteria c = new Criteria ("name", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.CATEGORY, category); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.CATEGORY, category); List configs = getManagementServer().searchForConfigurations(c, false); diff --git a/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java b/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java index ecab9c4ba2d..4e01bfde306 100644 --- a/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java +++ b/server/src/com/cloud/api/commands/ListDiskOfferingsCmd.java @@ -76,13 +76,10 @@ public class ListDiskOfferingsCmd extends BaseCmd { } Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - }else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.DOMAINID, domainId); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.DOMAINID, domainId); List offerings = getManagementServer().searchForDiskOfferings(c); diff --git a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java index fddc1e88647..1063176db74 100644 --- a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java +++ b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java @@ -95,16 +95,11 @@ public class ListDomainChildrenCmd extends BaseCmd { c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); else c = new Criteria("id", Boolean.TRUE, null, null); - - - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } - else { - c.addCriteria(Criteria.ID, domainId); - c.addCriteria(Criteria.NAME, domainName); - c.addCriteria(Criteria.ISRECURSIVE, isRecursive); - } + + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, domainId); + c.addCriteria(Criteria.NAME, domainName); + c.addCriteria(Criteria.ISRECURSIVE, isRecursive); // TODO : Recursive listing is not supported yet List domains = getManagementServer().searchForDomainChildren(c); diff --git a/server/src/com/cloud/api/commands/ListDomainsCmd.java b/server/src/com/cloud/api/commands/ListDomainsCmd.java index 69b281cff4a..7559e47b5bf 100644 --- a/server/src/com/cloud/api/commands/ListDomainsCmd.java +++ b/server/src/com/cloud/api/commands/ListDomainsCmd.java @@ -93,13 +93,10 @@ public class ListDomainsCmd extends BaseCmd { else c = new Criteria("id", Boolean.TRUE, null, null); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, domainId); - c.addCriteria(Criteria.NAME, domainName); - c.addCriteria(Criteria.LEVEL, level); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, domainId); + c.addCriteria(Criteria.NAME, domainName); + c.addCriteria(Criteria.LEVEL, level); List domains = getManagementServer().searchForDomains(c); diff --git a/server/src/com/cloud/api/commands/ListEventsCmd.java b/server/src/com/cloud/api/commands/ListEventsCmd.java index 7cefef97c4a..4f377cf0838 100644 --- a/server/src/com/cloud/api/commands/ListEventsCmd.java +++ b/server/src/com/cloud/api/commands/ListEventsCmd.java @@ -122,17 +122,14 @@ public class ListEventsCmd extends BaseCmd { } Criteria c = new Criteria("createDate", Boolean.FALSE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.ACCOUNTID, accountIds); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - if (isAdmin) { - c.addCriteria(Criteria.DOMAINID, domainId); - } - c.addCriteria(Criteria.TYPE, eventType); - c.addCriteria(Criteria.LEVEL, eventLevel); - c.addCriteria(Criteria.STARTDATE, startDate); - c.addCriteria(Criteria.ENDDATE, endDate); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.TYPE, eventType); + c.addCriteria(Criteria.LEVEL, eventLevel); + c.addCriteria(Criteria.STARTDATE, startDate); + c.addCriteria(Criteria.ENDDATE, endDate); + if (isAdmin) { + c.addCriteria(Criteria.DOMAINID, domainId); + } List events; diff --git a/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java b/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java index 499ec7060ee..30ee3353742 100644 --- a/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java +++ b/server/src/com/cloud/api/commands/ListLoadBalancerRulesCmd.java @@ -124,16 +124,13 @@ public class ListLoadBalancerRulesCmd extends BaseCmd { Criteria c = new Criteria("ipAddress", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.ACCOUNTID, accountId); - if (keyword == null) { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.INSTANCEID, vmId); - c.addCriteria(Criteria.IPADDRESS, publicIp); - if (isAdmin) { - c.addCriteria(Criteria.DOMAINID, domainId); - } - } else { - c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.INSTANCEID, vmId); + c.addCriteria(Criteria.IPADDRESS, publicIp); + c.addCriteria(Criteria.KEYWORD, keyword); + if (isAdmin) { + c.addCriteria(Criteria.DOMAINID, domainId); } // FIXME: this should be constrained by domain to search for all load balancers in a domain if an admin is searching diff --git a/server/src/com/cloud/api/commands/ListPodsByCmd.java b/server/src/com/cloud/api/commands/ListPodsByCmd.java index 2abcfd7906c..84045c63e37 100644 --- a/server/src/com/cloud/api/commands/ListPodsByCmd.java +++ b/server/src/com/cloud/api/commands/ListPodsByCmd.java @@ -60,13 +60,10 @@ public class ListPodsByCmd extends BaseCmd { Criteria c = new Criteria(); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.DATACENTERID, zoneId); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.DATACENTERID, zoneId); List pods = getManagementServer().searchForPods(c); diff --git a/server/src/com/cloud/api/commands/ListPortForwardingServicesByVmCmd.java b/server/src/com/cloud/api/commands/ListPortForwardingServicesByVmCmd.java index 0ea3d835cea..ccfd007a3b1 100644 --- a/server/src/com/cloud/api/commands/ListPortForwardingServicesByVmCmd.java +++ b/server/src/com/cloud/api/commands/ListPortForwardingServicesByVmCmd.java @@ -95,11 +95,8 @@ public class ListPortForwardingServicesByVmCmd extends BaseCmd { Criteria c = new Criteria("id", Boolean.TRUE, null, null); c.addCriteria(Criteria.INSTANCEID, vmId); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ADDRESS, ipAddress); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ADDRESS, ipAddress); Map> groups = getManagementServer().searchForSecurityGroupsByVM(c); diff --git a/server/src/com/cloud/api/commands/ListPortForwardingServicesCmd.java b/server/src/com/cloud/api/commands/ListPortForwardingServicesCmd.java index 931a51a9942..5a73bcb8f1f 100644 --- a/server/src/com/cloud/api/commands/ListPortForwardingServicesCmd.java +++ b/server/src/com/cloud/api/commands/ListPortForwardingServicesCmd.java @@ -107,14 +107,11 @@ public class ListPortForwardingServicesCmd extends BaseCmd { Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.ACCOUNTID, accountId); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - if (isAdmin) { - c.addCriteria(Criteria.DOMAINID, domainId); - } - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); + if (isAdmin) { + c.addCriteria(Criteria.DOMAINID, domainId); } List groups = getManagementServer().searchForSecurityGroups(c); diff --git a/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java b/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java index 99c310d6048..b3ab68ab5f1 100644 --- a/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java +++ b/server/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java @@ -130,16 +130,13 @@ public class ListPublicIpAddressesCmd extends BaseCmd { c.addCriteria(Criteria.ISALLOCATED, allocatedOnly.booleanValue()); } - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - if (isAdmin) { - c.addCriteria(Criteria.DOMAINID, domainId); - c.addCriteria(Criteria.VLAN, vlanDbId); - } - c.addCriteria(Criteria.FOR_VIRTUAL_NETWORK, forVirtualNetwork); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.IPADDRESS, ip); + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.FOR_VIRTUAL_NETWORK, forVirtualNetwork); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.IPADDRESS, ip); + if (isAdmin) { + c.addCriteria(Criteria.DOMAINID, domainId); + c.addCriteria(Criteria.VLAN, vlanDbId); } List result = getManagementServer().searchForIPAddresses(c); diff --git a/server/src/com/cloud/api/commands/ListRoutersCmd.java b/server/src/com/cloud/api/commands/ListRoutersCmd.java index 1a184f4dba9..09b0f0ca60a 100644 --- a/server/src/com/cloud/api/commands/ListRoutersCmd.java +++ b/server/src/com/cloud/api/commands/ListRoutersCmd.java @@ -113,16 +113,13 @@ public class ListRoutersCmd extends BaseCmd { Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.ACCOUNTID, accountIds); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.DOMAINID, domainId); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.PODID, podId); - c.addCriteria(Criteria.HOSTID, hostId); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.STATE, state); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.DOMAINID, domainId); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.PODID, podId); + c.addCriteria(Criteria.HOSTID, hostId); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.STATE, state); List routers = getManagementServer().searchForRouters(c); diff --git a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java index 82eab52ad97..f1ef7a221a0 100644 --- a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java +++ b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java @@ -78,12 +78,9 @@ public class ListServiceOfferingsCmd extends BaseCmd { } } Criteria c = new Criteria("created", Boolean.FALSE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); //If vmId is present in the list of parameters, verify it if (vmId != null) { diff --git a/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java b/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java index ff1a044247e..a69e564d411 100644 --- a/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java +++ b/server/src/com/cloud/api/commands/ListStoragePoolsCmd.java @@ -84,15 +84,12 @@ public class ListStoragePoolsCmd extends BaseCmd{ } } Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.PODID, podId); - c.addCriteria(Criteria.ADDRESS, ipAddress); - c.addCriteria(Criteria.PATH, path); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.PODID, podId); + c.addCriteria(Criteria.ADDRESS, ipAddress); + c.addCriteria(Criteria.PATH, path); List pools = getManagementServer().searchForStoragePools(c); diff --git a/server/src/com/cloud/api/commands/ListSystemVMsCmd.java b/server/src/com/cloud/api/commands/ListSystemVMsCmd.java index 6f79d056824..6e89a7035e1 100644 --- a/server/src/com/cloud/api/commands/ListSystemVMsCmd.java +++ b/server/src/com/cloud/api/commands/ListSystemVMsCmd.java @@ -84,16 +84,13 @@ public class ListSystemVMsCmd extends BaseCmd { } Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.PODID, podId); - c.addCriteria(Criteria.HOSTID, hostId); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.STATE, state); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.PODID, podId); + c.addCriteria(Criteria.HOSTID, hostId); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.STATE, state); List proxies = getManagementServer().searchForConsoleProxy(c); List ssVms = getManagementServer().searchForSecondaryStorageVm(c); diff --git a/server/src/com/cloud/api/commands/ListUsersCmd.java b/server/src/com/cloud/api/commands/ListUsersCmd.java index 559b3831712..5fbaf8b0e9b 100644 --- a/server/src/com/cloud/api/commands/ListUsersCmd.java +++ b/server/src/com/cloud/api/commands/ListUsersCmd.java @@ -91,18 +91,16 @@ public class ListUsersCmd extends BaseCmd { startIndex = Long.valueOf(pageSizeNum * (pageNum-1)); } } + Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } - else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.ACCOUNTNAME, accountName); - c.addCriteria(Criteria.DOMAINID, domainId); - c.addCriteria(Criteria.USERNAME, userName); - c.addCriteria(Criteria.TYPE, type); - c.addCriteria(Criteria.STATE, state); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.ACCOUNTNAME, accountName); + c.addCriteria(Criteria.DOMAINID, domainId); + c.addCriteria(Criteria.USERNAME, userName); + c.addCriteria(Criteria.TYPE, type); + c.addCriteria(Criteria.STATE, state); + List users = getManagementServer().searchForUsers(c); List> userTags = new ArrayList>(); diff --git a/server/src/com/cloud/api/commands/ListVMsCmd.java b/server/src/com/cloud/api/commands/ListVMsCmd.java index e90b066819b..3cb8299e5e7 100644 --- a/server/src/com/cloud/api/commands/ListVMsCmd.java +++ b/server/src/com/cloud/api/commands/ListVMsCmd.java @@ -130,24 +130,20 @@ public class ListVMsCmd extends BaseCmd { } Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.NAME, name); - c.addCriteria(Criteria.STATE, state); - c.addCriteria(Criteria.DATACENTERID, zoneId); - - // ignore these search requests if it's not an admin - if (isAdmin == true) { - c.addCriteria(Criteria.DOMAINID, domainId); - c.addCriteria(Criteria.PODID, podId); - c.addCriteria(Criteria.HOSTID, hostId); - } - } - c.addCriteria(Criteria.ACCOUNTID, accountIds); c.addCriteria(Criteria.ISADMIN, isAdmin); + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.NAME, name); + c.addCriteria(Criteria.STATE, state); + c.addCriteria(Criteria.DATACENTERID, zoneId); + + // ignore these search requests if it's not an admin + if (isAdmin == true) { + c.addCriteria(Criteria.DOMAINID, domainId); + c.addCriteria(Criteria.PODID, podId); + c.addCriteria(Criteria.HOSTID, hostId); + } List virtualMachines = getManagementServer().searchForUserVMs(c); diff --git a/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java b/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java index 69b6dc311d8..5e50421003e 100644 --- a/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java +++ b/server/src/com/cloud/api/commands/ListVlanIpRangesCmd.java @@ -97,19 +97,16 @@ public class ListVlanIpRangesCmd extends BaseCmd { accountId = account.getId(); } } - + Criteria c = new Criteria("id", Boolean.TRUE, startIndex, Long.valueOf(pageSizeNum)); - - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.VLAN, vlanId); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.ACCOUNTID, accountId); - c.addCriteria(Criteria.PODID, podId); - } - + + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.VLAN, vlanId); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.ACCOUNTID, accountId); + c.addCriteria(Criteria.PODID, podId); + List vlans = getManagementServer().searchForVlans(c); if (vlans == null) { diff --git a/server/src/com/cloud/api/commands/ListVolumesCmd.java b/server/src/com/cloud/api/commands/ListVolumesCmd.java index 403654ef300..cc3e885dec6 100644 --- a/server/src/com/cloud/api/commands/ListVolumesCmd.java +++ b/server/src/com/cloud/api/commands/ListVolumesCmd.java @@ -123,19 +123,16 @@ public class ListVolumesCmd extends BaseCmd{ Criteria c = new Criteria("created", Boolean.FALSE, startIndex, Long.valueOf(pageSizeNum)); c.addCriteria(Criteria.ACCOUNTID, accountIds); - if (keyword != null) { - c.addCriteria(Criteria.KEYWORD, keyword); - } else { - c.addCriteria(Criteria.ID, id); - c.addCriteria(Criteria.INSTANCEID, vmId); - c.addCriteria(Criteria.NAME, name); - if (isAdmin) { - c.addCriteria(Criteria.VTYPE, type); - c.addCriteria(Criteria.DATACENTERID, zoneId); - c.addCriteria(Criteria.PODID, podId); - c.addCriteria(Criteria.HOSTID, hostId); - c.addCriteria(Criteria.DOMAINID, domainId); - } + c.addCriteria(Criteria.KEYWORD, keyword); + c.addCriteria(Criteria.ID, id); + c.addCriteria(Criteria.INSTANCEID, vmId); + c.addCriteria(Criteria.NAME, name); + if (isAdmin) { + c.addCriteria(Criteria.VTYPE, type); + c.addCriteria(Criteria.DATACENTERID, zoneId); + c.addCriteria(Criteria.PODID, podId); + c.addCriteria(Criteria.HOSTID, hostId); + c.addCriteria(Criteria.DOMAINID, domainId); } List volumes = getManagementServer().searchForVolumes(c); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 877189b21ba..2da4f1d34a7 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -5496,7 +5496,6 @@ public class ManagementServerImpl implements ManagementServer { if (keyword != null) { SearchCriteria ssc = _volumeDao.createSearchCriteria(); ssc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%"); - ssc.addOr("nameLabel", SearchCriteria.Op.LIKE, "%" + keyword + "%"); ssc.addOr("volumeType", SearchCriteria.Op.LIKE, "%" + keyword + "%"); sc.addAnd("name", SearchCriteria.Op.SC, ssc);