@Override public QuotaBalanceVO saveQuotaBalance(final QuotaBalanceVO qb) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaBalanceVO>() { @Override public QuotaBalanceVO doInTransaction(final TransactionStatus status) { return persist(qb); } }); }
@Override public List<QuotaAccountVO> listAllQuotaAccount() { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaAccountVO>>() { @Override public List<QuotaAccountVO> doInTransaction(final TransactionStatus status) { return listAll(); } }); }
@Override public QuotaAccountVO persistQuotaAccount(final QuotaAccountVO entity) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaAccountVO>() { @Override public QuotaAccountVO doInTransaction(final TransactionStatus status) { return persist(entity); } }); }
public static <T> T execute(final short databaseId, final TransactionCallback<T> callback) { return execute(databaseId, new TransactionCallbackWithException<T, RuntimeException>() { @Override public T doInTransaction(TransactionStatus status) throws RuntimeException { return callback.doInTransaction(status); } }); }
@Override public QuotaAccountVO findByIdQuotaAccount(final Long id) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaAccountVO>() { @Override public QuotaAccountVO doInTransaction(final TransactionStatus status) { return findById(id); } }); }
@Override public boolean updateQuotaAccount(final Long id, final QuotaAccountVO entity) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() { @Override public Boolean doInTransaction(final TransactionStatus status) { return update(id, entity); } }); }
@Override public List<QuotaTariffVO> listAllTariffPlans() { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaTariffVO>>() { @Override public List<QuotaTariffVO> doInTransaction(final TransactionStatus status) { return listAll(); } }); }
@Override public QuotaUsageVO persistQuotaUsage(final QuotaUsageVO quotaUsage) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaUsageVO>() { @Override public QuotaUsageVO doInTransaction(final TransactionStatus status) { return persist(quotaUsage); } }); }
@Override public Boolean updateQuotaTariff(final QuotaTariffVO plan) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() { @Override public Boolean doInTransaction(final TransactionStatus status) { return update(plan.getId(), plan); } }); }
public static <T> T execute(final TransactionCallback<T> callback) { return execute(new TransactionCallbackWithException<T, RuntimeException>() { @Override public T doInTransaction(TransactionStatus status) throws RuntimeException { return callback.doInTransaction(status); } }); }
public UsageVO persistUsage(final UsageVO usage) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<UsageVO>() { @Override public UsageVO doInTransaction(final TransactionStatus status) { return persist(usage); } }); }
@Override public boolean updateQuotaEmailTemplate(final QuotaEmailTemplatesVO template) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<Boolean>() { @Override public Boolean doInTransaction(final TransactionStatus status) { return update(template.getId(), template); } }); } }
@Override public List<QuotaEmailTemplatesVO> listAllQuotaEmailTemplates(final String templateName) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<List<QuotaEmailTemplatesVO>>() { @Override public List<QuotaEmailTemplatesVO> doInTransaction(final TransactionStatus status) { SearchCriteria<QuotaEmailTemplatesVO> sc = QuotaEmailTemplateSearch.create(); if (!Strings.isNullOrEmpty(templateName)) { sc.setParameters("template_name", templateName); } return listBy(sc); } }); }
@Override public QuotaCreditsVO saveCredits(final QuotaCreditsVO credits) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaCreditsVO>() { @Override public QuotaCreditsVO doInTransaction(final TransactionStatus status) { persist(credits); // make an entry in the balance table QuotaBalanceVO bal = new QuotaBalanceVO(credits); _quotaBalanceDao.persist(bal); return credits; } }); } }
@Override public void resetVmPowerStateTracking(final long instanceId) { Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) { VMInstanceVO instance = findById(instanceId); if (instance != null) { instance.setPowerStateUpdateCount(0); instance.setPowerStateUpdateTime(DateUtil.currentGMTTime()); update(instanceId, instance); } } }); }
private boolean removeVmSecondaryIpsOfNic(final long nicId) { Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(final TransactionStatus status) { final List<NicSecondaryIpVO> ipList = _nicSecondaryIpDao.listByNicId(nicId); if (ipList != null) { for (final NicSecondaryIpVO ip : ipList) { _nicSecondaryIpDao.remove(ip.getId()); } s_logger.debug("Revoving nic secondary ip entry ..."); } } }); return true; }
private void executeExpireOwnershipSql(final String sql, final long resource) { Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) { TransactionLegacy txn = TransactionLegacy.currentTxn(); try (final PreparedStatement pstmt = txn.prepareAutoCloseStatement(sql);) { pstmt.setLong(1, resource); pstmt.executeUpdate(); } catch (SQLException e) { txn.rollback(); LOG.warn("Failed to expire ownership for out-of-band management server id: " + resource); } } }); }
@Override public QuotaUsageVO findLastQuotaUsageEntry(final Long accountId, final Long domainId, final Date beforeThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaUsageVO>() { @Override public QuotaUsageVO doInTransaction(final TransactionStatus status) { List<QuotaUsageVO> quotaUsageEntries = new ArrayList<>(); Filter filter = new Filter(QuotaUsageVO.class, "startDate", false, 0L, 1L); QueryBuilder<QuotaUsageVO> qb = QueryBuilder.create(QuotaUsageVO.class); qb.and(qb.entity().getAccountId(), SearchCriteria.Op.EQ, accountId); qb.and(qb.entity().getDomainId(), SearchCriteria.Op.EQ, domainId); qb.and(qb.entity().getStartDate(), SearchCriteria.Op.LT, beforeThis); quotaUsageEntries = search(qb.create(), filter); return !quotaUsageEntries.isEmpty() ? quotaUsageEntries.get(0) : null; } }); }
@Override public void expireServerOwnership(final long serverId) { Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) { TransactionLegacy txn = TransactionLegacy.currentTxn(); try (final PreparedStatement pstmt = txn.prepareAutoCloseStatement(EXPIRE_OWNERSHIP);) { pstmt.setLong(1, serverId); pstmt.executeUpdate(); } catch (SQLException e) { txn.rollback(); LOG.warn("Failed to expire HA ownership of management server id: " + serverId); } } }); } }
@Override public QuotaBalanceVO findLaterBalanceEntry(final Long accountId, final Long domainId, final Date afterThis) { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<QuotaBalanceVO>() { @Override public QuotaBalanceVO doInTransaction(final TransactionStatus status) { List<QuotaBalanceVO> quotaBalanceEntries = new ArrayList<>(); Filter filter = new Filter(QuotaBalanceVO.class, "updatedOn", true, 0L, 1L); QueryBuilder<QuotaBalanceVO> qb = QueryBuilder.create(QuotaBalanceVO.class); qb.and(qb.entity().getAccountId(), SearchCriteria.Op.EQ, accountId); qb.and(qb.entity().getDomainId(), SearchCriteria.Op.EQ, domainId); qb.and(qb.entity().getCreditsId(), SearchCriteria.Op.EQ, 0); qb.and(qb.entity().getUpdatedOn(), SearchCriteria.Op.GT, afterThis); quotaBalanceEntries = search(qb.create(), filter); return quotaBalanceEntries.size() > 0 ? quotaBalanceEntries.get(0) : null; } }); }