From 1b18713d062b6cb279c418ef955572f7d8ac25db Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Mon, 22 Apr 2024 21:56:45 +0200 Subject: [PATCH] Updated functionality to add files into filelist of new peer. (I know it's not beautiful but atm time is limited) --- .../FileReaderWriter/FileReaderWriter.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/vslab1/src/FileReaderWriter/FileReaderWriter.java b/src/main/java/vslab1/src/FileReaderWriter/FileReaderWriter.java index 9c1eedb..6def935 100644 --- a/src/main/java/vslab1/src/FileReaderWriter/FileReaderWriter.java +++ b/src/main/java/vslab1/src/FileReaderWriter/FileReaderWriter.java @@ -277,10 +277,25 @@ public class FileReaderWriter { } if (containsPeer == false) { - JSONObject peerObject = new JSONObject( + String newPeerAsString = "{\"ipAddress\":\"" + peerToUpdate.ipAddress() + "\",\"port\":" + peerToUpdate.port() + - ",\"files\":[],\"onlineStatus\":\"offline\"}"); + ",\"files\":["; + if (peerToUpdate.filesMap() != null) { + for (Map.Entry file : peerToUpdate.filesMap().entrySet()) { + JSONObject fileObject = new JSONObject(); + fileObject.put("fileName", file.getKey()); + fileObject.put("filePath", file.getValue()); + + newPeerAsString += fileObject.toString() + ","; + } + // Remove last comma if fileList contains at least one file that has name of one char + if (newPeerAsString.endsWith(",")) { + newPeerAsString = newPeerAsString.substring(0, newPeerAsString.length() - 1); + } + } + newPeerAsString += "],\"onlineStatus\":\"" + peerToUpdate.onlineStateToString() + "\"}"; + JSONObject peerObject = new JSONObject(newPeerAsString); peersJSONArray.put(peerObject); }