From 516e944d2c68556005d3d20110febb87513c71e9 Mon Sep 17 00:00:00 2001 From: abhishek Date: Fri, 19 Nov 2010 13:56:19 -0800 Subject: [PATCH] bug 5892: adding the xs-tools.iso to the list resp by implementing a search based on the xs-tools.iso status 5892: resolved fixed --- .../com/cloud/storage/dao/VMTemplateDao.java | 1 + .../cloud/storage/dao/VMTemplateDaoImpl.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/storage/dao/VMTemplateDao.java b/core/src/com/cloud/storage/dao/VMTemplateDao.java index 0f8dca9562c..1ad9510a3cc 100644 --- a/core/src/com/cloud/storage/dao/VMTemplateDao.java +++ b/core/src/com/cloud/storage/dao/VMTemplateDao.java @@ -70,5 +70,6 @@ public interface VMTemplateDao extends GenericDao { public List listAllInZone(long dataCenterId); public List listByHypervisorType(HypervisorType hyperType); + public List xenToolsIsoSearch(); } diff --git a/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index c351f1ff453..ef0b8d5eea0 100755 --- a/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -68,7 +68,8 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem protected SearchBuilder TmpltsInZoneSearch; private SearchBuilder PublicSearch; private SearchBuilder NameAccountIdSearch; - + private SearchBuilder XenToolsIsoSearch; + private String routerTmpltName; private String consoleProxyTmpltName; @@ -103,6 +104,13 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem return findOneBy(sc); } + @Override + public List xenToolsIsoSearch(){ + SearchCriteria sc = XenToolsIsoSearch.create(); + sc.setParameters("name", "xs-tools.iso"); + return listBy(sc); + } + @Override public List listAllRoutingTemplates() { SearchCriteria sc = tmpltTypeSearch.create(); @@ -184,6 +192,8 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem NameAccountIdSearch.and("name", NameAccountIdSearch.entity().getName(), SearchCriteria.Op.EQ); NameAccountIdSearch.and("accountId", NameAccountIdSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + XenToolsIsoSearch = createSearchBuilder(); + XenToolsIsoSearch.and("name", XenToolsIsoSearch.entity().getName(), SearchCriteria.Op.EQ); tmpltTypeHyperSearch = createSearchBuilder(); tmpltTypeHyperSearch.and("templateType", tmpltTypeHyperSearch.entity().getTemplateType(), SearchCriteria.Op.EQ); @@ -287,6 +297,11 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } else { templates.add(tmplt); } + } + + if(isIso && (account.getType() == Account.ACCOUNT_TYPE_NORMAL)){ + List xenToolsIso = xenToolsIsoSearch(); + templates.addAll(xenToolsIso); } } catch (Exception e) { s_logger.warn("Error listing templates", e);