@Override @DB() public T acquireInLockTable(ID id) { return acquireInLockTable(id, _timeoutSeconds); }
@Override @DB() public List<T> search(final SearchCriteria<T> sc, final Filter filter) { return search(sc, filter, null, false); }
@DB() protected StringBuilder createDistinctSelect(SearchCriteria<?> sc, final boolean whereClause, String[] distinctColumns) { final SqlGenerator generator = new SqlGenerator(_entityBeanType); String distinctSql = generator.buildDistinctSql(distinctColumns); StringBuilder sql = new StringBuilder(distinctSql); if (!whereClause) { sql.delete(sql.length() - (_discriminatorClause == null ? 6 : 4), sql.length()); } return sql; } }
@Override @DB public void joinJob(long jobId, long joinJobId) { _joinMapDao.joinJob(jobId, joinJobId, getMsid(), 0, 0, null, null, null); }
@DB() public int update(final T entity, final SearchCriteria<T> sc, Integer rows) { final UpdateBuilder ub = getUpdateBuilder(entity); return update(ub, sc, rows); }
@DB protected boolean noDbTxn() { final TransactionLegacy txn = TransactionLegacy.currentTxn(); return !txn.dbTxnStarted(); }
@Override @DB public List<String> getSourceCidrs(long firewallRuleId) { SearchCriteria<FirewallRulesCidrsVO> sc = CidrsSearch.create(); sc.setParameters("firewallRuleId", firewallRuleId); List<FirewallRulesCidrsVO> results = search(sc, null); List<String> cidrs = new ArrayList<String>(results.size()); for (FirewallRulesCidrsVO result : results) { cidrs.add(result.getCidr()); } return cidrs; }
@Override @DB public List<String> getDestCidrs(long firewallRuleId){ SearchCriteria<FirewallRulesDestCidrsVO> sc =cidrsSearch.create(); sc.setParameters("firewallRuleId", firewallRuleId); List<FirewallRulesDestCidrsVO> results = search(sc, null); List<String> cidrs = new ArrayList<String>(results.size()); for (FirewallRulesDestCidrsVO result : results) { cidrs.add(result.getCidr()); } return cidrs; }
@Override @DB() public T findOneBy(final SearchCriteria<T> sc) { if (_removed != null) { sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL); } return findOneIncludingRemovedBy(sc); }
@Override @DB() public boolean update(ID id, T entity) { assert Enhancer.isEnhanced(entity.getClass()) : "Entity is not generated by this dao"; UpdateBuilder ub = getUpdateBuilder(entity); boolean result = update(id, ub, entity) != 0; return result; }
@Override @DB() public Pair<Long, Long> getCountAndTotalByPool(long poolId) { SearchCriteria<SumCount> sc = TotalSizeByPoolSearch.create(); sc.setParameters("poolId", poolId); List<SumCount> results = customSearch(sc, null); SumCount sumCount = results.get(0); return new Pair<Long, Long>(sumCount.count, sumCount.sum); }
@Override @DB() public T findById(final ID id, boolean fresh) { if (!fresh) { return findById(id); } if (_cache != null) { _cache.remove(id); } return lockRow(id, null); }
@DB() @Override public List<NicExtraDhcpOptionVO> listByNicId(long nicId) { SearchCriteria<NicExtraDhcpOptionVO> sc = AllFieldsSearch.create(); sc.setParameters("nic_id", nicId); return listBy(sc); }
@Override @DB() public Pair<Long, Long> getNonDestroyedCountAndTotalByPool(long poolId) { SearchCriteria<SumCount> sc = TotalSizeByPoolSearch.create(); sc.setParameters("poolId", poolId); sc.setParameters("state", State.Destroy); List<SumCount> results = customSearch(sc, null); SumCount sumCount = results.get(0); return new Pair<Long, Long>(sumCount.count, sumCount.sum); }
@Override @DB public void persistNetworkServiceProviders(final long networkId, final Map<String, String> serviceProviderMap) { final TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); for (final String service : serviceProviderMap.keySet()) { final NetworkServiceMapVO serviceMap = new NetworkServiceMapVO(networkId, Service.getService(service), Provider.getProvider(serviceProviderMap.get(service))); _ntwkSvcMap.persist(serviceMap); } txn.commit(); }
@DB private void revokeRule(final NetworkACLItemVO rule) { if (rule.getState() == State.Staged) { if (s_logger.isDebugEnabled()) { s_logger.debug("Found a rule that is still in stage state so just removing it: " + rule); } _networkACLItemDao.remove(rule.getId()); } else if (rule.getState() == State.Add || rule.getState() == State.Active) { rule.setState(State.Revoke); _networkACLItemDao.update(rule.getId(), rule); } }
@Override @DB public IPAddressVO markAsUnavailable(long ipAddressId) { SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create(); sc.setParameters("id", ipAddressId); IPAddressVO ip = createForUpdate(); ip.setState(State.Releasing); if (update(ip, sc) != 1) { return null; } return findOneBy(sc); }
@Override @DB public VMReservationVO persist(VMReservationVO reservation) { TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); VMReservationVO dbVO = super.persist(reservation); saveVolumeReservation(reservation); loadVolumeReservation(dbVO); txn.commit(); return dbVO; }
@Override @DB public void logJobJournal(long jobId, AsyncJob.JournalType journalType, String journalText, String journalObjJson) { AsyncJobJournalVO journal = new AsyncJobJournalVO(); journal.setJobId(jobId); journal.setJournalType(journalType); journal.setJournalText(journalText); journal.setJournalObjJsonString(journalObjJson); _journalDao.persist(journal); }
@Override @DB public boolean remove(Long vpcOffId) { TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); VpcOfferingVO offering = findById(vpcOffId); offering.setUniqueName(null); update(vpcOffId, offering); boolean result = super.remove(vpcOffId); txn.commit(); return result; }