- consequences of simplification.

pull/1/head
Ivan Olexyn 5 years ago
parent 5f0733c200
commit c7e7ec1d06

@ -13,12 +13,8 @@ public class BridgeServlet extends HttpServlet {
protected static final String MISP_CLIENT_URL = "http://localhost:9090/mispclient/core";
public List<Ride> availableRides = new ArrayList<>();
public List<Ride> reservedRides = new ArrayList<>();
public List<Ride> deliveredRides = new ArrayList<>();
protected List<Ride> newRequests = new ArrayList<>();
protected List<Ride> forwardedRequests = new ArrayList<>();
protected List<Ride> newData = new ArrayList<>();
protected List<Ride> forwardedData = new ArrayList<>();
protected List<Ride> deliveredData = new ArrayList<>();
// #######
//
@ -32,8 +28,8 @@ public class BridgeServlet extends HttpServlet {
if (jsonPayload.contains("LINK")) {
Thread handleGetLinkThread = new Thread(() -> {
try {
handleGetLink(request, response);
} catch (IOException e) {
handleGetRequest(request, response);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
});
@ -43,14 +39,6 @@ public class BridgeServlet extends HttpServlet {
boolean hasReqeust = ridePayload.getRequest() != null;
boolean hasData = ridePayload.getData() != null;
if (!hasReqeust && !hasData) {
Thread handleGetRideThread = new Thread(() -> handleGetRide(request, response));
handleGetRideThread.start();
}
if (hasReqeust && !hasData) {
Thread handleGetRideRequestThread = new Thread(() -> handleGetRideRequest(request, response));
handleGetRideRequestThread.start();
}
if (hasReqeust && hasData) {
Thread handleGetRideRequestDataThread = new Thread(() -> handleGetRideRequestData(request, response));
handleGetRideRequestDataThread.start();
@ -66,36 +54,8 @@ public class BridgeServlet extends HttpServlet {
* send OK (Ride) to mispclient
* send OK (Ride) to public
*/
protected Ride handleGetLink(HttpServletRequest request, HttpServletResponse response) throws IOException {
protected void handleGetRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
// # send OK (Ride) to public
return new Ride();
}
/**
* handle GET (Ride)
* if Ride in ReservedRides,
* remove Ride from ReservedRides
* add Ride to Deliveredrides
*/
protected Ride handleGetRide(HttpServletRequest request, HttpServletResponse response) {
// # send OK (Ride)(Request)
return new Ride();
}
/**
* handle GET (Ride)(Request)
* if Ride in DeliveredRides
* remove Ride from DeliveredRides
* add Ride to NewRequest
* send OK (Ride)(Request)
* remove Ride from NewRequest
* add Ride to ForwardedRequest
*/
protected Ride handleGetRideRequest(HttpServletRequest request, HttpServletResponse response) {
// # send OK (Ride)(Request)(Data)
return new Ride();
}
@ -111,9 +71,8 @@ public class BridgeServlet extends HttpServlet {
* remove Ride from ForwardedData
* add Ride to EOL
*/
protected Ride handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) {
protected void handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) {
// # send OK (EOL)
return new Ride();
}
// #######
@ -134,8 +93,7 @@ public class BridgeServlet extends HttpServlet {
* handle POST (Ride)
* add Ride to AvailableRides
*/
protected Ride handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
protected void handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
// # send OK (Ride) to mispclient
return new Ride();
}
}

@ -1,19 +1,18 @@
import org.apache.commons.io.IOUtils;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class BridgeMock extends BridgeServlet {
private MockSet mockSet;
public BridgeMock(MockSet mockSet){
public BridgeMock(MockSet mockSet) {
super();
mockSet.bridgeMock=this;
mockSet.bridgeMock = this;
this.mockSet = mockSet;
}
@ -23,26 +22,35 @@ public class BridgeMock extends BridgeServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
super.doGet(request,response);
super.doGet(request, response);
}
/**
* handle GET (Link)
* remove Ride from AvailableRides
* add Ride to ReservedRides
* send OK (Ride) to mispclient
* send OK (Ride) to public
* handle GET (Request)<br>
* - wait for availableRides to have an entry <br>
* - move move Ride to deliveredRides <br>
* - wait for Ride to have Data <br>
* - respond to the original request with Data
*/
protected Ride handleGetLink(HttpServletRequest request, HttpServletResponse response) throws IOException {
Ride ride = null;
if(availableRides.size()>0){
ride = availableRides.remove(0);
reservedRides.add(ride);
@Override
protected void handleGetRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
while (!(availableRides.size() > 0)) { Thread.sleep(100); }
Ride ride = availableRides.remove(0);
deliveredRides.add(ride);
while (ride.getData() == null) {
ride.notify();
ride.wait();
}
// # send OK (Ride) to public
return null;
PrintWriter writer = response.getWriter();
writer.print(ride.getData());
}
@ -52,9 +60,9 @@ public class BridgeMock extends BridgeServlet {
* remove Ride from ReservedRides
* add Ride to Deliveredrides
*/
protected Ride handleGetRide(HttpServletRequest request, HttpServletResponse response) {
protected void handleGetRide(HttpServletRequest request, HttpServletResponse response) {
// # send OK (Ride)(Request)
return new Ride();
new Ride();
}
@ -85,9 +93,9 @@ public class BridgeMock extends BridgeServlet {
* remove Ride from ForwardedData
* add Ride to EOL
*/
protected Ride handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) {
protected void handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) {
// # send OK (EOL)
return new Ride();
new Ride();
}
// #######
@ -96,7 +104,7 @@ public class BridgeMock extends BridgeServlet {
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
super.doPost(request,response);
super.doPost(request, response);
}
@ -105,7 +113,7 @@ public class BridgeMock extends BridgeServlet {
* add Ride to AvailableRides
*/
@Override
protected Ride handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
protected void handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
// WIP wait till GET (LINK) arrives.
String jsonPayload = IOUtils.toString(request.getReader());
Ride ride = new Ride(jsonPayload);
@ -117,9 +125,7 @@ public class BridgeMock extends BridgeServlet {
availableRides.get(i).wait();
// # send OK (Ride) to mispclient
return null;
}
}

Loading…
Cancel
Save