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" + ] + } +}