You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2013/07/21 00:17:01 UTC

git commit: updated refs/heads/4.2 to 2bbf63b

Updated Branches:
  refs/heads/4.2 a2ba2358d -> 2bbf63bc7


CLOUDSTACK-3513: ListIsos/ListTemplates does not return correct results
when id and zoneid are passed.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2bbf63bc
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2bbf63bc
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2bbf63bc

Branch: refs/heads/4.2
Commit: 2bbf63bc7a0c8ad567483d89566a62838b1d20d6
Parents: a2ba235
Author: Min Chen <mi...@citrix.com>
Authored: Sat Jul 20 15:15:52 2013 -0700
Committer: Min Chen <mi...@citrix.com>
Committed: Sat Jul 20 15:16:49 2013 -0700

----------------------------------------------------------------------
 .../com/cloud/api/query/QueryManagerImpl.java   | 24 +++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2bbf63bc/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 462a276..efd2023 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -2875,17 +2875,6 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
                 sc.addAnd("state", SearchCriteria.Op.SC, readySc);
             }
 
-            if (zoneId != null) {
-                SearchCriteria<TemplateJoinVO> zoneSc = _templateJoinDao.createSearchCriteria();
-                zoneSc.addOr("dataCenterId", SearchCriteria.Op.EQ, zoneId);
-                zoneSc.addOr("dataStoreScope", SearchCriteria.Op.EQ, ScopeType.REGION);
-                // handle the case where xs-tools.iso and vmware-tools.iso do not have data_center information in template_view
-                SearchCriteria<TemplateJoinVO> isoPerhostSc = _templateJoinDao.createSearchCriteria();
-                isoPerhostSc.addAnd("format", SearchCriteria.Op.EQ, ImageFormat.ISO);
-                isoPerhostSc.addAnd("templateType", SearchCriteria.Op.EQ, TemplateType.PERHOST);
-                zoneSc.addOr("templateType", SearchCriteria.Op.SC, isoPerhostSc);
-                sc.addAnd("dataCenterId", SearchCriteria.Op.SC, zoneSc);
-            }
 
             if (!showDomr) {
                 // excluding system template
@@ -2893,6 +2882,19 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
             }
         }
 
+        if (zoneId != null) {
+            SearchCriteria<TemplateJoinVO> zoneSc = _templateJoinDao.createSearchCriteria();
+            zoneSc.addOr("dataCenterId", SearchCriteria.Op.EQ, zoneId);
+            zoneSc.addOr("dataStoreScope", SearchCriteria.Op.EQ, ScopeType.REGION);
+            // handle the case where xs-tools.iso and vmware-tools.iso do not
+            // have data_center information in template_view
+            SearchCriteria<TemplateJoinVO> isoPerhostSc = _templateJoinDao.createSearchCriteria();
+            isoPerhostSc.addAnd("format", SearchCriteria.Op.EQ, ImageFormat.ISO);
+            isoPerhostSc.addAnd("templateType", SearchCriteria.Op.EQ, TemplateType.PERHOST);
+            zoneSc.addOr("templateType", SearchCriteria.Op.SC, isoPerhostSc);
+            sc.addAnd("dataCenterId", SearchCriteria.Op.SC, zoneSc);
+        }
+
         // don't return removed template, this should not be needed since we
         // changed annotation for removed field in TemplateJoinVO.
         // sc.addAnd("removed", SearchCriteria.Op.NULL);