package jef.database.datasource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.tomcat.jdbc.pool.PoolConfiguration;
public class TomcatCpWrapper extends AbstractDataSource implements DataSourceWrapper{
org.apache.tomcat.jdbc.pool.DataSource datasource;
public TomcatCpWrapper() {
datasource = new org.apache.tomcat.jdbc.pool.DataSource();
}
public String getUrl() {
return datasource.getUrl();
}
public String getUser() {
return datasource.getUsername();
}
public String getPassword() {
return datasource.getPassword();
}
public String getDriverClass() {
return datasource.getDriverClassName();
}
public void setUrl(String url) {
datasource.setUrl(url);
}
public void setUser(String user) {
datasource.setUsername(user);
}
public void setPassword(String password) {
datasource.setPassword(password);
}
public void setDriverClass(String driverClassName) {
datasource.setDriverClassName(driverClassName);
}
public Properties getProperties() {
return new ReflectionProperties(PoolConfiguration.class, datasource.getPoolProperties());
}
public void putProperty(String key, Object value) {
new ReflectionProperties(PoolConfiguration.class, datasource.getPoolProperties()).put(key, value);
}
public Connection getConnection() throws SQLException {
return datasource.getConnection();
}
public Connection getConnection(String username, String password) throws SQLException {
return datasource.getConnection(username, password);
}
public boolean isConnectionPool() {
return true;
}
public void setWrappedDataSource(DataSource ds) {
datasource=(org.apache.tomcat.jdbc.pool.DataSource)ds;
}
@Override
protected Class<? extends DataSource> getWrappedClass() {
return org.apache.tomcat.jdbc.pool.DataSource.class;
}
}