package com.cadrlife.devsearch.agent.service.oracle;
import java.io.IOException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.tomcat.jdbc.pool.DataSourceFactory;
import com.google.common.base.Throwables;
public class DataSourceProvider {
DataSourceFactory factory = new DataSourceFactory();
public DataSource createFromProperties(String connectionName, Properties properties) {
Properties translatedProps = new Properties();
translatedProps.put("driverClassName", properties.getProperty(connectionName + ".driverClassName", "oracle.jdbc.driver.OracleDriver"));
translatedProps.put("url", properties.getProperty(connectionName + ".url"));
translatedProps.put("username", properties.getProperty(connectionName + ".username"));
translatedProps.put("password", properties.getProperty(connectionName + ".password"));
translatedProps.put("minIdle", properties.getProperty(connectionName + ".minConnections" , "5"));
translatedProps.put("initialSize", properties.getProperty(connectionName + ".minConnections", "5"));
translatedProps.put("maxActive", properties.getProperty(connectionName + ".maxConnections","20"));
translatedProps.put("maxIdle", properties.getProperty(connectionName + ".maxConnections","20"));
translatedProps.put("maxIdle", properties.getProperty(connectionName + ".maxConnections","20"));
try {
return factory.createDataSource(translatedProps);
}
catch (Exception e) {
Throwables.propagate(e);
}
return null;
}
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.load(DataSourceProvider.class.getResourceAsStream("connect.properties"));
DataSource dataSource = new DataSourceProvider().createFromProperties("test", properties);
System.out.println(new OracleService(dataSource).findAllProjects());
}
}