Skip to content

Commit bebdee3

Browse files
committed
Polish
See gh-23693
1 parent d44ecf5 commit bebdee3

File tree

2 files changed

+26
-10
lines changed

2 files changed

+26
-10
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/EmbeddedDatabaseConnection.java

+9-2
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ boolean isDriverCompatible(String driverClass) {
139139
* database type.
140140
* @param driverClass the driver class
141141
* @return true if the driver class is one of the embedded types
142-
* @deprecated since 2.4.0 in favor of {@link #isEmbedded(String, String)}
142+
* @deprecated since 2.3.5 in favor of {@link #isEmbedded(String, String)}
143143
*/
144144
@Deprecated
145145
public static boolean isEmbedded(String driverClass) {
@@ -154,7 +154,14 @@ public static boolean isEmbedded(String driverClass) {
154154
* @return true if the driver class and url refer to an embedded database
155155
*/
156156
public static boolean isEmbedded(String driverClass, String url) {
157-
return driverClass != null && getEmbeddedDatabaseConnection(driverClass).isEmbeddedUrl(url);
157+
if (driverClass == null) {
158+
return false;
159+
}
160+
EmbeddedDatabaseConnection connection = getEmbeddedDatabaseConnection(driverClass);
161+
if (connection == NONE) {
162+
return false;
163+
}
164+
return (url == null || connection.isEmbeddedUrl(url));
158165
}
159166

160167
private static EmbeddedDatabaseConnection getEmbeddedDatabaseConnection(String driverClass) {

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/EmbeddedDatabaseConnectionTests.java

+17-8
Original file line numberDiff line numberDiff line change
@@ -92,18 +92,27 @@ void getUrlWithEmptyDatabaseNameForHsqldb() {
9292
.withMessageContaining("DatabaseName must not be empty");
9393
}
9494

95-
@ParameterizedTest(name = "{1}")
95+
@ParameterizedTest(name = "{0} - {1}")
9696
@MethodSource("embeddedDriverAndUrlParameters")
97-
void isEmbeddedWithDriverAndUrl(EmbeddedDatabaseConnection connection, String url, boolean embedded) {
98-
assertThat(EmbeddedDatabaseConnection.isEmbedded(connection.getDriverClassName(), url)).isEqualTo(embedded);
97+
void isEmbeddedWithDriverAndUrl(String driverClassName, String url, boolean embedded) {
98+
assertThat(EmbeddedDatabaseConnection.isEmbedded(driverClassName, url)).isEqualTo(embedded);
9999
}
100100

101101
static Object[] embeddedDriverAndUrlParameters() {
102-
return new Object[] { new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:~/test", false },
103-
new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", true },
104-
new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:hsql://localhost", false },
105-
new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:mem:test", true },
106-
new Object[] { EmbeddedDatabaseConnection.DERBY, "jdbc:derby:memory:test", true } };
102+
return new Object[] {
103+
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:~/test", false },
104+
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
105+
true },
106+
new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), null, true },
107+
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:hsql://localhost",
108+
false },
109+
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:mem:test", true },
110+
new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), null, true },
111+
new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), "jdbc:derby:memory:test", true },
112+
new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), null, true },
113+
new Object[] { "com.mysql.cj.jdbc.Driver", "jdbc:mysql:mem:test", false },
114+
new Object[] { "com.mysql.cj.jdbc.Driver", null, false },
115+
new Object[] { null, "jdbc:none:mem:test", false }, new Object[] { null, null, false } };
107116
}
108117

109118
@Test

0 commit comments

Comments
 (0)