All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.unlaxer.jaddress.JyuusyoJPDomaConfig Maven / Gradle / Ivy

package org.unlaxer.jaddress;

import java.nio.file.Path;

import javax.sql.DataSource;

import org.seasar.doma.jdbc.Config;
import org.seasar.doma.jdbc.JdbcLogger;
import org.seasar.doma.jdbc.SimpleDataSource;
import org.seasar.doma.jdbc.dialect.Dialect;
import org.seasar.doma.jdbc.dialect.SqliteDialect;
import org.seasar.doma.jdbc.tx.LocalTransactionDataSource;
import org.seasar.doma.jdbc.tx.LocalTransactionManager;
import org.seasar.doma.jdbc.tx.TransactionManager;
import org.unlaxer.jaddress.dao.DomaLogger;

public class JyuusyoJPDomaConfig implements Config{

    private Dialect dialect;

    private LocalTransactionDataSource dataSource;
    
    private TransactionManager transactionManager;

    private final DomaLogger domaLogger;

    public JyuusyoJPDomaConfig() {
    	this(UserHomeContext.getPathWithFolderAndFile("jyuusyojp","zenkoku.sqlite3"));
    }
    
    public JyuusyoJPDomaConfig(Path pathToSqlite) {
		super();
        dialect = new SqliteDialect();
        
		String dbUrl= "jdbc:sqlite:" + pathToSqlite.toString();
		
		SimpleDataSource simpleDataSource = new SimpleDataSource();
		
		simpleDataSource.setUrl(dbUrl);

        dataSource = new LocalTransactionDataSource(simpleDataSource);
        
        domaLogger = new DomaLogger();

        transactionManager = new LocalTransactionManager(
                dataSource.getLocalTransaction(getJdbcLogger()));
	}

	@Override
    public Dialect getDialect() {
        return dialect;
    }

    public void setDialect(Dialect dialect) {
        this.dialect = dialect;
    }

    @Override
    public DataSource getDataSource() {
        return dataSource;
    }

    public void setDataSource(DataSource dataSource) {
        this.dataSource = new LocalTransactionDataSource(dataSource);
    }

	@Override
	public TransactionManager getTransactionManager() {
		return transactionManager;
	}

	@Override
	public JdbcLogger getJdbcLogger() {
		return domaLogger;
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy