diff --git a/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java b/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java index 0229776ba6b..21ad29b6883 100644 --- a/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java +++ b/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java @@ -75,10 +75,6 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering @Column(name = "deployment_planner") private String deploymentPlanner = null; - @Transient - @Column(name = "domain_id") - Long domainId; - // This is a delayed load value. If the value is null, // then this field has not been loaded yet. // Call service offering dao to load it. @@ -199,7 +195,7 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering @Override public Long getDomainId() { // TODO: get rid of me - return domainId; + return null; } @Override diff --git a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDao.java b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDao.java index aae61a12094..74728f826ce 100644 --- a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDao.java +++ b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDao.java @@ -36,12 +36,6 @@ public interface ServiceOfferingDao extends GenericDao ServiceOfferingVO persistSystemServiceOffering(ServiceOfferingVO vo); - List findPublicServiceOfferings(); - - List findServiceOfferingByDomainId(Long domainId); - - List findSystemOffering(Long domainId, Boolean isSystem, String vmType); - ServiceOfferingVO persistDeafultServiceOffering(ServiceOfferingVO offering); void loadDetails(ServiceOfferingVO serviceOffering); diff --git a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java index 81ecc677e6f..96b0c350a74 100644 --- a/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/service/dao/ServiceOfferingDaoImpl.java @@ -50,10 +50,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase UniqueNameSearch; - protected final SearchBuilder ServiceOfferingsByDomainIdSearch; - protected final SearchBuilder SystemServiceOffering; protected final SearchBuilder ServiceOfferingsByKeywordSearch; - protected final SearchBuilder PublicServiceOfferingSearch; public ServiceOfferingDaoImpl() { super(); @@ -63,23 +60,6 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase findServiceOfferingByDomainId(Long domainId) { - SearchCriteria sc = ServiceOfferingsByDomainIdSearch.create(); - sc.setParameters("domainId", domainId); - return listBy(sc); - } - - @Override - public List findSystemOffering(Long domainId, Boolean isSystem, String vmType) { - SearchCriteria sc = SystemServiceOffering.create(); - sc.setParameters("domainId", domainId); - sc.setParameters("system", isSystem); - sc.setParameters("vm_type", vmType); - return listBy(sc); - } - - @Override - public List findPublicServiceOfferings() { - SearchCriteria sc = PublicServiceOfferingSearch.create(); - sc.setParameters("system", false); - return listBy(sc); - } - @Override @DB public ServiceOfferingVO persistDeafultServiceOffering(ServiceOfferingVO offering) { diff --git a/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDao.java b/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDao.java index 0a348f55ae8..89e2c832836 100644 --- a/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDao.java +++ b/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDao.java @@ -22,7 +22,6 @@ import com.cloud.storage.DiskOfferingVO; import com.cloud.utils.db.GenericDao; public interface DiskOfferingDao extends GenericDao { - List listByDomainId(long domainId); List findPrivateDiskOffering(); diff --git a/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDaoImpl.java b/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDaoImpl.java index fdfdcc07ad6..15da1be9ec1 100644 --- a/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/storage/dao/DiskOfferingDaoImpl.java @@ -66,11 +66,6 @@ public class DiskOfferingDaoImpl extends GenericDaoBase im _typeAttr = _allAttributes.get("type"); } - @Override - public List listByDomainId(long domainId) { - return filterOfferingsForDomain(listAll(), domainId); - } - @Override public List findPrivateDiskOffering() { SearchCriteria sc = PrivateDiskOfferingSearch.create(); diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql b/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql index aae6365cbe5..6090494ba7c 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41200to41300.sql @@ -52,11 +52,11 @@ CREATE VIEW `cloud`.`disk_offering_view` AS disk_offering.type, disk_offering.display_offering, disk_offering.state, - GROUP_CONCAT(domain_details.value) AS domain_id, + GROUP_CONCAT(domain.id) AS domain_id, GROUP_CONCAT(domain.uuid) AS domain_uuid, GROUP_CONCAT(domain.name) AS domain_name, GROUP_CONCAT(domain.path) AS domain_path, - GROUP_CONCAT(zone_details.value) AS zone_id, + GROUP_CONCAT(zone.id) AS zone_id, GROUP_CONCAT(zone.uuid) AS zone_uuid, GROUP_CONCAT(zone.name) AS zone_name from diff --git a/framework/db/src/main/java/com/cloud/utils/db/SearchCriteria.java b/framework/db/src/main/java/com/cloud/utils/db/SearchCriteria.java index b7f8a93b2c8..2afdef54644 100644 --- a/framework/db/src/main/java/com/cloud/utils/db/SearchCriteria.java +++ b/framework/db/src/main/java/com/cloud/utils/db/SearchCriteria.java @@ -57,7 +57,7 @@ public class SearchCriteria { } public enum Func { - NATIVE("@", 1), MAX("MAX(@)", 1), MIN("MIN(@)", 1), FIRST("FIRST(@)", 1), LAST("LAST(@)", 1), SUM("SUM(@)", 1), COUNT("COUNT(@)", 1), DISTINCT("DISTINCT(@)", 1); + NATIVE("@", 1), MAX("MAX(@)", 1), MIN("MIN(@)", 1), FIRST("FIRST(@)", 1), LAST("LAST(@)", 1), SUM("SUM(@)", 1), COUNT("COUNT(@)", 1), DISTINCT("DISTINCT(@)", 1), FIND_IN_SET("FIND_IN_SET(@, @)", 2); private String func; private int count; diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java index 8f33a183ad5..de1cfe9af20 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java @@ -75,10 +75,6 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering @Column(name = "deployment_planner") private String deploymentPlanner = null; - @Transient - @Column(name = "domain_id") - Long domainId; - @Transient Map details = new HashMap(); @@ -292,6 +288,6 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering @Override public Long getDomainId() { // TODO: get rid of me - return domainId; + return null; } } diff --git a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/ManagementServerMock.java b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/ManagementServerMock.java index db06c88cff4..64a036a2c62 100644 --- a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/ManagementServerMock.java +++ b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/ManagementServerMock.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertNotNull; import java.lang.reflect.Field; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -307,7 +308,7 @@ public class ManagementServerMock { } private ServiceOffering getServiceByName(String name) { - List service_list = _serviceOfferingDao.findPublicServiceOfferings(); + List service_list = Collections.emptyList(); for (ServiceOfferingVO service : service_list) { if (service.getName().equals(name)) { return service; diff --git a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDao.java b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDao.java index 3d8247e3f04..639cb5c7083 100644 --- a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDao.java +++ b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDao.java @@ -16,6 +16,8 @@ // under the License. package com.cloud.api.query.dao; +import java.util.List; + import org.apache.cloudstack.api.response.DiskOfferingResponse; import com.cloud.api.query.vo.DiskOfferingJoinVO; @@ -24,6 +26,8 @@ import com.cloud.utils.db.GenericDao; public interface DiskOfferingJoinDao extends GenericDao { + List findByDomainId(long domainId); + DiskOfferingResponse newDiskOfferingResponse(DiskOfferingJoinVO dof); DiskOfferingJoinVO newDiskOfferingView(DiskOffering dof); diff --git a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java index 9b6f44c7496..0dca5dbde68 100644 --- a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java @@ -18,12 +18,10 @@ package com.cloud.api.query.dao; import java.util.List; - +import org.apache.cloudstack.api.response.DiskOfferingResponse; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.api.response.DiskOfferingResponse; - import com.cloud.api.query.vo.DiskOfferingJoinVO; import com.cloud.offering.DiskOffering; import com.cloud.offering.ServiceOffering; @@ -50,6 +48,15 @@ public class DiskOfferingJoinDaoImpl extends GenericDaoBase findByDomainId(long domainId) { + SearchBuilder DiskOfferingsByDomainIdSearch = createSearchBuilder(); + DiskOfferingsByDomainIdSearch.select("domainId", SearchCriteria.Func.FIND_IN_SET, DiskOfferingsByDomainIdSearch.entity().getDomainId(), String.valueOf(domainId)); + DiskOfferingsByDomainIdSearch.done(); + + return listBy(DiskOfferingsByDomainIdSearch.create()); + } + @Override public DiskOfferingResponse newDiskOfferingResponse(DiskOfferingJoinVO offering) { diff --git a/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDao.java b/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDao.java index a797125a18d..94cc943a812 100644 --- a/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDao.java +++ b/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDao.java @@ -16,6 +16,8 @@ // under the License. package com.cloud.api.query.dao; +import java.util.List; + import org.apache.cloudstack.api.response.ServiceOfferingResponse; import com.cloud.api.query.vo.ServiceOfferingJoinVO; @@ -24,6 +26,8 @@ import com.cloud.utils.db.GenericDao; public interface ServiceOfferingJoinDao extends GenericDao { + List findByDomainId(long domainId); + ServiceOfferingResponse newServiceOfferingResponse(ServiceOfferingJoinVO offering); ServiceOfferingJoinVO newServiceOfferingView(ServiceOffering offering); diff --git a/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java index 3e4c830fef1..ac24972d48e 100644 --- a/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java @@ -18,12 +18,10 @@ package com.cloud.api.query.dao; import java.util.List; - +import org.apache.cloudstack.api.response.ServiceOfferingResponse; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; -import org.apache.cloudstack.api.response.ServiceOfferingResponse; - import com.cloud.api.ApiDBUtils; import com.cloud.api.query.vo.ServiceOfferingJoinVO; import com.cloud.offering.ServiceOffering; @@ -47,6 +45,15 @@ public class ServiceOfferingJoinDaoImpl extends GenericDaoBase findByDomainId(long domainId) { + SearchBuilder ServiceOfferingsByDomainIdSearch = createSearchBuilder(); + ServiceOfferingsByDomainIdSearch.select("domainId", SearchCriteria.Func.FIND_IN_SET, ServiceOfferingsByDomainIdSearch.entity().getDomainId(), String.valueOf(domainId)); + ServiceOfferingsByDomainIdSearch.done(); + + return listBy(ServiceOfferingsByDomainIdSearch.create()); + } + @Override public ServiceOfferingResponse newServiceOfferingResponse(ServiceOfferingJoinVO offering) { diff --git a/server/src/main/java/com/cloud/api/query/vo/ServiceOfferingJoinVO.java b/server/src/main/java/com/cloud/api/query/vo/ServiceOfferingJoinVO.java index c29c17d3ef8..fa16308029e 100644 --- a/server/src/main/java/com/cloud/api/query/vo/ServiceOfferingJoinVO.java +++ b/server/src/main/java/com/cloud/api/query/vo/ServiceOfferingJoinVO.java @@ -149,7 +149,7 @@ public class ServiceOfferingJoinVO extends BaseViewVO implements InternalIdentit private Date removed; @Column(name = "domain_id") - private long domainId; + private String domainId; @Column(name = "domain_uuid") private String domainUuid; @@ -217,7 +217,7 @@ public class ServiceOfferingJoinVO extends BaseViewVO implements InternalIdentit return removed; } - public long getDomainId() { + public String getDomainId() { return domainId; } diff --git a/server/src/main/java/com/cloud/user/DomainManagerImpl.java b/server/src/main/java/com/cloud/user/DomainManagerImpl.java index 60c48fa574e..c9f734b66b9 100644 --- a/server/src/main/java/com/cloud/user/DomainManagerImpl.java +++ b/server/src/main/java/com/cloud/user/DomainManagerImpl.java @@ -16,6 +16,7 @@ // under the License. package com.cloud.user; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -23,6 +24,7 @@ import java.util.UUID; import javax.inject.Inject; +import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.command.admin.domain.ListDomainChildrenCmd; import org.apache.cloudstack.api.command.admin.domain.ListDomainsCmd; import org.apache.cloudstack.api.command.admin.domain.UpdateDomainCmd; @@ -31,11 +33,16 @@ import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationSe import org.apache.cloudstack.framework.messagebus.MessageBus; import org.apache.cloudstack.framework.messagebus.PublishScope; import org.apache.cloudstack.region.RegionManager; +import org.apache.cloudstack.resourcedetail.dao.DiskOfferingDetailsDao; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.BooleanUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; +import com.cloud.api.query.dao.DiskOfferingJoinDao; +import com.cloud.api.query.dao.ServiceOfferingJoinDao; +import com.cloud.api.query.vo.DiskOfferingJoinVO; +import com.cloud.api.query.vo.ServiceOfferingJoinVO; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.ResourceLimit; @@ -56,10 +63,7 @@ import com.cloud.network.dao.NetworkDomainDao; import com.cloud.projects.ProjectManager; import com.cloud.projects.ProjectVO; import com.cloud.projects.dao.ProjectDao; -import com.cloud.service.ServiceOfferingVO; -import com.cloud.service.dao.ServiceOfferingDao; -import com.cloud.storage.DiskOfferingVO; -import com.cloud.storage.dao.DiskOfferingDao; +import com.cloud.service.dao.ServiceOfferingDetailsDao; import com.cloud.user.dao.AccountDao; import com.cloud.utils.Pair; import com.cloud.utils.component.ManagerBase; @@ -91,9 +95,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom @Inject private AccountDao _accountDao; @Inject - private DiskOfferingDao _diskOfferingDao; + private DiskOfferingJoinDao diskOfferingJoinDao; @Inject - private ServiceOfferingDao _offeringsDao; + private DiskOfferingDetailsDao diskOfferingDetailsDao; + @Inject + private ServiceOfferingJoinDao serviceOfferingJoinDao; + @Inject + private ServiceOfferingDetailsDao serviceOfferingDetailsDao; @Inject private ProjectDao _projectDao; @Inject @@ -434,15 +442,37 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom } protected void cleanupDomainOfferings(Long domainId) { - // delete the service and disk offerings associated with this domain - List diskOfferingsForThisDomain = _diskOfferingDao.listByDomainId(domainId); - for (DiskOfferingVO diskOffering : diskOfferingsForThisDomain) { - _diskOfferingDao.remove(diskOffering.getId()); + if (domainId == null) { + return; } - List serviceOfferingsForThisDomain = _offeringsDao.findServiceOfferingByDomainId(domainId); - for (ServiceOfferingVO serviceOffering : serviceOfferingsForThisDomain) { - _offeringsDao.remove(serviceOffering.getId()); + List diskOfferingsDetailsToRemove = new ArrayList<>(); + List serviceOfferingsDetailsToRemove = new ArrayList<>(); + + // delete the service and disk offerings associated with this domain + List diskOfferingsForThisDomain = diskOfferingJoinDao.findByDomainId(domainId); + for (DiskOfferingJoinVO diskOffering : diskOfferingsForThisDomain) { + if (String.valueOf(domainId).equals(diskOffering.getDomainId())) { + diskOfferingJoinDao.remove(diskOffering.getId()); + } else { + diskOfferingsDetailsToRemove.add(diskOffering.getId()); + } + } + List serviceOfferingsForThisDomain = serviceOfferingJoinDao.findByDomainId(domainId); + for (ServiceOfferingJoinVO serviceOffering : serviceOfferingsForThisDomain) { + if (String.valueOf(domainId).equals(serviceOffering.getDomainId())) { + serviceOfferingJoinDao.remove(serviceOffering.getId()); + } else { + serviceOfferingsDetailsToRemove.add(serviceOffering.getId()); + } + } + + // Remove domain IDs for offerings which may be multi-domain + for (final Long diskOfferingId : diskOfferingsDetailsToRemove) { + diskOfferingDetailsDao.removeDetail(diskOfferingId, ApiConstants.DOMAIN_ID); + } + for (final Long serviceOfferingId : serviceOfferingsDetailsToRemove) { + serviceOfferingDetailsDao.removeDetail(serviceOfferingId, ApiConstants.DOMAIN_ID); } } diff --git a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java index 03ab340a2dc..dfd1e48618e 100644 --- a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java +++ b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java @@ -18,6 +18,7 @@ package com.cloud.user; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -37,6 +38,8 @@ import org.mockito.Mockito; import org.mockito.Spy; import org.mockito.runners.MockitoJUnitRunner; +import com.cloud.api.query.dao.DiskOfferingJoinDao; +import com.cloud.api.query.dao.ServiceOfferingJoinDao; import com.cloud.configuration.ConfigurationManager; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.dao.ResourceCountDao; @@ -51,10 +54,6 @@ import com.cloud.exception.PermissionDeniedException; import com.cloud.network.dao.NetworkDomainDao; import com.cloud.projects.ProjectManager; import com.cloud.projects.dao.ProjectDao; -import com.cloud.service.ServiceOfferingVO; -import com.cloud.service.dao.ServiceOfferingDao; -import com.cloud.storage.DiskOfferingVO; -import com.cloud.storage.dao.DiskOfferingDao; import com.cloud.user.dao.AccountDao; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GlobalLock; @@ -72,9 +71,9 @@ public class DomainManagerImplTest { @Mock AccountDao _accountDao; @Mock - DiskOfferingDao _diskOfferingDao; + DiskOfferingJoinDao _diskOfferingDao; @Mock - ServiceOfferingDao _offeringsDao; + ServiceOfferingJoinDao _offeringsDao; @Mock ProjectDao _projectDao; @Mock @@ -253,8 +252,8 @@ public class DomainManagerImplTest { Mockito.when(_dedicatedDao.listByDomainId(Mockito.anyLong())).thenReturn(new ArrayList()); Mockito.when(_domainDao.remove(Mockito.anyLong())).thenReturn(true); Mockito.when(_configMgr.releaseDomainSpecificVirtualRanges(Mockito.anyLong())).thenReturn(true); - Mockito.when(_diskOfferingDao.listByDomainId(Mockito.anyLong())).thenReturn(new ArrayList()); - Mockito.when(_offeringsDao.findServiceOfferingByDomainId(Mockito.anyLong())).thenReturn(new ArrayList()); + Mockito.when(_diskOfferingDao.findByDomainId(Mockito.anyLong())).thenReturn(Collections.emptyList()); + Mockito.when(_offeringsDao.findByDomainId(Mockito.anyLong())).thenReturn(Collections.emptyList()); try { Assert.assertTrue(domainManager.deleteDomain(20l, false)); @@ -286,8 +285,8 @@ public class DomainManagerImplTest { Mockito.when(_resourceCountDao.removeEntriesByOwner(Mockito.anyLong(), Mockito.eq(ResourceOwnerType.Domain))).thenReturn(1l); Mockito.when(_resourceLimitDao.removeEntriesByOwner(Mockito.anyLong(), Mockito.eq(ResourceOwnerType.Domain))).thenReturn(1l); Mockito.when(_configMgr.releaseDomainSpecificVirtualRanges(Mockito.anyLong())).thenReturn(true); - Mockito.when(_diskOfferingDao.listByDomainId(Mockito.anyLong())).thenReturn(new ArrayList()); - Mockito.when(_offeringsDao.findServiceOfferingByDomainId(Mockito.anyLong())).thenReturn(new ArrayList()); + Mockito.when(_diskOfferingDao.findByDomainId(Mockito.anyLong())).thenReturn(Collections.emptyList()); + Mockito.when(_offeringsDao.findByDomainId(Mockito.anyLong())).thenReturn(Collections.emptyList()); try { Assert.assertTrue(domainManager.deleteDomain(20l, true));