Peer class related.

This commit is contained in:
WickedJack99
2024-04-01 17:26:53 +02:00
parent d6b840e485
commit eb2e96b107
3 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
package java.src.FileReaderWriter;
import java.src.Peers.EOnlineState;
import java.src.Peers.Peer;
public class FileReaderWriter {
public enum EUpdated {
NotUpdated,
Updated
}
private static Peer thisPeerBuffer = null;
public static Peer getThisPeer(EUpdated updateState) {
switch (updateState) {
case NotUpdated: {
if (thisPeerBuffer == null) {
return getThisPeer(EUpdated.Updated);
} else {
return thisPeerBuffer;
}
}
case Updated: {
return updateThisPeerBufferFromFile();
}
default: {
System.err.println("Unknown peer update type.");
return null;
}
}
}
private static synchronized Peer updateThisPeerBufferFromFile() {
// TODO unimplemented
// read from file this peers data
String ipAddress = null;
int port = 5000;
thisPeerBuffer = new Peer(ipAddress, port, null, EOnlineState.Online); // change to valid data once implemented
return thisPeerBuffer;
}
public static synchronized void updatePeerList(Peer updatedPeer) {
// TODO update peer list
}
}

View File

@@ -0,0 +1,16 @@
/**
* @author Aaron Moser
*/
package java.src.Peers;
import java.util.List;
public record Peer(String ipAddress, int port, List<String> fileList, EOnlineState onlineState) {
public void addFile(String fileName) {
if (!fileList.contains(fileName)) {
fileList.add(fileName);
}
}
}

View File

@@ -0,0 +1,35 @@
package java.src.Peers;
import java.io.FileReader;
import java.util.LinkedList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
public class PeerOrganizer {
private Peer localPeer;
public Peer getLocalPeer() {
return this.localPeer;
}
public List<Peer> getPeers() {
List<Peer> peersAsList = new LinkedList<Peer>();
try (FileReader reader = new FileReader("./src/main/resources/peers.json")) {
// Parse JSON file into a JSONObject
JSONObject jsonObject = new JSONObject(new JSONTokener(reader));
JSONArray peers = jsonObject.getJSONArray("peers");
peers.forEach((peer) -> {
});
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}