From b603f297f71447e2c51798beef18fdd6d3c54723 Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Sun, 7 Apr 2024 12:00:38 +0200 Subject: [PATCH] Replaced code since there is now a method updatePeer to add information to peer. --- .../PublishFileNameNotificationRequest.java | 32 ++++++------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/src/main/java/vslab1/src/Request/Data/PublishFileNameNotificationRequest.java b/src/main/java/vslab1/src/Request/Data/PublishFileNameNotificationRequest.java index bc24de4..8a9e295 100644 --- a/src/main/java/vslab1/src/Request/Data/PublishFileNameNotificationRequest.java +++ b/src/main/java/vslab1/src/Request/Data/PublishFileNameNotificationRequest.java @@ -3,8 +3,12 @@ package vslab1.src.Request.Data; import java.io.File; import java.io.FileReader; import java.io.FileWriter; +import java.util.HashMap; +import java.util.Map; import vslab1.src.Constants; +import vslab1.src.FileReaderWriter.FileReaderWriter; +import vslab1.src.Peers.EOnlineState; import vslab1.src.Peers.Peer; import vslab1.src.Sending.SendingQueue; import vslab1.src.Sending.Data.EDataType; @@ -32,29 +36,11 @@ public record PublishFileNameNotificationRequest(Peer sender, Peer receiver, Str @Override public void execute(SendingQueue sendingQueue) { - String senderIpPort = sender.ipAddress() + ":" + sender.port(); - - try { - FileReader reader = new FileReader(Constants.PEERCONFIGFILEPATH + File.separator + Constants.PEERCONFIGFILENAME); - // Parse JSON file into a JSONObject - JSONObject peerFileAsJSONObject = new JSONObject(new JSONTokener(reader)); - reader.close(); - JSONArray peers = peerFileAsJSONObject.getJSONArray("peers"); - // Goes through json array and inserts new file at element that matches ip and port. - peers.forEach((peer) -> { - JSONObject peerAsJSONObject = (JSONObject)peer; - if ((peerAsJSONObject).getString("ipPort").equals(senderIpPort)) { - peerAsJSONObject.append("files", fileName); - } - }); - - FileWriter writer = new FileWriter(Constants.PEERCONFIGFILEPATH + File.separator + Constants.PEERCONFIGFILENAME); - // Writes the modified object back to the file. - writer.write(peerFileAsJSONObject.toString()); - writer.close(); - } catch (Exception e) { - e.printStackTrace(); - } + Map fileToAdd = new HashMap(); + // Filepath is empty since this peer doesn't know paths only file names of other peers. + fileToAdd.put(fileName, ""); + Peer peerToUpdate = new Peer(sender.ipAddress(), sender.port(), fileToAdd, EOnlineState.Online); + FileReaderWriter.updatePeer(peerToUpdate); } }