Changed enum names and added reference to joblist.
This commit is contained in:
@@ -6,7 +6,7 @@ package vslab1.src.Request;
|
||||
|
||||
import vslab1.src.Terminatable;
|
||||
import vslab1.src.FileReaderWriter.FileReaderWriter;
|
||||
import vslab1.src.FileReaderWriter.FileReaderWriter.EUpdated;
|
||||
import vslab1.src.FileReaderWriter.FileReaderWriter.EUpdateFlag;
|
||||
import vslab1.src.Peers.EOnlineState;
|
||||
import vslab1.src.Peers.Peer;
|
||||
import vslab1.src.Receiving.ReceivedData;
|
||||
@@ -19,6 +19,7 @@ import vslab1.src.Request.Data.PullFileRequestRequest;
|
||||
import vslab1.src.Request.Data.Requestable;
|
||||
import vslab1.src.Request.Data.SendFileReplyRequest;
|
||||
import vslab1.src.Sending.SendingQueue;
|
||||
import vslab1.src.Timeout.JobList;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
@@ -29,9 +30,13 @@ public class RequestExecuterThread extends Thread implements Terminatable {
|
||||
private SendingQueue sendingQueue = null;
|
||||
private ReceivingQueue receivingQueue = null;
|
||||
|
||||
public RequestExecuterThread(SendingQueue sendingQueue, ReceivingQueue receivingQueue) {
|
||||
private JobList jobList = null;
|
||||
|
||||
public RequestExecuterThread(SendingQueue sendingQueue, ReceivingQueue receivingQueue, JobList jobList) {
|
||||
this.sendingQueue = sendingQueue;
|
||||
this.receivingQueue = receivingQueue;
|
||||
|
||||
this.jobList = jobList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -42,7 +47,7 @@ public class RequestExecuterThread extends Thread implements Terminatable {
|
||||
|
||||
JSONObject receivedDataAsJSONObject = new JSONObject(receivedData.data());
|
||||
|
||||
Requestable request = toRequestable(receivedDataAsJSONObject);
|
||||
Requestable request = toRequestable(receivedDataAsJSONObject, jobList);
|
||||
if (request != null) {
|
||||
request.execute(sendingQueue);
|
||||
}
|
||||
@@ -59,15 +64,15 @@ public class RequestExecuterThread extends Thread implements Terminatable {
|
||||
this.interrupt();
|
||||
}
|
||||
|
||||
private static Requestable toRequestable(JSONObject receivedData) {
|
||||
private static Requestable toRequestable(JSONObject receivedData, JobList jobList) {
|
||||
if (receivedData.has("onlineState")) {
|
||||
String onlineState = receivedData.getString("onlineState");
|
||||
switch (onlineState) {
|
||||
case "": {
|
||||
return new OnlineStateNotificationRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.NotUpdated));
|
||||
return new OnlineStateNotificationRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate), jobList);
|
||||
}
|
||||
case "online": {
|
||||
return new OnlineStateRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.NotUpdated));
|
||||
return new OnlineStateRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate));
|
||||
}
|
||||
default: {
|
||||
System.err.println("Unknown online state.");
|
||||
@@ -76,21 +81,21 @@ public class RequestExecuterThread extends Thread implements Terminatable {
|
||||
}
|
||||
}
|
||||
if (receivedData.has("pullFileList")) {
|
||||
return new PullFileListRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.Updated));
|
||||
return new PullFileListRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.Update));
|
||||
}
|
||||
if (receivedData.has("publishFileName")) {
|
||||
String fileName = receivedData.getString("publishFileName");
|
||||
return new PublishFileNameNotificationRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.NotUpdated), fileName);
|
||||
return new PublishFileNameNotificationRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate), fileName);
|
||||
}
|
||||
if (receivedData.has("pullFile")) {
|
||||
String fileName = receivedData.getString("pullFile");
|
||||
return new PullFileRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.NotUpdated), fileName);
|
||||
return new PullFileRequestRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate), fileName);
|
||||
}
|
||||
if (receivedData.has("sendFile")) {
|
||||
String fileContent = receivedData.getString("sendFile");
|
||||
String fileName = receivedData.getString("fileName");
|
||||
|
||||
return new SendFileReplyRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdated.NotUpdated), fileName, fileContent);
|
||||
return new SendFileReplyRequest(parseIPPortField(receivedData), FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate), fileName, fileContent);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user