From 010858da0dbe5d13a5ba8980284fe0c927ae13f5 Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 1 Jul 2011 16:07:56 -0700 Subject: [PATCH] fixed list featured template --- server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index 537cd06d402..e75437e5ba7 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -314,7 +314,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem ResultSet rs = null; StringBuilder relatedDomainIds = new StringBuilder(); String sql = SELECT_TEMPLATE_ZONE_REF; - + String groupByClause = ""; try { short accountType; String accountId = null; @@ -328,6 +328,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem if (onlyReady){ templateHostRefJoin.append(" INNER JOIN template_host_ref thr on (t.id = thr.template_id) INNER JOIN host h on (thr.host_id = h.id)"); sql = SELECT_TEMPLATE_HOST_REF; + groupByClause = " GROUP BY t.id, h.data_center_id "; } if ((templateFilter == TemplateFilter.featured) || (templateFilter == TemplateFilter.community)) { dataCenterJoin = " INNER JOIN data_center dc on (h.data_center_id = dc.id)"; @@ -418,9 +419,9 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } else if (!whereClause.equals(" WHERE ")) { whereClause += " AND "; } - - sql += whereClause + getExtrasWhere(templateFilter, name, keyword, isIso, bootable, hyperType, zoneId, onlyReady, showDomr, accountType) + getOrderByLimit(pageSize, startIndex); - + + sql += whereClause + getExtrasWhere(templateFilter, name, keyword, isIso, bootable, hyperType, zoneId, onlyReady, showDomr, accountType) + groupByClause + getOrderByLimit(pageSize, startIndex); + pstmt = txn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) {