@Override public ReturnType inTransaction(final EntitySqlDao<M, E> transactionalSqlDao, final TransactionStatus status) throws Exception { final EntitySqlDaoWrapperFactory<EntitySqlDao> factoryEntitySqlDao = new EntitySqlDaoWrapperFactory<EntitySqlDao>(transactionalSqlDao, clock, cacheControllerDispatcher, nonEntityDao); return entitySqlDaoTransactionWrapper.inTransaction(factoryEntitySqlDao); } }
@Override public List<CustomFieldModelDao> getCustomFieldsForObject(final UUID objectId, final ObjectType objectType, final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<CustomFieldModelDao>>() { @Override public List<CustomFieldModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { return entitySqlDaoWrapperFactory.become(CustomFieldSqlDao.class).getCustomFieldsForObject(objectId, objectType, context); } }); }
@Override public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { final EntitySqlDao<M, E> transactional = entitySqlDaoWrapperFactory.become(realSqlDao); if (checkEntityAlreadyExists(transactional, entity, context)) { throw generateAlreadyExistsException(entity, context); } transactional.create(entity, context); final M refreshedEntity = transactional.getById(entity.getId().toString(), context); postBusEventFromTransaction(entity, refreshedEntity, ChangeType.INSERT, entitySqlDaoWrapperFactory, context); return null; } };
public DefaultBlockingStateDao(final IDBI dbi, final Clock clock, final CacheControllerDispatcher cacheControllerDispatcher, final NonEntityDao nonEntityDao) { super(new EntitySqlDaoTransactionalJdbiWrapper(dbi, clock, cacheControllerDispatcher, nonEntityDao), BlockingStateSqlDao.class); this.clock = clock; }
@Override public M inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { final EntitySqlDao<M, E> transactional = entitySqlDaoWrapperFactory.become(realSqlDao); return transactional.getByRecordId(recordId, context); } });
@EntitySqlDaoStringTemplate("/com/ning/billing/util/dao/Kombucha.sql.stg") private static interface KombuchaSqlDao extends EntitySqlDao<KombuchaModelDao, Kombucha> { @SqlQuery public boolean isIsTimeForKombucha(); }
@Override public Pagination<Tag> searchTags(final String searchKey, final Long offset, final Long limit, final TenantContext context) { return getEntityPaginationNoException(limit, new SourcePaginationBuilder<TagModelDao, TagApiException>() { @Override public Pagination<TagModelDao> build() { return tagDao.searchTags(searchKey, offset, limit, internalCallContextFactory.createInternalTenantContext(context)); } }, TAG_MODEL_DAO_TAG_FUNCTION); }
@Override public Iterator<M> build(final EntitySqlDao<M, E> sqlDao, final Long limit) { return sqlDao.get(offset, limit, getNaturalOrderingColumns(), context); } },
/** * Get an instance of a specified EntitySqlDao class, sharing the same database session as the * initial sql dao class with which this wrapper factory was created. * * @param newSqlDaoClass the class to instantiate * @param <NewSqlDao> EntitySqlDao type to create * @return instance of NewSqlDao */ public <NewSqlDao extends EntitySqlDao<NewEntityModelDao, NewEntity>, NewEntityModelDao extends EntityModelDao<NewEntity>, NewEntity extends Entity> NewSqlDao become(final Class<NewSqlDao> newSqlDaoClass) { return create(newSqlDaoClass, sqlDao.become(newSqlDaoClass)); }
public EntityDaoBase(final EntitySqlDaoTransactionalJdbiWrapper transactionalSqlDao, final Class<? extends EntitySqlDao<M, E>> realSqlDao) { this.transactionalSqlDao = transactionalSqlDao; this.realSqlDao = realSqlDao; this.paginationHelper = new DefaultPaginationSqlDaoHelper(transactionalSqlDao); }
@Override public M getById(final UUID id, final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<M>() { @Override public M inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { final EntitySqlDao<M, E> transactional = entitySqlDaoWrapperFactory.become(realSqlDao); return transactional.getById(id.toString(), context); } }); }
@Override public Pagination<CustomField> searchCustomFields(final String searchKey, final Long offset, final Long limit, final TenantContext context) { return getEntityPaginationNoException(limit, new SourcePaginationBuilder<CustomFieldModelDao, CustomFieldApiException>() { @Override public Pagination<CustomFieldModelDao> build() { return customFieldDao.searchCustomFields(searchKey, offset, limit, internalCallContextFactory.createInternalTenantContext(context)); } }, CUSTOM_FIELD_MODEL_DAO_CUSTOM_FIELD_FUNCTION); }
@Override public UUID getInvoiceIdByPaymentId(final UUID paymentId, final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<UUID>() { @Override public UUID inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { return entitySqlDaoWrapperFactory.become(InvoiceSqlDao.class).getInvoiceIdByPaymentId(paymentId.toString(), context); } }); }
@Override public List<InvoicePaymentModelDao> getInvoicePayments(final UUID paymentId, final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<InvoicePaymentModelDao>>() { @Override public List<InvoicePaymentModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { return entitySqlDaoWrapperFactory.become(InvoicePaymentSqlDao.class).getInvoicePayments(paymentId.toString(), context); } }); }
@Override public void notifyOfPayment(final InvoicePaymentModelDao invoicePayment, final InternalCallContext context) { transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<Void>() { @Override public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { entitySqlDaoWrapperFactory.become(InvoicePaymentSqlDao.class).create(invoicePayment, context); return null; } }); }
@Override public RefundModelDao insertRefund(final RefundModelDao refundInfo, final InternalCallContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<RefundModelDao>() { @Override public RefundModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { final RefundSqlDao transactional = entitySqlDaoWrapperFactory.become(RefundSqlDao.class); transactional.create(refundInfo, context); return transactional.getById(refundInfo.getId().toString(), context); } }); }
@Override public RefundModelDao getRefund(final UUID refundId, final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<RefundModelDao>() { @Override public RefundModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { return entitySqlDaoWrapperFactory.become(RefundSqlDao.class).getById(refundId.toString(), context); } }); }
@Override public Long getCount(final InternalTenantContext context) { return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<Long>() { @Override public Long inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception { final EntitySqlDao<M, E> transactional = entitySqlDaoWrapperFactory.become(realSqlDao); return transactional.getCount(context); } }); }