From efd9313885936080517f8f191e9a91622ba0861e Mon Sep 17 00:00:00 2001 From: Ivan Olexyn Date: Mon, 21 Dec 2020 00:56:40 +0100 Subject: [PATCH] add json mode --- pom.xml | 8 +++-- src/main/java/com/olexyn/ensync/Main.java | 31 ++++++++++++++++++- .../java/com/olexyn/ensync/OperationMode.java | 6 ++++ src/main/resources/config.json | 12 +++++++ 4 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/olexyn/ensync/OperationMode.java create mode 100644 src/main/resources/config.json diff --git a/pom.xml b/pom.xml index 8674590..0c834b9 100644 --- a/pom.xml +++ b/pom.xml @@ -88,9 +88,11 @@ system /home/user/app/javafx-sdk-11.0.2/lib/javafx-swt.jar - - - + + org.json + json + 20190722 + diff --git a/src/main/java/com/olexyn/ensync/Main.java b/src/main/java/com/olexyn/ensync/Main.java index 085db53..43c28db 100644 --- a/src/main/java/com/olexyn/ensync/Main.java +++ b/src/main/java/com/olexyn/ensync/Main.java @@ -3,7 +3,14 @@ package com.olexyn.ensync; import com.olexyn.ensync.artifacts.SyncMap; import com.olexyn.ensync.ui.UI; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.File; import java.util.HashMap; +import java.util.List; +import java.util.Map; public class Main{ @@ -11,10 +18,32 @@ public class Main{ final public static Thread UI_THREAD = new Thread(new UI(), "ui"); final public static Thread FLOW_THREAD = new Thread(new Flow(), "flow"); final public static HashMap MAP_OF_SYNCMAPS = new HashMap<>(); + final private static Tools tools = new Tools(); public static void main(String[] args) { - UI_THREAD.start(); + OperationMode operationMode = OperationMode.JSON; + + switch (operationMode) { + case JAVA_FX: + UI_THREAD.start(); + break; + case JSON: + String configPath = System.getProperty("user.dir") + "/src/main/resources/config.json"; + String configString = tools.fileToString(new File(configPath)); + JSONObject jsonMapOfSyncMaps = new JSONObject(configString).getJSONObject("jsonMapOfSyncMaps"); + for (String key : jsonMapOfSyncMaps.keySet()) { + SyncMap syncMap = new SyncMap(key); + for (Object jsonSyncDirPath : jsonMapOfSyncMaps.getJSONArray(key).toList()) { + syncMap.addDirectory(jsonSyncDirPath.toString()); + } + MAP_OF_SYNCMAPS.put(key, syncMap); + } + break; + default: + } + + FLOW_THREAD.start(); } } diff --git a/src/main/java/com/olexyn/ensync/OperationMode.java b/src/main/java/com/olexyn/ensync/OperationMode.java new file mode 100644 index 0000000..1d81975 --- /dev/null +++ b/src/main/java/com/olexyn/ensync/OperationMode.java @@ -0,0 +1,6 @@ +package com.olexyn.ensync; + +public enum OperationMode { + JAVA_FX, + JSON +} diff --git a/src/main/resources/config.json b/src/main/resources/config.json new file mode 100644 index 0000000..07f6f02 --- /dev/null +++ b/src/main/resources/config.json @@ -0,0 +1,12 @@ +{ + "jsonMapOfSyncMaps": { + "syncMap1": [ + "/home/user/test/a", + "/home/user/test/b" + ], + "syncMap2": [ + "/home/user/test/c", + "/home/user/test/d" + ] + } +}