From c6bb325a87dd9826f51da2897057baf5b74545a6 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Fri, 6 Jan 2012 14:38:50 -0800 Subject: [PATCH] bug 12718: optimize listsecuritygroup status 12718: resolved fixed --- .../network/security/SecurityGroupManagerImpl.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java index 2887774a976..f73491cf8a3 100755 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -1054,7 +1054,7 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG Filter searchFilter = new Filter(SecurityGroupVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal()); Object keyword = cmd.getKeyword(); - SearchBuilder sb = _securityGroupDao.createSearchBuilder(); + SearchBuilder sb = _securityGroupRulesDao.createSearchBuilder(); sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ); sb.and("accountId", sb.entity().getAccountId(), SearchCriteria.Op.EQ); sb.and("name", sb.entity().getName(), SearchCriteria.Op.EQ); @@ -1067,7 +1067,7 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG sb.join("domainSearch", domainSearch, sb.entity().getDomainId(), domainSearch.entity().getId(), JoinBuilder.JoinType.INNER); } - SearchCriteria sc = sb.create(); + SearchCriteria sc = sb.create(); if (id != null) { sc.setParameters("id", id); @@ -1094,11 +1094,8 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG sc.addAnd("name", SearchCriteria.Op.SC, ssc); } - List securityGroups = _securityGroupDao.search(sc, searchFilter); - for (SecurityGroupVO group : securityGroups) { - securityRulesList.addAll(_securityGroupRulesDao.listSecurityRulesByGroupId(group.getId())); - } - + securityRulesList = _securityGroupRulesDao.search(sc, searchFilter); + return securityRulesList; }