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 }