@Override public List<NetworkVO> listByGuestType(Network.GuestType type) { SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("guestType", type); return listBy(sc, null); }
@Override public List<NetworkVO> listByVpc(final long vpcId) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("vpcId", vpcId); return listBy(sc, null); }
@Override public List<NetworkVO> listByAclId(final long aclId) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("aclId", aclId); return listBy(sc, null); }
@Override public List<NetworkVO> listByPhysicalNetwork(final long physicalNetworkId) { final SearchCriteria<NetworkVO> sc = PhysicalNetworkSearch.create(); sc.setParameters("physicalNetworkId", physicalNetworkId); return listBy(sc); }
@Override public List<NetworkVO> listRedundantNetworks() { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("redundant", true); return listBy(sc, null); }
@Override public List<NetworkVO> listByOwner(final long ownerId) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("account", ownerId); return listBy(sc); }
@Override public List<NetworkVO> listBy(final long accountId, final long networkId) { final SearchCriteria<NetworkVO> sc = AccountNetworkSearch.create(); sc.setParameters("networkId", networkId); sc.setJoinParameters("networkSearch", "accountId", accountId); return listBy(sc); }
@Override public List<NetworkVO> listByPhysicalNetworkTrafficType(final long physicalNetworkId, final TrafficType trafficType) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("trafficType", trafficType); sc.setParameters("physicalNetworkId", physicalNetworkId); return listBy(sc); }
@Override public List<NetworkVO> listSecurityGroupEnabledNetworks() { final SearchCriteria<NetworkVO> sc = SecurityGroupSearch.create(); sc.setJoinParameters("services", "service", Service.SecurityGroup.getName()); return listBy(sc); }
@Override public List<NetworkVO> listByZoneAndTrafficType(final long zoneId, final TrafficType trafficType) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("datacenter", zoneId); sc.setParameters("trafficType", trafficType); return listBy(sc, null); }
@Override public List<NetworkVO> listBy(final long accountId, final long offeringId, final long dataCenterId) { final SearchCriteria<NetworkVO> sc = AccountSearch.create(); sc.setParameters("offering", offeringId); sc.setJoinParameters("accounts", "account", accountId); sc.setParameters("datacenter", dataCenterId); return listBy(sc); }
@Override public List<NetworkVO> listByZoneAndUriAndGuestType(long zoneId, String broadcastUri, GuestType guestType) { final URI searchUri = BroadcastDomainType.fromString(broadcastUri); final String searchRange = BroadcastDomainType.getValue(searchUri); final List<Integer> searchVlans = UriUtils.expandVlanUri(searchRange); final List<NetworkVO> overlappingNetworks = new ArrayList<>(); final SearchCriteria<NetworkVO> sc = ZoneBroadcastUriSearch.create(); sc.setParameters("dataCenterId", zoneId); if (guestType != null) { sc.setParameters("guestType", guestType); } for (final NetworkVO network : listBy(sc)) { if (network.getBroadcastUri() == null || !network.getBroadcastUri().getScheme().equalsIgnoreCase(searchUri.getScheme())) { continue; } final String networkVlanRange = BroadcastDomainType.getValue(network.getBroadcastUri()); if (networkVlanRange == null || networkVlanRange.isEmpty()) { continue; } for (final Integer networkVlan : UriUtils.expandVlanUri(networkVlanRange)) { if (searchVlans.contains(networkVlan)) { overlappingNetworks.add(network); break; } } } return overlappingNetworks; }
@Override public List<NetworkVO> listBy(final long accountId, final long dataCenterId, final String cidr, final boolean skipVpc) { final SearchCriteria<NetworkVO> sc = AccountSearch.create(); sc.setJoinParameters("accounts", "account", accountId); sc.setParameters("datacenter", dataCenterId); sc.setParameters("cidr", cidr); if (skipVpc) { sc.setParameters("vpcId", (Object)null); } return listBy(sc); }
@Override public List<NetworkVO> listBy(final long accountId, final long dataCenterId, final Network.GuestType type, final TrafficType trafficType) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("datacenter", dataCenterId); sc.setParameters("account", accountId); sc.setParameters("guestType", type); sc.setParameters("trafficType", trafficType); return listBy(sc, null); }
@Override public List<NetworkVO> listByZoneAndGuestType(final long accountId, final long dataCenterId, final Network.GuestType type, final Boolean isSystem) { final SearchCriteria<NetworkVO> sc = AllFieldsSearch.create(); sc.setParameters("datacenter", dataCenterId); sc.setParameters("account", accountId); if (type != null) { sc.setParameters("guestType", type); } if (isSystem != null) { sc.setJoinParameters("offerings", "isSystem", isSystem); } return listBy(sc, null); }
@Override public List<NetworkVO> listSourceNATEnabledNetworks(final long accountId, final long dataCenterId, final Network.GuestType type) { final SearchCriteria<NetworkVO> sc = SourceNATSearch.create(); sc.setParameters("datacenter", dataCenterId); sc.setParameters("account", accountId); sc.setParameters("guestType", type); sc.setJoinParameters("services", "service", Service.SourceNat.getName()); return listBy(sc); }
@Override public List<NetworkVO> listVpcNetworks() { final SearchBuilder<NetworkVO> sb = createSearchBuilder(); sb.and("vpcId", sb.entity().getVpcId(), Op.NNULL); sb.done(); final SearchCriteria<NetworkVO> sc = sb.create(); return listBy(sc); }
@Override public List<NetworkVO> listByPhysicalNetworkAndProvider(final long physicalNetworkId, final String providerName) { final SearchBuilder<NetworkServiceMapVO> svcProviderMapSearch = _ntwkSvcMap.createSearchBuilder(); final NetworkServiceMapVO svcProviderEntry = svcProviderMapSearch.entity(); svcProviderMapSearch.and("Provider", svcProviderMapSearch.entity().getProvider(), SearchCriteria.Op.EQ); final SearchBuilder<NetworkVO> networksSearch = createSearchBuilder(); networksSearch.and("physicalNetworkId", networksSearch.entity().getPhysicalNetworkId(), Op.EQ); networksSearch.join("svcProviderMapSearch", svcProviderMapSearch, networksSearch.entity().getId(), svcProviderEntry.getNetworkId(), JoinBuilder.JoinType.INNER); final SearchCriteria<NetworkVO> sc = networksSearch.create(); sc.setJoinParameters("svcProviderMapSearch", "Provider", providerName); sc.setParameters("physicalNetworkId", physicalNetworkId); return listBy(sc); }