Peer class related.
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
16
src/main/java/java/src/Peers/Peer.java
Normal file
16
src/main/java/java/src/Peers/Peer.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
35
src/main/java/java/src/Peers/PeerOrganizer.java
Normal file
35
src/main/java/java/src/Peers/PeerOrganizer.java
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user