View Javadoc
1   package org.waarp.common.database;
2   
3   import org.apache.commons.dbcp2.BasicDataSource;
4   import org.waarp.common.logging.WaarpLogger;
5   import org.waarp.common.logging.WaarpLoggerFactory;
6   
7   import java.sql.Connection;
8   import java.sql.SQLException;
9   
10  public class WaarpBasicDataSourceJava8 implements WaarpBasicDataSource {
11    private static final WaarpLogger logger =
12        WaarpLoggerFactory.getLogger(WaarpBasicDataSourceJava8.class);
13    private final BasicDataSource dataSource;
14  
15    public WaarpBasicDataSourceJava8() {
16      dataSource = new BasicDataSource();
17    }
18  
19    @Override
20    public void setDriverClassName(final String driverClassName) {
21      dataSource.setDriverClassName(driverClassName);
22    }
23  
24    @Override
25    public void setUrl(final String url) {
26      dataSource.setUrl(url);
27    }
28  
29    @Override
30    public void setUsername(final String user) {
31      dataSource.setUsername(user);
32    }
33  
34    @Override
35    public void setPassword(final String password) {
36      dataSource.setPassword(password);
37    }
38  
39    @Override
40    public void setDefaultAutoCommit(final boolean autoCommit) {
41      dataSource.setDefaultAutoCommit(autoCommit);
42    }
43  
44    @Override
45    public void setDefaultReadOnly(final boolean readOnly) {
46      dataSource.setDefaultReadOnly(readOnly);
47    }
48  
49    @Override
50    public void setValidationQuery(final String validationQuery) {
51      dataSource.setValidationQuery(validationQuery);
52    }
53  
54    @Override
55    public void setMaxActive(final int maxConnections) {
56      dataSource.setMaxTotal(maxConnections);
57    }
58  
59    @Override
60    public void setMaxIdle(final int maxIdle) {
61      dataSource.setMaxIdle(maxIdle);
62    }
63  
64    @Override
65    public void setInitialSize(final int maxIdleDefault) {
66      dataSource.setInitialSize(maxIdleDefault);
67    }
68  
69    @Override
70    public void close() {
71      try {
72        dataSource.close();
73      } catch (final SQLException e) {
74        logger.debug("Cannot close properly the connection pool", e);
75      }
76    }
77  
78    @Override
79    public Connection getConnection() throws SQLException {
80      return dataSource.getConnection();
81    }
82  }