From 1cf735c537e3cc31d36ff8d4161c1376ad22c7cf Mon Sep 17 00:00:00 2001 From: alena Date: Mon, 14 Mar 2011 13:45:11 -0700 Subject: [PATCH] bug 8968: use search criteria when list security group by id status 8968: resolved fixed --- .../security/SecurityGroupManagerImpl.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java index f61f9e65884..62dbe76ac64 100644 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -1144,19 +1144,11 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG } List securityRulesList = new ArrayList(); - - if(id != null){ - SecurityGroupRulesVO secGrp = _securityGroupRulesDao.findById(id); - if(secGrp != null) { - securityRulesList.add(secGrp); - } - return securityRulesList; - } - Filter searchFilter = new Filter(SecurityGroupVO.class, "id", true, cmd.getStartIndex(), cmd.getPageSizeVal()); Object keyword = cmd.getKeyword(); SearchBuilder sb = _securityGroupDao.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); sb.and("domainId", sb.entity().getDomainId(), SearchCriteria.Op.EQ); @@ -1169,6 +1161,11 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG } SearchCriteria sc = sb.create(); + + if (id != null) { + sc.setParameters("id", id); + } + if (accountId != null) { sc.setParameters("accountId", accountId); if (securityGroup != null) { @@ -1187,7 +1184,7 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG sc.setParameters("domainId", domainId); } } - + List securityGroups = _securityGroupDao.search(sc, searchFilter); for (SecurityGroupVO group : securityGroups) { securityRulesList.addAll(_securityGroupRulesDao.listSecurityRulesByGroupId(group.getId()));