@Override public List<CatalogOverrideUsageDefinitionModelDao> getOverriddenPhaseUsages(final Long phaseDefRecordId, final InternalTenantContext context) { return dbi.inTransaction(new TransactionCallback<List<CatalogOverrideUsageDefinitionModelDao>>() { @Override public List<CatalogOverrideUsageDefinitionModelDao> inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideUsageDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideUsageDefinitionSqlDao.class); return sqlDao.getOverriddenPhaseUsages(phaseDefRecordId, context); } }); }
@Override public List<CatalogOverridePhaseDefinitionModelDao> getOverriddenPlanPhases(final Long planDefRecordId, final InternalTenantContext context) { return dbi.inTransaction(new TransactionCallback<List<CatalogOverridePhaseDefinitionModelDao>>() { @Override public List<CatalogOverridePhaseDefinitionModelDao> inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverridePhaseDefinitionSqlDao sqlDao = handle.attach(CatalogOverridePhaseDefinitionSqlDao.class); return sqlDao.getOverriddenPlanPhases(planDefRecordId, context); } }); }
@Override public List<CatalogOverrideBlockDefinitionModelDao> getOverriddenTierBlocks(final Long tierDefRecordId, final InternalTenantContext context) { return dbi.inTransaction(new TransactionCallback<List<CatalogOverrideBlockDefinitionModelDao>>() { @Override public List<CatalogOverrideBlockDefinitionModelDao> inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideBlockDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideBlockDefinitionSqlDao.class); return sqlDao.getOverriddenTierBlocks(tierDefRecordId, context); } }); }
@Override public List<RolesPermissionsModelDao> getRoleDefinition(final String role) { return dbi.inTransaction(new TransactionCallback<List<RolesPermissionsModelDao>>() { @Override public List<RolesPermissionsModelDao> inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final RolesPermissionsSqlDao rolesPermissionsSqlDao = handle.attach(RolesPermissionsSqlDao.class); return rolesPermissionsSqlDao.getByRoleName(role); } }); }
@Override public List<CatalogOverrideTierDefinitionModelDao> getOverriddenUsageTiers(final Long usageDefRecordId, final InternalTenantContext context) { return dbi.inTransaction(new TransactionCallback<List<CatalogOverrideTierDefinitionModelDao>>() { @Override public List<CatalogOverrideTierDefinitionModelDao> inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideTierDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideTierDefinitionSqlDao.class); return sqlDao.getOverriddenUsageTiers(usageDefRecordId, context); } }); }
@Override public CatalogOverridePlanDefinitionModelDao getOrCreateOverridePlanDefinition(final Plan parentPlan, final DateTime catalogEffectiveDate, final PlanPhasePriceOverride[] resolvedOverride, final InternalCallContext context) { return dbi.inTransaction(new TransactionCallback<CatalogOverridePlanDefinitionModelDao>() { @Override public CatalogOverridePlanDefinitionModelDao inTransaction(final Handle handle, final TransactionStatus status) throws Exception {
public <T> T inTransaction(final boolean requestedRO, final TransactionCallback<T> callback) { if (shouldUseRODBI(requestedRO)) { return roDbi.inTransaction(callback); } else { return dbi.inTransaction(callback); } }
private <T> T performTestInTransaction(final WithCatalogOverridePhaseUsageSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverridePhaseUsageSqlDao sqlDao = handle.attach(CatalogOverridePhaseUsageSqlDao.class); return callback.doTransaction(sqlDao); } }); }
private <T> T performTestInTransaction(final WithCatalogOverrideUsageDefinitionSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideUsageDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideUsageDefinitionSqlDao.class); return callback.doTransaction(sqlDao); } }); } }
private <T> T performTestInTransaction(final WithCatalogOverrideUsageTierSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideUsageTierSqlDao sqlDao = handle.attach(CatalogOverrideUsageTierSqlDao.class); return callback.doTransaction(sqlDao); } }); }
private <T> T inTransactionWithExceptionHandling(final TransactionCallback<T> callback) throws SecurityApiException { // Similar to EntitySqlDaoTransactionalJdbiWrapper#execute try { return dbi.inTransaction(callback); } catch (final RuntimeException e) { throwSecurityApiException(e); return null; } }
private <T> T performTestInTransaction(final WithCatalogOverridePlanPhaseSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverridePlanPhaseSqlDao sqlDao = handle.attach(CatalogOverridePlanPhaseSqlDao.class); return callback.doTransaction(sqlDao); } }); }
private <T> T performTestInTransaction(final WithCatalogOverridePhaseDefinitionSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverridePhaseDefinitionSqlDao sqlDao = handle.attach(CatalogOverridePhaseDefinitionSqlDao.class); return callback.doTransaction(sqlDao); } }); }
private <T> T performTestInTransaction(final WithCatalogOverrideBlockDefinitionSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideBlockDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideBlockDefinitionSqlDao.class); return callback.doTransaction(sqlDao); } }); } }
private <T> T performTestInTransaction(final WithCatalogOverrideTierDefinitionSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideTierDefinitionSqlDao sqlDao = handle.attach(CatalogOverrideTierDefinitionSqlDao.class); return callback.doTransaction(sqlDao); } }); } }
private <T> T performTestInTransaction(final WithCatalogOverridePlanDefinitionSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverridePlanDefinitionSqlDao sqlDao = handle.attach(CatalogOverridePlanDefinitionSqlDao.class); return callback.doTransaction(sqlDao); } }); }
private <T> T performTestInTransaction(final WithCatalogOverrideTierBlockSqlDaoTransaction<T> callback) { return dbi.inTransaction(new TransactionCallback<T>() { @Override public T inTransaction(final Handle handle, final TransactionStatus status) throws Exception { final CatalogOverrideTierBlockSqlDao sqlDao = handle.attach(CatalogOverrideTierBlockSqlDao.class); return callback.doTransaction(sqlDao); } }); }
dbi.inTransaction( new TransactionCallback<Void>()
@Test(groups = "slow") public void testSimpleLocking() throws IOException, LockFailedException { final String lockName = UUID.randomUUID().toString(); final GlobalLock lock = locker.lockWithNumberOfTries(LockerType.ACCNT_INV_PAY.toString(), lockName, 3); dbi.inTransaction(new TransactionCallback<Void>() { @Override public Void inTransaction(final Handle conn, final TransactionStatus status) throws Exception { conn.execute("insert into dummy2 (dummy_id) values ('" + UUID.randomUUID().toString() + "')"); return null; } }); Assert.assertEquals(locker.isFree(LockerType.ACCNT_INV_PAY.toString(), lockName), false); boolean gotException = false; try { locker.lockWithNumberOfTries(LockerType.ACCNT_INV_PAY.toString(), lockName, 1); } catch (LockFailedException e) { gotException = true; } Assert.assertTrue(gotException); lock.release(); Assert.assertEquals(locker.isFree(LockerType.ACCNT_INV_PAY.toString(), lockName), true); } }
public static <T> T runTransaction(IDBI dbi, TransactionCallback<T> callback) { try { return dbi.inTransaction(callback); } catch (DBIException e) { propagateIfInstanceOf(e.getCause(), PrestoException.class); throw metadataError(e); } }