From 38df62865d905aeac49fac7c32b66c7099036867 Mon Sep 17 00:00:00 2001 From: Ryan Dietrich Date: Fri, 12 Apr 2013 14:00:41 +0100 Subject: [PATCH] CLOUDSTACK-1989: Without this fix you can't query service offerings that don't have a domain id set (null). Tested via: Called "listServiceOfferings" using a simple perl script, once with an ID, and once without an ID specified. Signed-off-by: Chip Childers --- server/src/com/cloud/api/query/QueryManagerImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index a498c183af5..ea58427b3c8 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -2119,7 +2119,11 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { domainRecord = _domainDao.findById(domainRecord.getParent()); domainIds.add(domainRecord.getId()); } - sc.addAnd("domainId", SearchCriteria.Op.IN, domainIds.toArray()); + SearchCriteria spc = _srvOfferingJoinDao.createSearchCriteria(); + + spc.addOr("domainId", SearchCriteria.Op.IN, domainIds.toArray()); + spc.addOr("domainId", SearchCriteria.Op.NULL); + sc.addAnd("domainId", SearchCriteria.Op.SC, spc); // include also public offering if no keyword, name and id specified if ( keyword == null && name == null && id == null ){