You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
misp/mispmock/src/ActorRunnable.java

67 lines
1.6 KiB

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Generic Runnable.
* Serves as basis for Actors that are not Servlets.
*/
public abstract class ActorRunnable implements Runnable {
List<HttpServletResponse> responses = new ArrayList<>();
List<HttpServletRequest> requests = new ArrayList<>();
protected MockSet mockSet;
public ActorRunnable(MockSet mockSet){
this.mockSet = mockSet;
}
@Override
public void run() {
while (true) {
if (requests.size() > 0) {
try {
processRequests(requests.remove(0));
} catch (IOException | ServletException e) {
e.printStackTrace();
}
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void processRequests(HttpServletRequest request) throws IOException, ServletException {
if (request.getMethod().equalsIgnoreCase("GET")) {
doGet(request, null);
} else if (request.getMethod().equalsIgnoreCase("POST")) {
doPost(request, null);
}
}
abstract void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException;
abstract void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException;
}