~ mockspeed 0.

pull/1/head
Ivan Olexyn 5 years ago
parent 8829264c57
commit ee08b92cd9

@ -16,7 +16,7 @@ public class ClientServlet extends HttpServlet {
protected static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core";
protected static final String APP_URL = "http://localhost:9090";
public static final int AVAILABLE_RIDES_OVERHEAD = 1;
public static final int AVAILABLE_RIDES_OVERHEAD = 512;
@ -138,7 +138,7 @@ class PostRideRunnable implements Runnable {
if (availableRides< ClientServlet.AVAILABLE_RIDES_OVERHEAD) {
try {clientServlet.sendPostRide(new Ride());} catch (IOException | ServletException | InterruptedException e) { e.printStackTrace(); }
}
try {Thread.sleep(500);} catch (InterruptedException e) { e.printStackTrace(); }
try {Thread.sleep(100);} catch (InterruptedException e) { e.printStackTrace(); }
}
}
}

@ -1,5 +1,6 @@
package actor;
import core.Main;
import core.MockSet;
import exchange.ExchangeMock;
import exchange.RequestMock;
@ -23,7 +24,7 @@ public class AppMock extends ActorRunnable {
public void run() {
while (true) {
try {
Thread.sleep(100);
Thread.sleep(Main.MOCK_SPEED);
} catch (InterruptedException e) {
e.printStackTrace();

@ -7,10 +7,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import core.ConnectionHelper;
import core.MockSet;
import core.Ride;
import core.State;
import core.*;
import exchange.ExchangeMock;
public class UserMock extends ActorRunnable {
@ -26,7 +23,7 @@ public class UserMock extends ActorRunnable {
public void run() {
while (true){
try {
Thread.sleep(1000);
Thread.sleep(Main.MOCK_SPEED);
sendGetRequest();
} catch (IOException | InterruptedException e) {
e.printStackTrace();

@ -4,32 +4,17 @@ import exchange.ExchangeMock;
import exchange.RequestMock;
import org.apache.commons.io.IOUtils;
import org.json.JSONObject;
import org.springframework.mock.web.MockHttpServletRequest;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
public class BridgeMock extends BridgeServlet {
private MockSet mockSet;
public BridgeMock(MockSet mockSet) {
super();
mockSet.bridgeMock = this;
this.mockSet = mockSet;
}
// #######
//
// #######
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
super.doGet(request, response);
}
@ -51,24 +36,27 @@ public class BridgeMock extends BridgeServlet {
JSONObject obj = new JSONObject(parsedRequest);
parsedRequest = obj.getString("request");
while (mapHelper.containsLess(1, State.AVAILABLE)) { Thread.sleep(Main.MOCK_SPEED); }
while (mapHelper.containsLess(1, State.AVAILABLE)) { Thread.sleep(100); }
Ride ride = null;
for (int i = 0; ride ==null; i++){
ride = mapHelper.pickAvailable();
if (i!=0){
Thread.sleep(Main.MOCK_SPEED);}
}
Ride ride = mapHelper.pickAvailable();
synchronized (ride) {
ride.setRequest(parsedRequest);
ride.setState(State.BOOKED);
while (ride.getState() != State.LOADED) {
ride.notify();
Thread.sleep(100);
Thread.sleep(Main.MOCK_SPEED);
ride.wait();
}
rideMap.remove(ride.getID());
exchange.response.setStatus(200);
@ -78,19 +66,12 @@ public class BridgeMock extends BridgeServlet {
writer.close();
ride.notify();
}
exchange.notify();
}
}
/**
* handle GET (Ride)(Data)
* if Ride in ForwardedRequest
@ -104,6 +85,7 @@ public class BridgeMock extends BridgeServlet {
* add Ride to EOL
*/
protected void handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
RequestMock mockRequest = (RequestMock) request;
ExchangeMock exchange = mockRequest.exchange;
@ -116,39 +98,16 @@ public class BridgeMock extends BridgeServlet {
thisRide.setData(parsedRide.getData());
thisRide.setState(State.LOADED);
exchange.response.setStatus(200);
PrintWriter writer = response.getWriter();
writer.write(thisRide.json());
writer.flush();
writer.close();
thisRide.notify();
}
exchange.notify();
}
}
// #######
//
// #######
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
super.doPost(request, response);
// RequestMock mockRequest = (RequestMock) request;
// ExchangeMock exchange = mockRequest.exchange;
// synchronized (exchange) {
// super.doPost(request, response);
// }
}
@ -167,20 +126,16 @@ public class BridgeMock extends BridgeServlet {
String jsonPayload = IOUtils.toString(request.getReader());
Ride ride = new Ride(jsonPayload);
synchronized (ride) {
rideMap.put(ride.getID(), ride.setState(State.AVAILABLE));
while (ride.getState() == State.AVAILABLE) {
ride.notify();
Thread.sleep(100);
Thread.sleep(Main.MOCK_SPEED);
ride.wait();
}
exchange.response.setStatus(200);
PrintWriter writer = response.getWriter();
//writer.print(ride.json());
writer.write(ride.json());
writer.flush();
writer.close();
@ -188,9 +143,5 @@ public class BridgeMock extends BridgeServlet {
}
exchange.notify();
}
}
}

@ -1,7 +1,5 @@
package core;
import core.BridgeMock;
/**
* Pass the MockSet.
* Provide a Runnable.

@ -1,12 +1,10 @@
package core;
import exchange.ExchangeMock;
import org.json.JSONObject;
import javax.servlet.ServletException;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
/**
* Wraps a ClientServlet so it can be debugged easily, i.e. without running Tomcat.
@ -15,18 +13,19 @@ public class ClientMock extends ClientServlet {
private MockSet mockSet;
public ClientMock(MockSet mockSet) {
super();
mockSet.clientMock = this;
this.mockSet = mockSet;
}
@Override
void sendPostRide(Ride ride) throws IOException, ServletException, InterruptedException {
rideMap.put(ride.getID(), ride.setState(State.AVAILABLE));
// Mock Exchange
ExchangeMock exchange = new ExchangeMock();
@ -48,8 +47,6 @@ public class ClientMock extends ClientServlet {
}
ride.setState(State.BOOKED);
sendGetRequest(ride);
}
@ -79,7 +76,6 @@ public class ClientMock extends ClientServlet {
}
ride.setState(State.LOADED);
sendGetRideRequestData(ride);
}

@ -1,7 +1,5 @@
package core;
import core.ClientMock;
/**
* Pass the MockSet.
* Provide a Runnable.

@ -2,13 +2,10 @@ package core;
import actor.AppMock;
import actor.UserMock;
import core.BridgeRunnable;
import core.ClientRunnable;
import core.MockSet;
public class Main {
final public static int MOCK_SPEED = 0;
@ -34,8 +31,6 @@ public class Main {
clientThread.start();
appThread.setName("appThread");
appThread.start();
int br =0;
}
}

@ -2,8 +2,6 @@ package core;
import actor.AppMock;
import actor.UserMock;
import core.BridgeMock;
import core.ClientMock;
public class MockSet {
public UserMock userMock;

Loading…
Cancel
Save