From e20f9d34c9b74e30cc268dab5f407c9d16a01671 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sat, 11 Apr 2020 12:50:27 +0800 Subject: [PATCH] =?UTF-8?q?[Change]=20=E8=B0=83=E6=95=B4=E5=8C=85=E8=B7=AF?= =?UTF-8?q?=E5=BE=84,=20=E5=A2=9E=E5=8A=A0=20loadGlobalProperties=20?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E4=BB=A5=E6=8F=90=E4=BE=9B=E9=87=8D=E8=BD=BD?= =?UTF-8?q?=E6=96=B9=E5=BC=8F;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BotAdminCommandProcess.java} | 48 ++++++++++++++----- 1 file changed, 35 insertions(+), 13 deletions(-) rename src/main/java/net/lamgc/cgj/{CQBotAdminProcess.java => bot/BotAdminCommandProcess.java} (54%) diff --git a/src/main/java/net/lamgc/cgj/CQBotAdminProcess.java b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java similarity index 54% rename from src/main/java/net/lamgc/cgj/CQBotAdminProcess.java rename to src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java index eb10e0a..4646b3a 100644 --- a/src/main/java/net/lamgc/cgj/CQBotAdminProcess.java +++ b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java @@ -1,4 +1,4 @@ -package net.lamgc.cgj; +package net.lamgc.cgj.bot; import com.google.common.base.Strings; import net.lamgc.utils.base.runner.Argument; @@ -6,25 +6,26 @@ import net.lamgc.utils.base.runner.Command; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; +import java.io.*; import java.util.Date; +import java.util.Properties; -public class CQBotAdminProcess { +public class BotAdminCommandProcess { - private final static Logger log = LoggerFactory.getLogger("CQBotAdminProcess"); + private final static Logger log = LoggerFactory.getLogger(BotAdminCommandProcess.class.getSimpleName()); + + private final static File globalPropFile = new File("./global.properties"); @Command public String clearCache() { - CQProcess.clearCache(); + BotCommandProcess.clearCache(); return "操作已完成."; } @Command public String setGlobalProperty(@Argument(name = "key") String key, @Argument(name = "value") String value, @Argument(name = "save", force = false) boolean saveNow) { - String lastValue = CQPluginMain.globalProp.getProperty(key); - CQPluginMain.globalProp.setProperty(key, Strings.nullToEmpty(value)); + String lastValue = BotCommandProcess.globalProp.getProperty(key); + BotCommandProcess.globalProp.setProperty(key, Strings.nullToEmpty(value)); if(saveNow) { saveGlobalProperties(); } @@ -33,13 +34,13 @@ public class CQBotAdminProcess { @Command public String getGlobalProperty(@Argument(name = "key") String key) { - return "全局配置项 " + key + " 当前值: " + CQPluginMain.globalProp.getProperty(key, "(Empty)"); + return "全局配置项 " + key + " 当前值: " + BotCommandProcess.globalProp.getProperty(key, "(Empty)"); } @Command public String saveGlobalProperties() { log.info("正在保存全局配置文件..."); - File globalPropFile = new File("./global.properties"); + try { if(!globalPropFile.exists()) { if(!globalPropFile.createNewFile()) { @@ -47,7 +48,7 @@ public class CQBotAdminProcess { return "全局配置项文件保存失败!"; } } - CQPluginMain.globalProp.store(new FileOutputStream(globalPropFile), ""); + BotCommandProcess.globalProp.store(new FileOutputStream(globalPropFile), ""); log.info("全局配置文件保存成功!"); return "保存全局配置文件 - 操作已完成."; } catch (IOException e) { @@ -56,10 +57,31 @@ public class CQBotAdminProcess { } } + @Command + public String loadGlobalProperties(@Argument(name = "reload", force = false) boolean reload) { + Properties cache = new Properties(); + if(!globalPropFile.exists()) { + return "未找到全局配置文件, 无法重载"; + } + + try(Reader reader = new BufferedReader(new FileReader(globalPropFile))) { + cache.load(reader); + } catch (IOException e) { + log.error("重载全局配置文件时发生异常", e); + return "加载全局配置文件时发生错误!"; + } + + if(reload) { + BotCommandProcess.globalProp.clear(); + } + BotCommandProcess.globalProp.putAll(cache); + return "全局配置文件重载完成."; + } + @Command public String runUpdateTask(@Argument(force = false, name = "date") Date queryTime) { try { - CQProcess.runUpdateTimer(queryTime); + BotCommandProcess.runUpdateTimer(queryTime); } catch (Exception e) { log.error("执行更新任务时发生异常", e); return "操作执行时发生错误!";