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

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

Loading…
Cancel
Save