diff --git a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java index 03ecd56..c095d2a 100644 --- a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java +++ b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java @@ -29,10 +29,10 @@ private JCheckBox autoCheckBox; private JButton updateTimeButton; - private final ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor( 1, new ThreadFactoryBuilder().setNameFormat("demo-pool-%d").build()); private boolean hasNtp = false; + private final String serverConfig; public static void main(String[] args) { new TimeGuardNtp(); @@ -50,6 +50,7 @@ stateView.setText("未同步"); setStateView(Color.GRAY); + StringHelper.createLogFile(); //检查环境 new SwingWorker() { @@ -70,7 +71,7 @@ } }.execute(); - StringHelper.createLogFile(); + serverConfig = StringHelper.getConfigData(); /** * 时间间隔,单位为毫秒 * */ @@ -80,14 +81,14 @@ currentTimeLabel.setText(systemTime); }).start(); - String assertsData = StringHelper.getAssertsData(); + String assertsData = StringHelper.getLogData(); if (!"".equals(assertsData)) { recentlyTimeLabel.setText(assertsData); } else { recentlyTimeLabel.setText("无法确定最近同步时间"); } - Request request = new Request.Builder().url(Constant.FREQUENCY_URL).build(); + Request request = new Request.Builder().url(serverConfig + Constant.FREQUENCY_URL).build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { @Override public void onSuccess(String s) { @@ -175,7 +176,7 @@ e.printStackTrace(); } Request request = new Request.Builder() - .url(Constant.SYNCHRONIZE_URL) + .url(serverConfig + Constant.SYNCHRONIZE_URL) .post(HttpRequestHelper.createRequestBody(object.toJSONString())) .build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { diff --git a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java index 03ecd56..c095d2a 100644 --- a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java +++ b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java @@ -29,10 +29,10 @@ private JCheckBox autoCheckBox; private JButton updateTimeButton; - private final ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor( 1, new ThreadFactoryBuilder().setNameFormat("demo-pool-%d").build()); private boolean hasNtp = false; + private final String serverConfig; public static void main(String[] args) { new TimeGuardNtp(); @@ -50,6 +50,7 @@ stateView.setText("未同步"); setStateView(Color.GRAY); + StringHelper.createLogFile(); //检查环境 new SwingWorker() { @@ -70,7 +71,7 @@ } }.execute(); - StringHelper.createLogFile(); + serverConfig = StringHelper.getConfigData(); /** * 时间间隔,单位为毫秒 * */ @@ -80,14 +81,14 @@ currentTimeLabel.setText(systemTime); }).start(); - String assertsData = StringHelper.getAssertsData(); + String assertsData = StringHelper.getLogData(); if (!"".equals(assertsData)) { recentlyTimeLabel.setText(assertsData); } else { recentlyTimeLabel.setText("无法确定最近同步时间"); } - Request request = new Request.Builder().url(Constant.FREQUENCY_URL).build(); + Request request = new Request.Builder().url(serverConfig + Constant.FREQUENCY_URL).build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { @Override public void onSuccess(String s) { @@ -175,7 +176,7 @@ e.printStackTrace(); } Request request = new Request.Builder() - .url(Constant.SYNCHRONIZE_URL) + .url(serverConfig + Constant.SYNCHRONIZE_URL) .post(HttpRequestHelper.createRequestBody(object.toJSONString())) .build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { diff --git a/src/main/java/com/casic/swing/utils/Constant.java b/src/main/java/com/casic/swing/utils/Constant.java index 495a62a..d1a00a3 100644 --- a/src/main/java/com/casic/swing/utils/Constant.java +++ b/src/main/java/com/casic/swing/utils/Constant.java @@ -4,9 +4,8 @@ * @author a203 */ public class Constant { - private static final String BASE_URL = "http://localhost:11410"; - public static final String FREQUENCY_URL = BASE_URL + "/config/findSingle?paraName=NTP_FREQUENCY"; - public static final String SYNCHRONIZE_URL = BASE_URL + "/ntp/saveResult"; + public static final String FREQUENCY_URL = "/config/findSingle?paraName=NTP_FREQUENCY"; + public static final String SYNCHRONIZE_URL = "/ntp/saveResult"; public static final String[] HOST_NAME = {"NTP服务器(上海)", "中国国家授时中心", "清华大学", "北京大学"}; diff --git a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java index 03ecd56..c095d2a 100644 --- a/src/main/java/com/casic/swing/ui/TimeGuardNtp.java +++ b/src/main/java/com/casic/swing/ui/TimeGuardNtp.java @@ -29,10 +29,10 @@ private JCheckBox autoCheckBox; private JButton updateTimeButton; - private final ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor( 1, new ThreadFactoryBuilder().setNameFormat("demo-pool-%d").build()); private boolean hasNtp = false; + private final String serverConfig; public static void main(String[] args) { new TimeGuardNtp(); @@ -50,6 +50,7 @@ stateView.setText("未同步"); setStateView(Color.GRAY); + StringHelper.createLogFile(); //检查环境 new SwingWorker() { @@ -70,7 +71,7 @@ } }.execute(); - StringHelper.createLogFile(); + serverConfig = StringHelper.getConfigData(); /** * 时间间隔,单位为毫秒 * */ @@ -80,14 +81,14 @@ currentTimeLabel.setText(systemTime); }).start(); - String assertsData = StringHelper.getAssertsData(); + String assertsData = StringHelper.getLogData(); if (!"".equals(assertsData)) { recentlyTimeLabel.setText(assertsData); } else { recentlyTimeLabel.setText("无法确定最近同步时间"); } - Request request = new Request.Builder().url(Constant.FREQUENCY_URL).build(); + Request request = new Request.Builder().url(serverConfig + Constant.FREQUENCY_URL).build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { @Override public void onSuccess(String s) { @@ -175,7 +176,7 @@ e.printStackTrace(); } Request request = new Request.Builder() - .url(Constant.SYNCHRONIZE_URL) + .url(serverConfig + Constant.SYNCHRONIZE_URL) .post(HttpRequestHelper.createRequestBody(object.toJSONString())) .build(); HttpRequestHelper.doHttpRequest(request, new IHttpCallback() { diff --git a/src/main/java/com/casic/swing/utils/Constant.java b/src/main/java/com/casic/swing/utils/Constant.java index 495a62a..d1a00a3 100644 --- a/src/main/java/com/casic/swing/utils/Constant.java +++ b/src/main/java/com/casic/swing/utils/Constant.java @@ -4,9 +4,8 @@ * @author a203 */ public class Constant { - private static final String BASE_URL = "http://localhost:11410"; - public static final String FREQUENCY_URL = BASE_URL + "/config/findSingle?paraName=NTP_FREQUENCY"; - public static final String SYNCHRONIZE_URL = BASE_URL + "/ntp/saveResult"; + public static final String FREQUENCY_URL = "/config/findSingle?paraName=NTP_FREQUENCY"; + public static final String SYNCHRONIZE_URL = "/ntp/saveResult"; public static final String[] HOST_NAME = {"NTP服务器(上海)", "中国国家授时中心", "清华大学", "北京大学"}; diff --git a/src/main/java/com/casic/swing/utils/StringHelper.java b/src/main/java/com/casic/swing/utils/StringHelper.java index d290cfe..58aa4ba 100644 --- a/src/main/java/com/casic/swing/utils/StringHelper.java +++ b/src/main/java/com/casic/swing/utils/StringHelper.java @@ -11,6 +11,7 @@ public class StringHelper { private static File logFile; + private static File configFile; public static void createLogFile() { File rootDir = new File(System.getProperty("user.dir") + File.separator + "logs"); @@ -18,8 +19,8 @@ rootDir.mkdir(); } logFile = new File(rootDir + File.separator + "update.log"); + configFile = new File(rootDir + File.separator + "config.txt"); if (!logFile.exists()) { - // 创建新文件,有同名的文件的话直接覆盖 try { logFile.createNewFile(); } catch (IOException e) { @@ -27,6 +28,24 @@ } } System.out.println("同步记录路径 ===> " + logFile.getAbsolutePath()); + if (!configFile.exists()) { + try { + configFile.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + } + //写入配置文件 + try { + FileWriter writer = new FileWriter(configFile); + BufferedWriter out = new BufferedWriter(writer); + out.write("http://localhost:11410"); + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + System.out.println("后台配置路径 ===> " + configFile.getAbsolutePath()); } public static void saveAssertsData(String data) { @@ -41,20 +60,35 @@ } } - public static String getAssertsData() { + public static String getLogData() { try { InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(logFile)); - BufferedReader bufferedReader = new BufferedReader(inputStreamReader); - StringBuilder data = new StringBuilder(); - String s; - try { - while ((s = bufferedReader.readLine()) != null) { - data.append(s); - } - return data.toString(); - } catch (IOException e) { - e.printStackTrace(); + return loadString(inputStreamReader); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String getConfigData() { + try { + InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(configFile)); + return loadString(inputStreamReader); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + private static String loadString(InputStreamReader reader) { + BufferedReader bufferedReader = new BufferedReader(reader); + StringBuilder data = new StringBuilder(); + String s; + try { + while ((s = bufferedReader.readLine()) != null) { + data.append(s); } + return data.toString(); } catch (IOException e) { e.printStackTrace(); }