From cc20171b762e5500a34076957606ebede35b4cc1 Mon Sep 17 00:00:00 2001 From: Ivan Olexyn Date: Sat, 18 Apr 2020 23:55:46 +0200 Subject: [PATCH] + placeholders for overrides. --- mispmock/src/BridgeMock.java | 87 +++++++++++++++++++++++++++++++++--- 1 file changed, 82 insertions(+), 5 deletions(-) diff --git a/mispmock/src/BridgeMock.java b/mispmock/src/BridgeMock.java index 5786dd9..80ba5e2 100644 --- a/mispmock/src/BridgeMock.java +++ b/mispmock/src/BridgeMock.java @@ -1,3 +1,4 @@ +import org.apache.commons.io.IOUtils; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; @@ -16,33 +17,109 @@ public class BridgeMock extends BridgeServlet { this.mockSet = mockSet; } + // ####### + // + // ####### @Override - public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + 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 + */ + protected Ride handleGetLink(HttpServletRequest request, HttpServletResponse response) throws IOException { + Ride ride = null; + if(availableRides.size()>0){ + ride = availableRides.remove(0); + reservedRides.add(ride); + + } + // # send OK (Ride) to public + return null; + } + /** + * 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(); + } - super.doPost(request,response); + /** + * handle GET (Ride)(Data) + * if Ride in ForwardedRequest + * remove Ride from ForwardedRequest + * add Ride to NewData + * send OK (Ride)(Data) + * remove Ride from NewData + * add Ride to ForwardedData + * send OK (EOL) + * remove Ride from ForwardedData + * add Ride to EOL + */ + protected Ride handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) { + // # send OK (EOL) + return new Ride(); + } + // ####### + // + // ####### + @Override + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + super.doPost(request,response); } - /** * handle POST (Ride) * add Ride to AvailableRides */ @Override - protected Ride handlePostRide(HttpServletRequest request, HttpServletResponse response) { + protected Ride 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); + availableRides.add(ride); + // WIP force surrender lock on ride + int i = availableRides.indexOf(ride); + availableRides.get(i).notify(); + // WIP wait to receive lock back + availableRides.get(i).wait(); + // # send OK (Ride) to mispclient - return new Ride(); + return null; } + + }