Allow reading values from config
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
c650caa090
commit
b6bf366822
@ -4,6 +4,7 @@ import net.dv8tion.jda.api.interactions.commands.Command;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import wtf.beatrice.hidekobot.database.DatabaseManager;
|
import wtf.beatrice.hidekobot.database.DatabaseManager;
|
||||||
import wtf.beatrice.hidekobot.listeners.MessageLogger;
|
import wtf.beatrice.hidekobot.listeners.MessageLogger;
|
||||||
|
import wtf.beatrice.hidekobot.utils.ConfigurationManager;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -14,7 +15,7 @@ import java.util.List;
|
|||||||
public class Cache
|
public class Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private static ConfigurationManager configManager = null;
|
||||||
private static DatabaseManager dbManager = null;
|
private static DatabaseManager dbManager = null;
|
||||||
private static boolean verbose = false;
|
private static boolean verbose = false;
|
||||||
private static MessageLogger verbosityLogger;
|
private static MessageLogger verbosityLogger;
|
||||||
@ -235,4 +236,10 @@ public class Cache
|
|||||||
}
|
}
|
||||||
public static String getExecPath() { return execPath; }
|
public static String getExecPath() { return execPath; }
|
||||||
|
|
||||||
|
public static ConfigurationManager getConfigurationManager()
|
||||||
|
{ return configManager; }
|
||||||
|
|
||||||
|
public static void setConfigManager(ConfigurationManager configurationManager)
|
||||||
|
{ configManager = configurationManager; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ import wtf.beatrice.hidekobot.listeners.SlashCommandListener;
|
|||||||
import wtf.beatrice.hidekobot.runnables.CommandsUpdateTask;
|
import wtf.beatrice.hidekobot.runnables.CommandsUpdateTask;
|
||||||
import wtf.beatrice.hidekobot.runnables.ExpiredMessageTask;
|
import wtf.beatrice.hidekobot.runnables.ExpiredMessageTask;
|
||||||
import wtf.beatrice.hidekobot.runnables.HeartBeatTask;
|
import wtf.beatrice.hidekobot.runnables.HeartBeatTask;
|
||||||
import wtf.beatrice.hidekobot.utils.ConfigurationUtil;
|
import wtf.beatrice.hidekobot.utils.ConfigurationManager;
|
||||||
import wtf.beatrice.hidekobot.utils.Logger;
|
import wtf.beatrice.hidekobot.utils.Logger;
|
||||||
import wtf.beatrice.hidekobot.utils.SlashCommandUtil;
|
import wtf.beatrice.hidekobot.utils.SlashCommandUtil;
|
||||||
|
|
||||||
@ -114,9 +114,9 @@ public class HidekoBot
|
|||||||
|
|
||||||
// load configuration
|
// load configuration
|
||||||
String configFilePath = Cache.getExecPath() + File.separator + "config.yml";
|
String configFilePath = Cache.getExecPath() + File.separator + "config.yml";
|
||||||
ConfigurationUtil configurationUtil = new ConfigurationUtil(configFilePath);
|
ConfigurationManager configurationManager = new ConfigurationManager(configFilePath);
|
||||||
configurationUtil.initConfig();
|
configurationManager.initConfig();
|
||||||
|
Cache.setConfigManager(configurationManager);
|
||||||
|
|
||||||
// connect to database
|
// connect to database
|
||||||
logger.log("Connecting to database...");
|
logger.log("Connecting to database...");
|
||||||
|
@ -7,13 +7,15 @@ import wtf.beatrice.hidekobot.HidekoBot;
|
|||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
public class ConfigurationUtil
|
public class ConfigurationManager
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
private final LinkedHashMap<String, Object> configurationEntries = new LinkedHashMap<>();
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
private final String configFilePath;
|
private final String configFilePath;
|
||||||
|
|
||||||
public ConfigurationUtil(String configFilePath)
|
public ConfigurationManager(String configFilePath)
|
||||||
{
|
{
|
||||||
this.configFilePath = configFilePath;
|
this.configFilePath = configFilePath;
|
||||||
logger = new Logger(getClass());
|
logger = new Logger(getClass());
|
||||||
@ -114,7 +116,21 @@ public class ConfigurationUtil
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// finally, dump all entries to cache.
|
||||||
|
loadConfig(filledEntries);
|
||||||
|
} else {
|
||||||
|
// if no key is missing, just cache all entries and values from filesystem.
|
||||||
|
loadConfig(fsConfigContents);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void loadConfig(LinkedHashMap<String, Object> configurationEntries)
|
||||||
|
{
|
||||||
|
configurationEntries.putAll(configurationEntries);
|
||||||
|
}
|
||||||
|
private Object getConfigValue(String key)
|
||||||
|
{
|
||||||
|
return configurationEntries.get(key);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user