From 738811305bd05d7ff4ca8e73d52bfcfc6aac73ef Mon Sep 17 00:00:00 2001 From: alena Date: Mon, 11 Jul 2011 18:06:39 -0700 Subject: [PATCH] bug 10687: respect "bootable" parameter when listIso status 10687: resolved fixed --- server/src/com/cloud/storage/dao/VMTemplateDao.java | 2 +- server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/storage/dao/VMTemplateDao.java b/server/src/com/cloud/storage/dao/VMTemplateDao.java index d684bd49fa7..0a622d163ac 100644 --- a/server/src/com/cloud/storage/dao/VMTemplateDao.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDao.java @@ -66,7 +66,7 @@ public interface VMTemplateDao extends GenericDao { public List listAllInZone(long dataCenterId); public List listByHypervisorType(HypervisorType hyperType); - public List publicIsoSearch(); + public List publicIsoSearch(Boolean bootable); VMTemplateVO findSystemVMTemplate(long zoneId); VMTemplateVO findSystemVMTemplate(long zoneId, HypervisorType hType); diff --git a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index 03cc2df51db..f475ec2e0a3 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -138,11 +138,15 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } @Override - public List publicIsoSearch(){ + public List publicIsoSearch(Boolean bootable){ SearchCriteria sc = PublicIsoSearch.create(); sc.setParameters("public", 1); sc.setParameters("format", "ISO"); sc.setParameters("type", TemplateType.PERHOST.toString()); + if (bootable != null) { + sc.setParameters("bootable", bootable); + } + return listBy(sc); } @@ -252,6 +256,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem PublicIsoSearch.and("public", PublicIsoSearch.entity().isPublicTemplate(), SearchCriteria.Op.EQ); PublicIsoSearch.and("format", PublicIsoSearch.entity().getFormat(), SearchCriteria.Op.EQ); PublicIsoSearch.and("type", PublicIsoSearch.entity().getTemplateType(), SearchCriteria.Op.EQ); + PublicIsoSearch.and("bootable", PublicIsoSearch.entity().isBootable(), SearchCriteria.Op.EQ); tmpltTypeHyperSearch = createSearchBuilder(); tmpltTypeHyperSearch.and("templateType", tmpltTypeHyperSearch.entity().getTemplateType(), SearchCriteria.Op.EQ); @@ -433,7 +438,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem if(isIso && templateZonePairList.size() < (pageSize != null ? pageSize : 500) && templateFilter != TemplateFilter.community && !(templateFilter == TemplateFilter.self && !BaseCmd.isRootAdmin(account.getType())) ){ //evaluates to true If root admin and filter=self - List publicIsos = publicIsoSearch(); + List publicIsos = publicIsoSearch(bootable); for( int i=0; i < publicIsos.size(); i++){ if (keyword != null && publicIsos.get(i).getName().contains(keyword)) { templateZonePairList.add(new Pair(publicIsos.get(i).getId(), null));