school/cs240/record-indexer/src/client/communication/Communicator.java

120 lines
3.4 KiB
Java

package client.communication;
import client.communication.errors.RemoteServerErrorException;
import client.communication.errors.UnauthorizedAccessException;
import client.communication.modules.HttpClient;
import shared.communication.params.*;
import shared.communication.responses.*;
import java.io.ByteArrayOutputStream;
public class Communicator {
public Communicator(String serverPath) {
this.serverPath = serverPath;
}
private String serverPath;
public String getServerPath() {
return serverPath;
}
public ValidateUser_Res validateUser(ValidateUser_Param user)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "validateUser/";
String response = HttpClient.post(serverPath + resource, user.toXML());
if(response == null)
return null;
return ValidateUser_Res.serialize(response);
}
public Projects_Res getProjects(Projects_Param projects)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "getProjects/";
String response = HttpClient.post(serverPath + resource, projects.toXML());
if(response == null)
return null;
return Projects_Res.serialize(response);
}
public SampleImage_Res getSampleImage(SampleImage_Param sampleImage)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "getSampleImage/";
String response = HttpClient.post(serverPath + resource, sampleImage.toXML());
if(response == null)
return null;
return SampleImage_Res.serialize(response);
}
public DownloadBatch_Res downloadBatch(DownloadBatch_Param downloadBatch)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "downloadBatch/";
String response = HttpClient.post(serverPath + resource, downloadBatch.toXML());
if(response == null)
return null;
return DownloadBatch_Res.serialize(response);
}
public SubmitBatch_Res submitBatch(SubmitBatch_Param submitBatch)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "submitBatch/";
String response = HttpClient.post(serverPath + resource, submitBatch.toXML());
if(response == null)
return null;
return SubmitBatch_Res.serialize(response);
}
public Fields_Res getFields(Fields_Param fields)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "getFields/";
String response = HttpClient.post(serverPath + resource, fields.toXML());
if(response == null)
return null;
return Fields_Res.serialize(response);
}
public Search_Res search(Search_Param search)
throws UnauthorizedAccessException, RemoteServerErrorException {
String resource = "search/";
String response = HttpClient.post(serverPath + resource, search.toXML());
if(response == null)
return null;
return Search_Res.serialize(response);
}
public ByteArrayOutputStream downloadStatic(String resource) {
try {
return HttpClient.getStatic(serverPath+resource);
} catch (UnauthorizedAccessException e) {
return null;
} catch (RemoteServerErrorException e) {
return null;
}
}
}