diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java index e57a967ad23..ecaa0296fde 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java @@ -93,7 +93,7 @@ public final class DataSourceBuilder { private final @Nullable ClassLoader classLoader; - private final Map values = new HashMap<>(); + private final Map values = new HashMap<>(); private @Nullable Class type; diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/ClickHouseEnvironment.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/ClickHouseEnvironment.java index 0140d7dd2ac..29df912b6b6 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/ClickHouseEnvironment.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/ClickHouseEnvironment.java @@ -37,9 +37,19 @@ class ClickHouseEnvironment { private final String database; ClickHouseEnvironment(Map env) { - this.username = env.getOrDefault("CLICKHOUSE_USER", "default"); + this.username = extractUsername(env); this.password = extractPassword(env); - this.database = env.getOrDefault("CLICKHOUSE_DB", "default"); + this.database = extractDatabase(env); + } + + private static String extractDatabase(Map env) { + String result = env.get("CLICKHOUSE_DB"); + return (result != null) ? result : "default"; + } + + private static String extractUsername(Map env) { + String result = env.get("CLICKHOUSE_USER"); + return (result != null) ? result : "default"; } private String extractPassword(Map env) { diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MariaDbEnvironment.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MariaDbEnvironment.java index c4ed44db513..4225926950c 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MariaDbEnvironment.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MariaDbEnvironment.java @@ -47,7 +47,10 @@ class MariaDbEnvironment { private String extractUsername(Map env) { String user = env.get("MARIADB_USER"); - return (user != null) ? user : env.getOrDefault("MYSQL_USER", "root"); + if (user == null) { + user = env.get("MYSQL_USER"); + } + return (user != null) ? user : "root"; } private String extractPassword(Map env) { diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MySqlEnvironment.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MySqlEnvironment.java index af478601cd2..026f7005b46 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MySqlEnvironment.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/MySqlEnvironment.java @@ -40,11 +40,16 @@ class MySqlEnvironment { private final String database; MySqlEnvironment(Map env) { - this.username = env.getOrDefault("MYSQL_USER", "root"); + this.username = extractUsername(env); this.password = extractPassword(env); this.database = extractDatabase(env); } + private static String extractUsername(Map env) { + String result = env.get("MYSQL_USER"); + return (result != null) ? result : "root"; + } + private String extractPassword(Map env) { Assert.state(!env.containsKey("MYSQL_RANDOM_ROOT_PASSWORD"), "MYSQL_RANDOM_ROOT_PASSWORD is not supported"); boolean allowEmpty = env.containsKey("MYSQL_ALLOW_EMPTY_PASSWORD") || env.containsKey("ALLOW_EMPTY_PASSWORD"); diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/OracleEnvironment.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/OracleEnvironment.java index bf61f3bbea9..5d23f66397b 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/OracleEnvironment.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/OracleEnvironment.java @@ -37,9 +37,19 @@ class OracleEnvironment { private final String database; OracleEnvironment(Map env, String defaultDatabase) { - this.username = env.getOrDefault("APP_USER", "system"); + this.username = extractUsername(env); this.password = extractPassword(env); - this.database = env.getOrDefault("ORACLE_DATABASE", defaultDatabase); + this.database = extractDatabase(env, defaultDatabase); + } + + private static String extractDatabase(Map env, String defaultDatabase) { + String result = env.get("ORACLE_DATABASE"); + return (result != null) ? result : defaultDatabase; + } + + private static String extractUsername(Map env) { + String result = env.get("APP_USER"); + return (result != null) ? result : "system"; } private String extractPassword(Map env) { diff --git a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/PostgresEnvironment.java b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/PostgresEnvironment.java index 74fcb336f0e..70cfeaa86d5 100644 --- a/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/PostgresEnvironment.java +++ b/module/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/docker/compose/PostgresEnvironment.java @@ -57,8 +57,9 @@ class PostgresEnvironment { private String extract(Map env, String[] keys, String defaultValue) { for (String key : keys) { - if (env.containsKey(key)) { - return env.get(key); + String value = env.get(key); + if (value != null) { + return value; } } return defaultValue;