From 4c410cb7e74431f2f7d8a45c94156f1bb1b61061 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sat, 17 Jun 2017 14:11:10 +0300 Subject: [PATCH] =?UTF-8?q?Zond:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D0=BD=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zond/src/main/java/asys/zond/Config.java | 22 +++++++++++++++++-- zond/src/main/java/asys/zond/Main.java | 21 +----------------- .../java/asys/zond/ZondCommandHandler.java | 7 ++++++ 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/zond/src/main/java/asys/zond/Config.java b/zond/src/main/java/asys/zond/Config.java index ba2ed4b..9fb6036 100644 --- a/zond/src/main/java/asys/zond/Config.java +++ b/zond/src/main/java/asys/zond/Config.java @@ -4,8 +4,7 @@ */ package asys.zond; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.Properties; public class Config { @@ -26,6 +25,25 @@ public class Config { } } + void load() throws IOException { + File zondPropertiesFile = new File("zond.properties"); + if (!zondPropertiesFile.exists()) { + InputStream stream = Config.class.getResourceAsStream("/zond.properties"); + FileOutputStream fos = new FileOutputStream(zondPropertiesFile); + byte[] buff = new byte[128]; + int len; + while ((len = stream.read(buff)) > 0) { + fos.write(buff, 0, len); + } + fos.flush(); + fos.close(); + } + + FileInputStream fis = new FileInputStream(zondPropertiesFile); + load(fis); + fis.close(); + } + public String getString(String key) { return properties.getProperty(key); } diff --git a/zond/src/main/java/asys/zond/Main.java b/zond/src/main/java/asys/zond/Main.java index ce9de6b..dcecf7b 100644 --- a/zond/src/main/java/asys/zond/Main.java +++ b/zond/src/main/java/asys/zond/Main.java @@ -25,7 +25,7 @@ public class Main { private void start(String[] args) { try { - loadConfig(); + Config.getInstance().load(); } catch (IOException e) { e.printStackTrace(); System.exit(-2); @@ -54,23 +54,4 @@ public class Main { PumpStreamHandler pumpStreamHandler = new PumpStreamHandler(stdout); executor.setStreamHandler(pumpStreamHandler); } - - private void loadConfig() throws IOException { - File zondPropertiesFile = new File("zond.properties"); - if (!zondPropertiesFile.exists()) { - InputStream stream = Main.class.getResourceAsStream("/zond.properties"); - FileOutputStream fos = new FileOutputStream(zondPropertiesFile); - byte[] buff = new byte[65536]; - int len; - while ((len = stream.read(buff)) > 0) { - fos.write(buff, 0, len); - } - fos.flush(); - fos.close(); - } - - FileInputStream fis = new FileInputStream(zondPropertiesFile); - Config.getInstance().load(fis); - fis.close(); - } } \ No newline at end of file diff --git a/zond/src/main/java/asys/zond/ZondCommandHandler.java b/zond/src/main/java/asys/zond/ZondCommandHandler.java index 68796fc..bc13f4b 100644 --- a/zond/src/main/java/asys/zond/ZondCommandHandler.java +++ b/zond/src/main/java/asys/zond/ZondCommandHandler.java @@ -65,6 +65,13 @@ public class ZondCommandHandler implements CommandHandler { Connector.getInstance().startReconnect(); } else if (line.equalsIgnoreCase("disconnect")) { Connector.getInstance().shutdown(); + } else if (line.equalsIgnoreCase("reload")) { + Shell.getInstance().getOutput().println("Reload config"); + try { + Config.getInstance().load(); + } catch (IOException e) { + e.printStackTrace(); + } } }