Skip to content

Commit 6400b8c

Browse files
committed
Add Driver#createConnectOptions
Also deprecate generic construction of SqlConnectOptions
1 parent e87b0a1 commit 6400b8c

File tree

16 files changed

+255
-86
lines changed

16 files changed

+255
-86
lines changed

vertx-db2-client/src/main/java/io/vertx/db2client/DB2ConnectOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public DB2ConnectOptions(DB2ConnectOptions other) {
8888
super(other);
8989
this.pipeliningLimit = other.pipeliningLimit;
9090
}
91-
91+
9292
@Override
9393
public DB2ConnectOptions setHost(String host) {
9494
return (DB2ConnectOptions) super.setHost(host);
@@ -210,6 +210,6 @@ public boolean equals(Object o) {
210210

211211
@Override
212212
public int hashCode() {
213-
return Objects.hash(pipeliningLimit);
213+
return Objects.hash(super.hashCode(), pipeliningLimit);
214214
}
215215
}

vertx-db2-client/src/main/java/io/vertx/db2client/DB2Exception.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ public String getSqlState() {
5555
*/
5656
@Override
5757
public String getMessage() {
58-
return super.getMessage();
58+
return super.getMessage() + "; errorCode=" + errorCode + "; sqlState=" + sqlState;
5959
}
6060
}

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import io.vertx.sqlclient.spi.Driver;
2525

2626
public class DB2Driver implements Driver {
27-
27+
2828
@Override
2929
public Pool createPool(SqlConnectOptions options, PoolOptions poolOptions) {
3030
return DB2Pool.pool(wrap(options), poolOptions);
@@ -35,17 +35,24 @@ public Pool createPool(Vertx vertx, SqlConnectOptions options, PoolOptions poolO
3535
return DB2Pool.pool(vertx, wrap(options), poolOptions);
3636
}
3737

38-
@Override
39-
public boolean acceptsOptions(SqlConnectOptions options) {
40-
return options instanceof DB2ConnectOptions || SqlConnectOptions.class.equals(options.getClass());
41-
}
42-
4338
private static DB2ConnectOptions wrap(SqlConnectOptions options) {
4439
if (options instanceof DB2ConnectOptions) {
45-
return (DB2ConnectOptions) options;
46-
} else {
40+
return (DB2ConnectOptions) options;
41+
} else if (options.getClass().equals(SqlConnectOptions.class)) {
4742
return new DB2ConnectOptions(options);
43+
} else {
44+
throw new IllegalArgumentException("Unsupported option type: " + options.getClass());
4845
}
4946
}
5047

48+
@Override
49+
public SqlConnectOptions createConnectOptions() {
50+
return new DB2ConnectOptions();
51+
}
52+
53+
@Override
54+
public String name() {
55+
return KnownDrivers.DB2.name();
56+
}
57+
5158
}

vertx-db2-client/src/test/java/io/vertx/db2client/tck/DB2DriverTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,9 @@ protected SqlConnectOptions defaultOptions() {
4646
return rule.options();
4747
}
4848

49+
@Override
50+
protected String getDriverName() {
51+
return "DB2";
52+
}
53+
4954
}

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/MSSQLConnectOptions.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111

1212
package io.vertx.mssqlclient;
1313

14+
import java.util.HashMap;
15+
import java.util.Map;
16+
import java.util.Set;
17+
import java.util.concurrent.TimeUnit;
18+
1419
import io.vertx.codegen.annotations.DataObject;
1520
import io.vertx.core.buffer.Buffer;
1621
import io.vertx.core.json.JsonObject;
@@ -26,11 +31,6 @@
2631
import io.vertx.core.net.TrustOptions;
2732
import io.vertx.sqlclient.SqlConnectOptions;
2833

29-
import java.util.HashMap;
30-
import java.util.Map;
31-
import java.util.Set;
32-
import java.util.concurrent.TimeUnit;
33-
3434
/**
3535
* Connect options for configuring {@link MSSQLConnection}.
3636
*/
@@ -68,7 +68,7 @@ public MSSQLConnectOptions(SqlConnectOptions other) {
6868
public MSSQLConnectOptions(MSSQLConnectOptions other) {
6969
super(other);
7070
}
71-
71+
7272
@Override
7373
public MSSQLConnectOptions setHost(String host) {
7474
return (MSSQLConnectOptions) super.setHost(host);

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

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import io.vertx.sqlclient.spi.Driver;
2525

2626
public class MSSQLDriver implements Driver {
27-
27+
2828
@Override
2929
public Pool createPool(SqlConnectOptions options, PoolOptions poolOptions) {
3030
return MSSQLPool.pool(wrap(options), poolOptions);
@@ -35,17 +35,24 @@ public Pool createPool(Vertx vertx, SqlConnectOptions options, PoolOptions poolO
3535
return MSSQLPool.pool(vertx, wrap(options), poolOptions);
3636
}
3737

38-
@Override
39-
public boolean acceptsOptions(SqlConnectOptions options) {
40-
return options instanceof MSSQLConnectOptions || SqlConnectOptions.class.equals(options.getClass());
41-
}
42-
4338
private static MSSQLConnectOptions wrap(SqlConnectOptions options) {
4439
if (options instanceof MSSQLConnectOptions) {
4540
return (MSSQLConnectOptions) options;
46-
} else {
41+
} else if (SqlConnectOptions.class.equals(options.getClass())) {
4742
return new MSSQLConnectOptions(options);
43+
} else {
44+
throw new IllegalArgumentException("Unsupported option type: " + options.getClass());
4845
}
4946
}
5047

48+
@Override
49+
public SqlConnectOptions createConnectOptions() {
50+
return new MSSQLConnectOptions();
51+
}
52+
53+
@Override
54+
public String name() {
55+
return KnownDrivers.SQLSERVER.name();
56+
}
57+
5158
}

vertx-mssql-client/src/test/java/io/vertx/mssqlclient/tck/MSSQLDriverTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,10 @@ public class MSSQLDriverTest extends DriverTestBase {
3333
protected SqlConnectOptions defaultOptions() {
3434
return rule.options();
3535
}
36-
36+
37+
@Override
38+
protected String getDriverName() {
39+
return "SQLSERVER";
40+
}
41+
3742
}

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/MySQLConnectOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public MySQLConnectOptions(MySQLConnectOptions other) {
9292
this.serverRsaPublicKeyPath = other.serverRsaPublicKeyPath;
9393
this.serverRsaPublicKeyValue = other.serverRsaPublicKeyValue != null ? other.serverRsaPublicKeyValue.copy() : null;
9494
}
95-
95+
9696
/**
9797
* Get the collation for the connection.
9898
*

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import io.vertx.sqlclient.spi.Driver;
2525

2626
public class MySQLDriver implements Driver {
27-
27+
2828
@Override
2929
public Pool createPool(SqlConnectOptions options, PoolOptions poolOptions) {
3030
return MySQLPool.pool(wrap(options), poolOptions);
@@ -35,17 +35,24 @@ public Pool createPool(Vertx vertx, SqlConnectOptions options, PoolOptions poolO
3535
return MySQLPool.pool(vertx, wrap(options), poolOptions);
3636
}
3737

38-
@Override
39-
public boolean acceptsOptions(SqlConnectOptions options) {
40-
return options instanceof MySQLConnectOptions || SqlConnectOptions.class.equals(options.getClass());
41-
}
42-
4338
private static MySQLConnectOptions wrap(SqlConnectOptions options) {
4439
if (options instanceof MySQLConnectOptions) {
45-
return (MySQLConnectOptions) options;
46-
} else {
40+
return (MySQLConnectOptions) options;
41+
} else if (options.getClass().equals(SqlConnectOptions.class)) {
4742
return new MySQLConnectOptions(options);
43+
} else {
44+
throw new IllegalArgumentException("Unsupported option type: " + options.getClass());
4845
}
4946
}
47+
48+
@Override
49+
public SqlConnectOptions createConnectOptions() {
50+
return new MySQLConnectOptions();
51+
}
52+
53+
@Override
54+
public String name() {
55+
return "MYSQL";
56+
}
5057

5158
}

vertx-mysql-client/src/test/java/io/vertx/mysqlclient/tck/MySQLDriverTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ protected SqlConnectOptions defaultOptions() {
3535
return rule.options();
3636
}
3737

38+
@Override
39+
protected String getDriverName() {
40+
return "MYSQL";
41+
}
42+
3843
}

0 commit comments

Comments
 (0)