@Override public List<Long> listNetworkIdsByDomain(long domainId) { List<Long> networkIdsToReturn = new ArrayList<Long>(); List<NetworkDomainVO> maps = listDomainNetworkMapByDomain(domainId); for (NetworkDomainVO map : maps) { networkIdsToReturn.add(map.getNetworkId()); } return networkIdsToReturn; } }
private List<NetworkVO> listDomainSpecificNetworksByDomainPath(SearchCriteria<NetworkVO> sc, Filter searchFilter, String path, boolean isRecursive) { Set<Long> allowedDomains = new HashSet<Long>(); if (path != null) { if (isRecursive) { allowedDomains = _domainMgr.getDomainChildrenIds(path); } else { Domain domain = _domainDao.findDomainByPath(path); allowedDomains.add(domain.getId()); } } List<Long> networkIds = new ArrayList<Long>(); List<NetworkDomainVO> maps = _networkDomainDao.listDomainNetworkMapByDomain(allowedDomains.toArray()); for (NetworkDomainVO map : maps) { networkIds.add(map.getNetworkId()); } if (!networkIds.isEmpty()) { SearchCriteria<NetworkVO> domainSC = _networksDao.createSearchCriteria(); domainSC.addAnd("id", SearchCriteria.Op.IN, networkIds.toArray()); domainSC.addAnd("aclType", SearchCriteria.Op.EQ, ACLType.Domain.toString()); sc.addAnd("id", SearchCriteria.Op.SC, domainSC); return _networksDao.search(sc, searchFilter); } else { return new ArrayList<NetworkVO>(); } }
private List<NetworkVO> listDomainLevelNetworks(SearchCriteria<NetworkVO> sc, Filter searchFilter, long domainId, boolean parentDomainsOnly) { List<Long> networkIds = new ArrayList<Long>(); Set<Long> allowedDomains = _domainMgr.getDomainParentIds(domainId); List<NetworkDomainVO> maps = _networkDomainDao.listDomainNetworkMapByDomain(allowedDomains.toArray()); for (NetworkDomainVO map : maps) { if (map.getDomainId() == domainId && parentDomainsOnly) { continue; } boolean subdomainAccess = (map.isSubdomainAccess() != null) ? map.isSubdomainAccess() : getAllowSubdomainAccessGlobal(); if (map.getDomainId() == domainId || subdomainAccess) { networkIds.add(map.getNetworkId()); } } if (!networkIds.isEmpty()) { SearchCriteria<NetworkVO> domainSC = _networksDao.createSearchCriteria(); domainSC.addAnd("id", SearchCriteria.Op.IN, networkIds.toArray()); domainSC.addAnd("aclType", SearchCriteria.Op.EQ, ACLType.Domain.toString()); sc.addAnd("id", SearchCriteria.Op.SC, domainSC); return _networksDao.search(sc, searchFilter); } else { return new ArrayList<NetworkVO>(); } }
protected NetworkDomainDaoImpl() { super(); AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("domainId", AllFieldsSearch.entity().getDomainId(), Op.EQ); AllFieldsSearch.and("networkId", AllFieldsSearch.entity().getNetworkId(), Op.EQ); AllFieldsSearch.done(); DomainsSearch = createSearchBuilder(); DomainsSearch.and("domainId", DomainsSearch.entity().getDomainId(), Op.IN); DomainsSearch.done(); }