Skip to content

Commit 7744f78

Browse files
committed
Use SqlConnectOptions generic type
1 parent bd6a96f commit 7744f78

File tree

14 files changed

+84
-88
lines changed

14 files changed

+84
-88
lines changed

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2ConnectionFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import java.util.function.Predicate;
3737
import java.util.function.Supplier;
3838

39-
public class DB2ConnectionFactory extends ConnectionFactoryBase {
39+
public class DB2ConnectionFactory extends ConnectionFactoryBase<DB2ConnectOptions> {
4040

4141
public DB2ConnectionFactory(VertxInternal vertx, Supplier<DB2ConnectOptions> options) {
4242
super(vertx, options);
@@ -53,7 +53,7 @@ protected void configureNetClientOptions(NetClientOptions netClientOptions) {
5353
}
5454

5555
@Override
56-
protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventLoopContext context) {
56+
protected Future<Connection> doConnectInternal(DB2ConnectOptions options, EventLoopContext context) {
5757
SocketAddress server = options.getSocketAddress();
5858
boolean cachePreparedStatements = options.getCachePreparedStatements();
5959
int preparedStatementCacheSize = options.getPreparedStatementCacheMaxSize();
@@ -62,7 +62,7 @@ protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventL
6262
String password = options.getPassword();
6363
String database = options.getDatabase();
6464
Map<String, String> properties = options.getProperties();
65-
int pipeliningLimit = ((DB2ConnectOptions) options).getPipeliningLimit();
65+
int pipeliningLimit = options.getPipeliningLimit();
6666
NetClient netClient = netClient(options);
6767
return netClient.connect(server).flatMap(so -> {
6868
DB2SocketConnection conn = new DB2SocketConnection((NetSocketInternal) so, cachePreparedStatements,
@@ -73,7 +73,7 @@ protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventL
7373
}
7474

7575
@Override
76-
public Future<SqlConnection> connect(Context context, SqlConnectOptions options) {
76+
public Future<SqlConnection> connect(Context context, DB2ConnectOptions options) {
7777
ContextInternal contextInternal = (ContextInternal) context;
7878
QueryTracer tracer = contextInternal.tracer() == null ? null : new QueryTracer(contextInternal.tracer(), options);
7979
Promise<SqlConnection> promise = contextInternal.promise();

vertx-db2-client/src/main/java/io/vertx/db2client/spi/DB2Driver.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@
3636

3737
import java.util.function.Supplier;
3838

39-
public class DB2Driver implements Driver {
39+
public class DB2Driver implements Driver<DB2ConnectOptions> {
4040

4141
private static final String SHARED_CLIENT_KEY = "__vertx.shared.db2client";
4242

4343
public static final DB2Driver INSTANCE = new DB2Driver();
4444

4545
@Override
46-
public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
46+
public Pool newPool(Vertx vertx, Supplier<DB2ConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
4747
VertxInternal vx = (VertxInternal) vertx;
4848
PoolImpl pool;
4949
if (options.isShared()) {
@@ -54,15 +54,15 @@ public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases
5454
return new DB2PoolImpl(vx, closeFuture, pool);
5555
}
5656

57-
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
57+
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<DB2ConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
5858
DB2ConnectOptions baseConnectOptions = DB2ConnectOptions.wrap(databases.get());
5959
QueryTracer tracer = vertx.tracer() == null ? null : new QueryTracer(vertx.tracer(), baseConnectOptions);
6060
VertxMetrics vertxMetrics = vertx.metricsSPI();
6161
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(baseConnectOptions.getSocketAddress(), "sql", baseConnectOptions.getMetricsName()) : null;
6262
boolean pipelinedPool = options instanceof Db2PoolOptions && ((Db2PoolOptions) options).isPipelined();
6363
int pipeliningLimit = pipelinedPool ? baseConnectOptions.getPipeliningLimit() : 1;
6464
PoolImpl pool = new PoolImpl(vertx, this, tracer, metrics, pipeliningLimit, options, null, null, closeFuture);
65-
ConnectionFactory factory = createConnectionFactory(vertx, databases);
65+
ConnectionFactory<DB2ConnectOptions> factory = createConnectionFactory(vertx, databases);
6666
pool.connectionProvider(factory::connect);
6767
pool.init();
6868
closeFuture.add(factory);
@@ -81,17 +81,17 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8181
}
8282

8383
@Override
84-
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
84+
public ConnectionFactory<DB2ConnectOptions> createConnectionFactory(Vertx vertx, DB2ConnectOptions database) {
8585
return new DB2ConnectionFactory((VertxInternal) vertx, () -> DB2ConnectOptions.wrap(database));
8686
}
8787

8888
@Override
89-
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends SqlConnectOptions> database) {
89+
public ConnectionFactory<DB2ConnectOptions> createConnectionFactory(Vertx vertx, Supplier<DB2ConnectOptions> database) {
9090
return new DB2ConnectionFactory((VertxInternal) vertx, () -> DB2ConnectOptions.wrap(database.get()));
9191
}
9292

9393
@Override
94-
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
94+
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory<DB2ConnectOptions> factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
9595
return new DB2ConnectionImpl(context, factory, conn, tracer, metrics);
9696
}
9797
}

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLConnectionFactory.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
import static io.vertx.mssqlclient.impl.codec.EncryptionLevel.*;
3636

37-
public class MSSQLConnectionFactory extends ConnectionFactoryBase {
37+
public class MSSQLConnectionFactory extends ConnectionFactoryBase<MSSQLConnectOptions> {
3838

3939
public MSSQLConnectionFactory(VertxInternal vertx, Supplier<MSSQLConnectOptions> options) {
4040
super(vertx, options);
@@ -51,8 +51,8 @@ protected void configureNetClientOptions(NetClientOptions netClientOptions) {
5151
}
5252

5353
@Override
54-
protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventLoopContext context) {
55-
return connectOrRedirect((MSSQLConnectOptions) options, context, 0);
54+
protected Future<Connection> doConnectInternal(MSSQLConnectOptions options, EventLoopContext context) {
55+
return connectOrRedirect(options, context, 0);
5656
}
5757

5858
private Future<Connection> connectOrRedirect(MSSQLConnectOptions options, EventLoopContext context, int redirections) {
@@ -97,7 +97,7 @@ private Future<Connection> login(MSSQLSocketConnection conn, MSSQLConnectOptions
9797
Future<Void> future;
9898
if (encryptionLevel != ENCRYPT_NOT_SUP) {
9999
// Start connection encryption ...
100-
future = conn.enableSsl(clientSslConfig, encryptionLevel, (MSSQLConnectOptions) options);
100+
future = conn.enableSsl(clientSslConfig, encryptionLevel, options);
101101
} else {
102102
// ... unless the client did not require encryption and the server does not support it
103103
future = context.succeededFuture();
@@ -110,7 +110,7 @@ private Future<Connection> login(MSSQLSocketConnection conn, MSSQLConnectOptions
110110
}
111111

112112
@Override
113-
public Future<SqlConnection> connect(Context context, SqlConnectOptions options) {
113+
public Future<SqlConnection> connect(Context context, MSSQLConnectOptions options) {
114114
ContextInternal ctx = (ContextInternal) context;
115115
QueryTracer tracer = ctx.tracer() == null ? null : new QueryTracer(ctx.tracer(), options);
116116
Promise<SqlConnection> promise = ctx.promise();

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/spi/MSSQLDriver.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@
3939

4040
import java.util.function.Supplier;
4141

42-
public class MSSQLDriver implements Driver {
42+
public class MSSQLDriver implements Driver<MSSQLConnectOptions> {
4343

4444
private static final String SHARED_CLIENT_KEY = "__vertx.shared.mssqlclient";
4545

4646
public static final MSSQLDriver INSTANCE = new MSSQLDriver();
4747

4848
@Override
49-
public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
49+
public Pool newPool(Vertx vertx, Supplier<MSSQLConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
5050
VertxInternal vx = (VertxInternal) vertx;
5151
PoolImpl pool;
5252
if (options.isShared()) {
@@ -57,13 +57,13 @@ public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases
5757
return new MSSQLPoolImpl(vx, closeFuture, pool);
5858
}
5959

60-
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
60+
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<MSSQLConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
6161
MSSQLConnectOptions baseConnectOptions = MSSQLConnectOptions.wrap(databases.get());
6262
QueryTracer tracer = vertx.tracer() == null ? null : new QueryTracer(vertx.tracer(), baseConnectOptions);
6363
VertxMetrics vertxMetrics = vertx.metricsSPI();
6464
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(baseConnectOptions.getSocketAddress(), "sql", baseConnectOptions.getMetricsName()) : null;
6565
PoolImpl pool = new PoolImpl(vertx, this, tracer, metrics, 1, options, null, null, closeFuture);
66-
ConnectionFactory factory = createConnectionFactory(vertx, databases);
66+
ConnectionFactory<MSSQLConnectOptions> factory = createConnectionFactory(vertx, databases);
6767
pool.connectionProvider(factory::connect);
6868
pool.init();
6969
closeFuture.add(factory);
@@ -82,12 +82,12 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8282
}
8383

8484
@Override
85-
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
85+
public ConnectionFactory<MSSQLConnectOptions> createConnectionFactory(Vertx vertx, MSSQLConnectOptions database) {
8686
return new MSSQLConnectionFactory((VertxInternal) vertx, () -> MSSQLConnectOptions.wrap(database));
8787
}
8888

8989
@Override
90-
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends SqlConnectOptions> database) {
90+
public ConnectionFactory<MSSQLConnectOptions> createConnectionFactory(Vertx vertx, Supplier<MSSQLConnectOptions> database) {
9191
return new MSSQLConnectionFactory((VertxInternal) vertx, () -> MSSQLConnectOptions.wrap(database.get()));
9292
}
9393

@@ -98,7 +98,7 @@ public int appendQueryPlaceholder(StringBuilder queryBuilder, int index, int cur
9898
}
9999

100100
@Override
101-
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
101+
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory<MSSQLConnectOptions> factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
102102
return new MSSQLConnectionImpl(context, factory, conn, tracer, metrics);
103103
}
104104
}

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLConnectionFactory.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
import static io.vertx.mysqlclient.impl.protocol.CapabilitiesFlag.*;
3838

39-
public class MySQLConnectionFactory extends ConnectionFactoryBase {
39+
public class MySQLConnectionFactory extends ConnectionFactoryBase<MySQLConnectOptions> {
4040

4141
public MySQLConnectionFactory(VertxInternal vertx, Supplier<MySQLConnectOptions> options) {
4242
super(vertx, options);
@@ -51,9 +51,8 @@ protected void configureNetClientOptions(NetClientOptions netClientOptions) {
5151
}
5252

5353
@Override
54-
protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventLoopContext context) {
55-
MySQLConnectOptions mySQLOptions = (MySQLConnectOptions) options;
56-
SslMode sslMode = mySQLOptions.isUsingDomainSocket() ? SslMode.DISABLED : mySQLOptions.getSslMode();
54+
protected Future<Connection> doConnectInternal(MySQLConnectOptions options, EventLoopContext context) {
55+
SslMode sslMode = options.isUsingDomainSocket() ? SslMode.DISABLED : options.getSslMode();
5756
switch (sslMode) {
5857
case VERIFY_IDENTITY:
5958
String hostnameVerificationAlgorithm = options.getHostnameVerificationAlgorithm();
@@ -68,12 +67,12 @@ protected Future<Connection> doConnectInternal(SqlConnectOptions options, EventL
6867
}
6968
break;
7069
}
71-
int capabilitiesFlag = capabilitiesFlags(mySQLOptions);
70+
int capabilitiesFlag = capabilitiesFlags(options);
7271
options.setSsl(false);
7372
if (sslMode == SslMode.PREFERRED) {
74-
return doConnect(mySQLOptions, sslMode, capabilitiesFlag, context).recover(err -> doConnect(mySQLOptions, SslMode.DISABLED, capabilitiesFlag, context));
73+
return doConnect(options, sslMode, capabilitiesFlag, context).recover(err -> doConnect(options, SslMode.DISABLED, capabilitiesFlag, context));
7574
} else {
76-
return doConnect(mySQLOptions, sslMode, capabilitiesFlag, context);
75+
return doConnect(options, sslMode, capabilitiesFlag, context);
7776
}
7877
}
7978

@@ -140,7 +139,7 @@ private Future<Connection> doConnect(MySQLConnectOptions options, SslMode sslMod
140139
}
141140

142141
@Override
143-
public Future<SqlConnection> connect(Context context, SqlConnectOptions options) {
142+
public Future<SqlConnection> connect(Context context, MySQLConnectOptions options) {
144143
ContextInternal contextInternal = (ContextInternal) context;
145144
QueryTracer tracer = contextInternal.tracer() == null ? null : new QueryTracer(contextInternal.tracer(), options);
146145
Promise<SqlConnection> promise = contextInternal.promise();

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/spi/MySQLDriver.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@
3636

3737
import java.util.function.Supplier;
3838

39-
public class MySQLDriver implements Driver {
39+
public class MySQLDriver implements Driver<MySQLConnectOptions> {
4040

4141
private static final String SHARED_CLIENT_KEY = "__vertx.shared.mysqlclient";
4242

4343
public static final MySQLDriver INSTANCE = new MySQLDriver();
4444

4545
@Override
46-
public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
46+
public Pool newPool(Vertx vertx, Supplier<MySQLConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
4747
VertxInternal vx = (VertxInternal) vertx;
4848
PoolImpl pool;
4949
if (options.isShared()) {
@@ -54,15 +54,15 @@ public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases
5454
return new MySQLPoolImpl(vx, closeFuture, pool);
5555
}
5656

57-
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
57+
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<MySQLConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
5858
MySQLConnectOptions baseConnectOptions = MySQLConnectOptions.wrap(databases.get());
5959
QueryTracer tracer = vertx.tracer() == null ? null : new QueryTracer(vertx.tracer(), baseConnectOptions);
6060
VertxMetrics vertxMetrics = vertx.metricsSPI();
6161
ClientMetrics metrics = vertxMetrics != null ? vertxMetrics.createClientMetrics(baseConnectOptions.getSocketAddress(), "sql", baseConnectOptions.getMetricsName()) : null;
6262
boolean pipelinedPool = options instanceof MySQLPoolOptions && ((MySQLPoolOptions) options).isPipelined();
6363
int pipeliningLimit = pipelinedPool ? baseConnectOptions.getPipeliningLimit() : 1;
6464
PoolImpl pool = new PoolImpl(vertx, this, tracer, metrics, pipeliningLimit, options, null, null, closeFuture);
65-
ConnectionFactory factory = createConnectionFactory(vertx, databases);
65+
ConnectionFactory<MySQLConnectOptions> factory = createConnectionFactory(vertx, databases);
6666
pool.connectionProvider(factory::connect);
6767
pool.init();
6868
closeFuture.add(factory);
@@ -81,17 +81,17 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8181
}
8282

8383
@Override
84-
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
84+
public ConnectionFactory<MySQLConnectOptions> createConnectionFactory(Vertx vertx, MySQLConnectOptions database) {
8585
return new MySQLConnectionFactory((VertxInternal) vertx, () -> MySQLConnectOptions.wrap(database));
8686
}
8787

8888
@Override
89-
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends SqlConnectOptions> database) {
89+
public ConnectionFactory<MySQLConnectOptions> createConnectionFactory(Vertx vertx, Supplier<MySQLConnectOptions> database) {
9090
return new MySQLConnectionFactory((VertxInternal) vertx, () -> MySQLConnectOptions.wrap(database.get()));
9191
}
9292

9393
@Override
94-
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
94+
public SqlConnectionInternal wrapConnection(ContextInternal context, ConnectionFactory<MySQLConnectOptions> factory, Connection conn, QueryTracer tracer, ClientMetrics metrics) {
9595
return new MySQLConnectionImpl(context, factory, conn, tracer, metrics);
9696
}
9797
}

vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleConnectionFactory.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import static io.vertx.oracleclient.impl.Helper.executeBlocking;
3232
import static io.vertx.oracleclient.impl.OracleDatabaseHelper.createDataSource;
3333

34-
public class OracleConnectionFactory implements ConnectionFactory {
34+
public class OracleConnectionFactory implements ConnectionFactory<OracleConnectOptions> {
3535

3636
private final Supplier<OracleConnectOptions> options;
3737
private final Map<JsonObject, OracleDataSource> datasources;
@@ -65,15 +65,14 @@ private OracleDataSource getDatasource(SqlConnectOptions options) {
6565
}
6666

6767
@Override
68-
public Future<SqlConnection> connect(Context context, SqlConnectOptions options) {
68+
public Future<SqlConnection> connect(Context context, OracleConnectOptions options) {
6969
OracleDataSource datasource = getDatasource(options);
70-
OracleConnectOptions oracleOptions = (OracleConnectOptions) options;
7170
ContextInternal ctx = (ContextInternal) context;
7271
QueryTracer tracer = ctx.tracer() == null ? null : new QueryTracer(ctx.tracer(), options);
7372
return executeBlocking(context, () -> {
7473
OracleConnection orac = datasource.createConnectionBuilder().build();
7574
OracleMetadata metadata = new OracleMetadata(orac.getMetaData());
76-
OracleJdbcConnection conn = new OracleJdbcConnection(ctx, oracleOptions, orac, metadata);
75+
OracleJdbcConnection conn = new OracleJdbcConnection(ctx, options, orac, metadata);
7776
OracleConnectionImpl msConn = new OracleConnectionImpl(ctx, this, conn, tracer, null);
7877
conn.init(msConn);
7978
return msConn;

0 commit comments

Comments
 (0)