From a8d7dcc69bca0e08326a521ac5879e3be504d301 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Sun, 22 Oct 2023 19:51:55 +0300 Subject: [PATCH] Update the environment configuration. --- .../config/env/DataBaseEnvConfig.java | 23 +++++++++++++++---- .../LoadDataBaseConfigFromEnvFile.java | 6 +++++ .../config/models/DataBaseConfig.java | 5 ++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/java/space/kklochko/jdbc_hospital_example/config/env/DataBaseEnvConfig.java b/src/main/java/space/kklochko/jdbc_hospital_example/config/env/DataBaseEnvConfig.java index 0820161..b486268 100644 --- a/src/main/java/space/kklochko/jdbc_hospital_example/config/env/DataBaseEnvConfig.java +++ b/src/main/java/space/kklochko/jdbc_hospital_example/config/env/DataBaseEnvConfig.java @@ -2,6 +2,7 @@ package space.kklochko.jdbc_hospital_example.config.env; import io.github.cdimascio.dotenv.Dotenv; import lombok.Getter; +import lombok.NonNull; import lombok.Setter; import java.util.Properties; @@ -12,19 +13,31 @@ public class DataBaseEnvConfig { public String url; public Properties properties; - public DataBaseEnvConfig() { + public void load(@NonNull String dir, @NonNull String filename) { Dotenv dotenv = Dotenv .configure() - .directory("config") - .filename("db") + .directory(dir) + .filename(filename) .load(); setUrl(dotenv.get("JDBC_URL")); Properties properties = new Properties(); - properties.put("user", dotenv.get("USER")); - properties.put("password", dotenv.get("PASSWORD")); + properties.put("user", dotenv.get("JDBC_USER")); + properties.put("password", dotenv.get("JDBC_PASSWORD")); setProperties(properties); } + + public DataBaseEnvConfig() { + load("config", "db"); + } + + public DataBaseEnvConfig(@NonNull String filename) { + load("config", filename); + } + + public DataBaseEnvConfig(@NonNull String dir, @NonNull String filename) { + load(dir, filename); + } } diff --git a/src/main/java/space/kklochko/jdbc_hospital_example/config/factories/LoadDataBaseConfigFromEnvFile.java b/src/main/java/space/kklochko/jdbc_hospital_example/config/factories/LoadDataBaseConfigFromEnvFile.java index 7045bf9..3912611 100644 --- a/src/main/java/space/kklochko/jdbc_hospital_example/config/factories/LoadDataBaseConfigFromEnvFile.java +++ b/src/main/java/space/kklochko/jdbc_hospital_example/config/factories/LoadDataBaseConfigFromEnvFile.java @@ -1,9 +1,15 @@ package space.kklochko.jdbc_hospital_example.config.factories; +import lombok.NonNull; import space.kklochko.jdbc_hospital_example.config.env.DataBaseEnvConfig; import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig; public class LoadDataBaseConfigFromEnvFile { + public DataBaseConfig load(@NonNull String filename) { + DataBaseEnvConfig dbEnv = new DataBaseEnvConfig(filename); + return new DataBaseConfig(dbEnv.getUrl(), dbEnv.getProperties()); + } + public DataBaseConfig load() { DataBaseEnvConfig dbEnv = new DataBaseEnvConfig(); return new DataBaseConfig(dbEnv.getUrl(), dbEnv.getProperties()); diff --git a/src/main/java/space/kklochko/jdbc_hospital_example/config/models/DataBaseConfig.java b/src/main/java/space/kklochko/jdbc_hospital_example/config/models/DataBaseConfig.java index e5321de..40e889e 100644 --- a/src/main/java/space/kklochko/jdbc_hospital_example/config/models/DataBaseConfig.java +++ b/src/main/java/space/kklochko/jdbc_hospital_example/config/models/DataBaseConfig.java @@ -7,4 +7,9 @@ import java.util.Properties; public class DataBaseConfig { public String url; public Properties properties; + + public DataBaseConfig(String url, Properties properties) { + setUrl(url); + setProperties(properties); + } }