From 9ae3dffee4459aa4471599d039a6336d24ae27b0 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Wed, 9 Nov 2011 09:37:28 -0800 Subject: [PATCH] bug 11924: don't return ISO entries where removed != null status 11924: resolved fixed reviewed by: Will Chan Conflicts: server/src/com/cloud/storage/dao/VMTemplateDao.java server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java --- server/src/com/cloud/storage/dao/VMTemplateDao.java | 2 +- .../src/com/cloud/storage/dao/VMTemplateDaoImpl.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/storage/dao/VMTemplateDao.java b/server/src/com/cloud/storage/dao/VMTemplateDao.java index 699789496db..d3327adb75e 100644 --- a/server/src/com/cloud/storage/dao/VMTemplateDao.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDao.java @@ -68,7 +68,7 @@ public interface VMTemplateDao extends GenericDao { public List listAllInZone(long dataCenterId); public List listByHypervisorType(List hyperTypes); - public List publicIsoSearch(Boolean bootable); + public List publicIsoSearch(Boolean bootable, boolean listRemoved); 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 ab2d0da790a..ffabe1c6fd4 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -136,7 +136,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } @Override - public List publicIsoSearch(Boolean bootable){ + public List publicIsoSearch(Boolean bootable, boolean listRemoved){ SearchCriteria sc = PublicIsoSearch.create(); sc.setParameters("public", 1); sc.setParameters("format", "ISO"); @@ -145,6 +145,10 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem sc.setParameters("bootable", bootable); } + if (!listRemoved) { + sc.setParameters("removed", (Object)null); + } + return listBy(sc); } @@ -256,6 +260,8 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem 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); + PublicIsoSearch.and("removed", PublicIsoSearch.entity().getRemoved(), SearchCriteria.Op.EQ); + tmpltTypeHyperSearch = createSearchBuilder(); tmpltTypeHyperSearch.and("templateType", tmpltTypeHyperSearch.entity().getTemplateType(), SearchCriteria.Op.EQ); @@ -575,7 +581,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem if(isIso && templateZonePairList.size() < (pageSize != null ? pageSize : 500) && templateFilter != TemplateFilter.community && !(templateFilter == TemplateFilter.self && !BaseCmd.isRootAdmin(caller.getType())) ){ //evaluates to true If root admin and filter=self - List publicIsos = publicIsoSearch(bootable); + List publicIsos = publicIsoSearch(bootable, false); 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));