@Override public void persistDefaultL2NetworkOfferings() { checkPersistL2NetworkOffering(NetworkOffering.DefaultL2NetworkOffering, "Offering for L2 networks", false, false); checkPersistL2NetworkOffering(NetworkOffering.DefaultL2NetworkOfferingVlan, "Offering for L2 networks VLAN", true, false); checkPersistL2NetworkOffering(NetworkOffering.DefaultL2NetworkOfferingConfigDrive, "Offering for L2 networks with config drive user data", false, true); checkPersistL2NetworkOffering(NetworkOffering.DefaultL2NetworkOfferingConfigDriveVlan, "Offering for L2 networks with config drive user data VLAN", true, true); } }
@Override public boolean isUsingServicePackage(String uuid) { final SearchCriteria<NetworkOfferingVO> sc = createSearchCriteria(); final Filter searchFilter= new Filter(NetworkOfferingVO.class, "created", false, null, null); sc.addAnd("state", SearchCriteria.Op.EQ, NetworkOffering.State.Enabled); sc.addAnd("servicePackageUuid", SearchCriteria.Op.EQ, uuid); List<NetworkOfferingVO> list = this.search(sc, searchFilter); if(CollectionUtils.isNotEmpty(list)) return true; return false; }
/** * Check for default L2 Network Offerings, create them if they are not already created */ private void checkPersistL2NetworkOffering(String name, String displayText, boolean specifyVlan, boolean configDriveEnabled) { if (findByUniqueName(name) == null) { persistL2DefaultNetworkOffering(name, displayText, specifyVlan, configDriveEnabled); } }
@Override public NetworkOfferingVO persistDefaultNetworkOffering(NetworkOfferingVO offering) { assert offering.getUniqueName() != null : "how are you going to find this later if you don't set it?"; NetworkOfferingVO vo = findByUniqueName(offering.getUniqueName()); if (vo != null) { return vo; } try { vo = persist(offering); return vo; } catch (EntityExistsException e) { // Assume it's conflict on unique name from two different management servers. return findByUniqueName(offering.getName()); } }
@Override @DB public boolean remove(Long networkOfferingId) { TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); NetworkOfferingVO offering = findById(networkOfferingId); offering.setUniqueName(null); update(networkOfferingId, offering); boolean result = super.remove(networkOfferingId); txn.commit(); return result; }
@Override public List<NetworkOfferingVO> listByAvailability(Availability availability, boolean isSystem) { SearchCriteria<NetworkOfferingVO> sc = AvailabilitySearch.create(); sc.setParameters("availability", availability); sc.setParameters("isSystem", isSystem); return listBy(sc, null); }
@Override public NetworkOfferingVO findByUniqueName(String uniqueName) { SearchCriteria<NetworkOfferingVO> sc = NameSearch.create(); sc.setParameters("uniqueName", uniqueName); return findOneBy(sc); }
@Override public List<NetworkOfferingVO> listSystemNetworkOfferings() { SearchCriteria<NetworkOfferingVO> sc = SystemOfferingSearch.create(); sc.setParameters("system", true); return this.listIncludingRemovedBy(sc, null); }
@Override public List<Long> getOfferingIdsToUpgradeFrom(NetworkOffering originalOffering) { SearchCriteria<Long> sc = UpgradeSearch.create(); // exclude original offering sc.addAnd("id", SearchCriteria.Op.NEQ, originalOffering.getId()); // list only non-system offerings sc.addAnd("systemOnly", SearchCriteria.Op.EQ, false); // Type of the network should be the same sc.addAnd("guestType", SearchCriteria.Op.EQ, originalOffering.getGuestType()); // Traffic types should be the same sc.addAnd("trafficType", SearchCriteria.Op.EQ, originalOffering.getTrafficType()); sc.addAnd("state", SearchCriteria.Op.EQ, NetworkOffering.State.Enabled); //specify Vlan should be the same sc.addAnd("specifyVlan", SearchCriteria.Op.EQ, originalOffering.isSpecifyVlan()); return customSearch(sc, null); }
protected NetworkOfferingDaoImpl() { super(); NameSearch = createSearchBuilder(); NameSearch.and("name", NameSearch.entity().getName(), SearchCriteria.Op.EQ); NameSearch.and("uniqueName", NameSearch.entity().getUniqueName(), SearchCriteria.Op.EQ); NameSearch.done(); SystemOfferingSearch = createSearchBuilder(); SystemOfferingSearch.and("system", SystemOfferingSearch.entity().isSystemOnly(), SearchCriteria.Op.EQ); SystemOfferingSearch.done(); AvailabilitySearch = createSearchBuilder(); AvailabilitySearch.and("availability", AvailabilitySearch.entity().getAvailability(), SearchCriteria.Op.EQ); AvailabilitySearch.and("isSystem", AvailabilitySearch.entity().isSystemOnly(), SearchCriteria.Op.EQ); AvailabilitySearch.done(); AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("trafficType", AllFieldsSearch.entity().getTrafficType(), SearchCriteria.Op.EQ); AllFieldsSearch.and("guestType", AllFieldsSearch.entity().getGuestType(), SearchCriteria.Op.EQ); AllFieldsSearch.and("isSystem", AllFieldsSearch.entity().isSystemOnly(), SearchCriteria.Op.EQ); AllFieldsSearch.and("state", AllFieldsSearch.entity().getState(), SearchCriteria.Op.EQ); AllFieldsSearch.done(); UpgradeSearch = createSearchBuilder(Long.class); UpgradeSearch.selectFields(UpgradeSearch.entity().getId()); UpgradeSearch.and("physicalNetworkId", UpgradeSearch.entity().getId(), Op.NEQ); UpgradeSearch.and("physicalNetworkId", UpgradeSearch.entity().isSystemOnly(), Op.EQ); UpgradeSearch.and("trafficType", UpgradeSearch.entity().getTrafficType(), Op.EQ); UpgradeSearch.and("guestType", UpgradeSearch.entity().getGuestType(), Op.EQ); UpgradeSearch.and("state", UpgradeSearch.entity().getState(), Op.EQ); UpgradeSearch.done(); }
@Override public List<NetworkOfferingVO> listByTrafficTypeGuestTypeAndState(NetworkOffering.State state, TrafficType trafficType, Network.GuestType type) { SearchCriteria<NetworkOfferingVO> sc = AllFieldsSearch.create(); sc.setParameters("trafficType", trafficType); sc.setParameters("guestType", type); sc.setParameters("state", state); return listBy(sc, null); }
@Override public List<Long> listNetworkOfferingID() { final SearchCriteria<NetworkOfferingVO> sc_1 = createSearchCriteria(); final Filter searchFilter_1 = new Filter(NetworkOfferingVO.class, "created", false, null, null); sc_1.addAnd("servicePackageUuid", SearchCriteria.Op.NEQ, null); sc_1.addAnd("removed", SearchCriteria.Op.EQ, null); List<NetworkOfferingVO> set_of_servicePackageUuid = this.search(sc_1, searchFilter_1); List<Long> id_set = new ArrayList<Long>(); for (NetworkOfferingVO node : set_of_servicePackageUuid) { if (node.getServicePackage() != null && !node.getServicePackage().isEmpty()) { id_set.add(node.getId()); } } return id_set; }