package todowizard.core.doma; import javax.sql.DataSource; import org.seasar.doma.jdbc.Config; import org.seasar.doma.jdbc.dialect.Dialect; import org.seasar.doma.jdbc.tx.LocalTransactionDataSource; import org.seasar.doma.jdbc.tx.LocalTransactionManager; import org.seasar.doma.jdbc.tx.TransactionManager; /** * Dropwizard 上で Doma を利用する場合の Config * * @author t_endo */ public class DomaConfig implements Config { protected final String dataSourceName; protected final DataSource originalDataSource; protected final LocalTransactionDataSource dataSource; protected final TransactionManager transactionManager; protected final Dialect dialect; public DomaConfig(String dataSourceName, DataSource dataSource, Dialect dialect) { this.dataSourceName = dataSourceName; this.originalDataSource = dataSource; this.dataSource = new LocalTransactionDataSource(dataSource); this.transactionManager = new LocalTransactionManager( this.dataSource.getLocalTransaction(getJdbcLogger())); this.dialect = dialect; } @Override public DataSource getDataSource() { return dataSource; } @Override public Dialect getDialect() { return dialect; } @Override public String getDataSourceName() { return dataSourceName; } @Override public TransactionManager getTransactionManager() { return transactionManager; } public DataSource getOriginalDataSource() { return originalDataSource; } }