Update the environment configuration.
This commit is contained in:
+18
-5
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user