protected NetworkOpDaoImpl() { super(); ActiveNicsSearch = createSearchBuilder(Integer.class); ActiveNicsSearch.selectFields(ActiveNicsSearch.entity().getActiveNicsCount()); ActiveNicsSearch.and("network", ActiveNicsSearch.entity().getId(), Op.EQ); ActiveNicsSearch.done(); AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("network", AllFieldsSearch.entity().getId(), Op.EQ); AllFieldsSearch.done(); _activeNicsAttribute = _allAttributes.get("activeNicsCount"); assert _activeNicsAttribute != null : "Cannot find activeNicsCount"; }
@Override public void setCheckForGc(long networkId) { NetworkOpVO vo = createForUpdate(); vo.setCheckForGc(true); update(networkId, vo); }
GarbageCollectedSearch.selectFields(GarbageCollectedSearch.entity().getId()); final SearchBuilder<NetworkOpVO> join7 = _ntwkOpDao.createSearchBuilder(); join7.and("activenics", join7.entity().getActiveNicsCount(), Op.EQ); join7.and("gc", join7.entity().isGarbageCollected(), Op.EQ); join7.and("check", join7.entity().isCheckForGc(), Op.EQ); GarbageCollectedSearch.join("ntwkOpGC", join7, GarbageCollectedSearch.entity().getId(), join7.entity().getId(), JoinBuilder.JoinType.INNER); final SearchBuilder<NetworkOfferingVO> join8 = _ntwkOffDao.createSearchBuilder(); join8.and("isPersistent", join8.entity().isPersistent(), Op.EQ);
@Override @DB public NetworkVO persist(final NetworkVO network, final boolean gc, final Map<String, String> serviceProviderMap) { final TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); // 1) create network final NetworkVO newNetwork = super.persist(network); // 2) add account to the network addAccountToNetwork(network.getId(), network.getAccountId(), true); // 3) add network to gc monitor table final NetworkOpVO op = new NetworkOpVO(network.getId(), gc); _opDao.persist(op); // 4) add services/providers for the network persistNetworkServiceProviders(newNetwork.getId(), serviceProviderMap); txn.commit(); return newNetwork; }
@Override public void clearCheckForGc(long networkId) { NetworkOpVO vo = createForUpdate(); vo.setCheckForGc(false); update(networkId, vo); } }