From 9ebe5575fa0bd53fd7aeb1d75870af2a6d5dd83e Mon Sep 17 00:00:00 2001 From: Ivan Olexyn Date: Wed, 22 Apr 2020 20:37:19 +0200 Subject: [PATCH] + create adapter to replace client --- copy-restart.sh | 23 ++- make-war.sh | 36 +++- mirror/war/mirror.war | Bin 2290990 -> 2291602 bytes mirror/war/wrapper/WEB-INF/lib/misphelper.jar | Bin 3230 -> 3966 bytes mispadapter/mispadapter.iml | 14 ++ .../src/com/olexyn/mispl/adapter/Adapter.java | 184 ++++++++++++++++++ .../src/com/olexyn/mispl/adapter/Main.java | 12 ++ .../com/olexyn/misp/bridge/BridgeServlet.java | 54 +++-- .../src/com/olexyn/misp/bridge/Debug.java | 37 ---- mispbridge/war/mispbridge.war | Bin 2294162 -> 2294718 bytes .../olexyn/misp/bridge/BridgeServlet.class | Bin 6123 -> 6034 bytes .../war/wrapper/WEB-INF/lib/misphelper.jar | Bin 3230 -> 3966 bytes .../com/olexyn/misp/client/ClientServlet.java | 4 +- mispclient/war/mispclient.war | Bin 2295867 -> 2296474 bytes .../olexyn/misp/client/ClientServlet.class | Bin 5050 -> 5050 bytes .../olexyn/misp/client/PostRideRunnable.class | Bin 1172 -> 1170 bytes .../war/wrapper/WEB-INF/lib/misphelper.jar | Bin 3230 -> 3966 bytes .../com/olexyn/misp/helper/JsonHelper.java | 21 ++ .../src/com/olexyn/misp/helper/Ride.java | 27 ++- .../src/com/olexyn/misp/mock/AdapterMock.java | 100 ++++++++++ .../com/olexyn/misp/mock/AdapterRunnable.java | 20 ++ mispmock/src/com/olexyn/misp/mock/Main.java | 12 +- .../src/com/olexyn/misp/mock/MockSet.java | 1 + 23 files changed, 459 insertions(+), 86 deletions(-) create mode 100644 mispadapter/mispadapter.iml create mode 100644 mispadapter/src/com/olexyn/mispl/adapter/Adapter.java create mode 100644 mispadapter/src/com/olexyn/mispl/adapter/Main.java delete mode 100644 mispbridge/src/com/olexyn/misp/bridge/Debug.java create mode 100644 misphelper/src/com/olexyn/misp/helper/JsonHelper.java create mode 100644 mispmock/src/com/olexyn/misp/mock/AdapterMock.java create mode 100644 mispmock/src/com/olexyn/misp/mock/AdapterRunnable.java diff --git a/copy-restart.sh b/copy-restart.sh index f016978..8c4b7fd 100755 --- a/copy-restart.sh +++ b/copy-restart.sh @@ -2,9 +2,22 @@ cwd=$(pwd) -cp "${cwd}/mirror/war/mirror.war" /home/user/app/tomcat/webapps -cp "${cwd}/mispbridge/war/mispbridge.war" /home/user/app/tomcat/webapps -cp "${cwd}/mispclient/war/mispclient.war" /home/user/app/tomcat/webapps - /home/user/app/tomcat/bin/shutdown.sh -/home/user/app/tomcat/bin/startup.sh \ No newline at end of file + +echo "================" +echo "END TOMCAT STOP " +echo "================" + +cp -v "${cwd}/mirror/war/mirror.war" /home/user/app/tomcat/webapps +cp -v "${cwd}/mispbridge/war/mispbridge.war" /home/user/app/tomcat/webapps +cp -v "${cwd}/mispclient/war/mispclient.war" /home/user/app/tomcat/webapps + +echo "================" +echo "END COPY" +echo "================" + +/home/user/app/tomcat/bin/startup.sh + +echo "================" +echo "END TOMCAT START " +echo "================" \ No newline at end of file diff --git a/make-war.sh b/make-war.sh index 9623203..cc51c78 100755 --- a/make-war.sh +++ b/make-war.sh @@ -1,4 +1,8 @@ #!/bin/bash + +echo "================" +echo "START RUN" +echo "================" cwd=$(pwd) @@ -9,7 +13,9 @@ jar -cvf misphelper.jar ./com/olexyn/misp/helper/* - +echo "================" +echo "END MispHelper JAR" +echo "================" @@ -24,16 +30,21 @@ out="/out/production/${n}${pkg}" wrapper="/${n}/war/wrapper" # copy misphelper.jar to wrapper/.../lib -cp "${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" +cp -v"${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" # copy compiled code into the wrapper. -cp -r "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn/${a}" +cp -vr "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn/${a}" # compress .war cd "${cwd}${wrapper}" || exit jar -cvf "../${n}.war" * +echo "================" +echo "END MispBridge WAR" +echo "================" + + a='misp' b='client' @@ -44,16 +55,21 @@ out="/out/production/${n}${pkg}" wrapper="/${n}/war/wrapper" # copy misphelper.jar to wrapper/.../lib -cp "${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" +cp -v "${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" # copy compiled code into the wrapper. -cp -r "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn/${a}" +cp -vr "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn/${a}" # compress .war cd "${cwd}${wrapper}" || exit jar -cvf "../${n}.war" * +echo "================" +echo "END MispClient WAR" +echo "================" + + a='mirror' @@ -62,11 +78,15 @@ out="/out/production/${a}${pkg}" wrapper="/${a}/war/wrapper" # copy misphelper.jar to wrapper/.../lib -cp "${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" +cp -v "${cwd}/out/production/misphelper/misphelper.jar" "${cwd}${wrapper}/WEB-INF/lib" # copy compiled code into the wrapper. -cp -r "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn" +cp -vr "${cwd}${out}" "${cwd}${wrapper}/WEB-INF/classes/com/olexyn" # compress .war cd "${cwd}${wrapper}" || exit -jar -cvf "../${a}.war" * \ No newline at end of file +jar -cvf "../${a}.war" * + +echo "================" +echo "END Mirror WAR" +echo "================" \ No newline at end of file diff --git a/mirror/war/mirror.war b/mirror/war/mirror.war index 0e0f8544eeb787df7a8666f28f4144be32caaddc..23b69ce2c44d0a3ac6af5b5989ed69736d0d62ad 100644 GIT binary patch delta 3856 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 delta 3239 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 diff --git a/mirror/war/wrapper/WEB-INF/lib/misphelper.jar b/mirror/war/wrapper/WEB-INF/lib/misphelper.jar index c76904cec92f9cd63e0cc58f1b01ed0e3a15ff78..4ba063b63d845bc1bebe85abef9dc92664916d57 100644 GIT binary patch delta 2343 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 diff --git a/mispadapter/mispadapter.iml b/mispadapter/mispadapter.iml new file mode 100644 index 0000000..88b270d --- /dev/null +++ b/mispadapter/mispadapter.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mispadapter/src/com/olexyn/mispl/adapter/Adapter.java b/mispadapter/src/com/olexyn/mispl/adapter/Adapter.java new file mode 100644 index 0000000..1acd046 --- /dev/null +++ b/mispadapter/src/com/olexyn/mispl/adapter/Adapter.java @@ -0,0 +1,184 @@ +package com.olexyn.mispl.adapter; + +import com.olexyn.misp.client.ConnectionHelper; +import com.olexyn.misp.helper.Ride; + +import javax.servlet.ServletException; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.HttpURLConnection; +import java.util.HashMap; +import java.util.Map; + + +public class Adapter { + + protected static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core"; + protected static final String APP_URL = "http://localhost:9090/mispclient"; + + public static final int AVAILABLE_RIDES_OVERHEAD_TRIGGER = 2; + public static final int AVAILABLE_RIDES_OVERHEAD = 4; + + + public final Map available = new HashMap<>(); + public final Map booked = new HashMap<>(); + public final Map loaded = new HashMap<>(); + + + public Adapter() { + + // Thread : while AvailableRides < 256 , add Ride to AvailableRides , send POST (Ride) [DONE] + Thread postRideThread = new Thread(new PostRideRunnable(this)); + postRideThread.setName("postRideThread"); + postRideThread.start(); + } + + + + /** + * Generated by Loop. + * Prepare payload for the request. + * Process the parsed response. + */ + final void sendPostRide() throws IOException, InterruptedException, ServletException { + + final Ride ride = new Ride(); + + synchronized (available) { + available.put(ride.getID(), ride); + } + + final Ride parsedRide = doSendPostRide(ride); + + synchronized (available) { + available.remove(ride.getID()); + ride.setRequest(parsedRide.getRequest()); + } + + synchronized (booked) { + booked.put(ride.getID(), ride); + } + sendGetRequest(ride); + } + + + /** + * Send POST (Ride). + * Parse response. + */ + protected Ride doSendPostRide(Ride ride) throws IOException, InterruptedException, ServletException { + // send POST (Ride) + final HttpURLConnection connection = ConnectionHelper.make("POST", MISP_BRIDGE_URL); + + connection.setDoOutput(true); + DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); + outputStream.writeBytes(ride.json()); + outputStream.flush(); + outputStream.close(); + + Ride rideXa= ConnectionHelper.parseRide(connection); + rideXa.setRequest("ff"); + return rideXa; + } + + + /** + * Prepare payload for the request. + * Process the parsed response. + */ + final void sendGetRequest(Ride ride) throws IOException, InterruptedException { + + + ride.setData(doSendGetRequest(ride.getRequest())); + + synchronized (booked) { + booked.remove(ride.getID()); + } + synchronized (loaded) { + loaded.put(ride.getID(), ride); + } + + sendGetRideRequestData(ride); + } + + + /** + * Send GET (Request) to App. + * Parse response. + */ + protected String doSendGetRequest(String request) throws IOException, InterruptedException { + + // send GET (Ride) + final HttpURLConnection connection = ConnectionHelper.make("GET", APP_URL); + + connection.setDoOutput(true); + DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); + outputStream.writeBytes(request); + outputStream.flush(); + outputStream.close(); + + return ConnectionHelper.parseString(connection); + } + + + /** + * Prepare payload for the request. + * Process the parsed response. + */ + final protected void sendGetRideRequestData(Ride ride) throws IOException, InterruptedException { + doSendGetRideRequest(ride); + synchronized (loaded) { + loaded.remove(ride.getID()); + } + } + + + /** + * Send GET (Ride)(Request)(Data). + * Parse response. + */ + protected void doSendGetRideRequest(Ride ride) throws IOException, InterruptedException { + + HttpURLConnection connection = ConnectionHelper.make("GET", MISP_BRIDGE_URL); + + connection.setDoOutput(true); + DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); + outputStream.writeBytes(ride.json()); + outputStream.flush(); + outputStream.close(); + } +} + + +/** + * While AvailableRides < 256 , + * add Ride to AvailableRides , + * send POST (Ride). + */ +class PostRideRunnable implements Runnable { + + Adapter adapter; + + public PostRideRunnable(Adapter adapter) { + this.adapter = adapter; + } + + @Override + public void run() { + while (true) { + if (adapter.available.size() < Adapter.AVAILABLE_RIDES_OVERHEAD_TRIGGER) { + for (int i = 0; i < Adapter.AVAILABLE_RIDES_OVERHEAD; i++) { + try {adapter.sendPostRide();} catch (IOException | InterruptedException | ServletException e) { e.printStackTrace(); } + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + } + } +} + + diff --git a/mispadapter/src/com/olexyn/mispl/adapter/Main.java b/mispadapter/src/com/olexyn/mispl/adapter/Main.java new file mode 100644 index 0000000..6afa208 --- /dev/null +++ b/mispadapter/src/com/olexyn/mispl/adapter/Main.java @@ -0,0 +1,12 @@ +package com.olexyn.mispl.adapter; + +public class Main { + + + + public static void Main(String... args){ + + } + + +} diff --git a/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java b/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java index 9da117f..324b03f 100644 --- a/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java +++ b/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java @@ -1,9 +1,8 @@ package com.olexyn.misp.bridge; +import com.olexyn.misp.helper.JsonHelper; import com.olexyn.misp.helper.Ride; import org.apache.commons.io.IOUtils; -import org.json.JSONException; -import org.json.JSONObject; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -30,33 +29,21 @@ public class BridgeServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + final String payload = IOUtils.toString(request.getReader()); + final boolean isJson = JsonHelper.isJson(payload); + boolean hasID = false; + boolean hasRequest = false; + boolean hasData = false; - - String payload = IOUtils.toString(request.getReader()); - - JSONObject obj = new JSONObject(); - try { - obj = new JSONObject(payload); - }catch (JSONException jsonE){ - int br = 0; - Thread handleGetUserRequestThread = new Thread(() -> { - try { - handleGetRequest(request, response); - } catch (IOException | InterruptedException e) {e.printStackTrace(); } - }); - handleGetUserRequestThread.setName("handleGetUserRequestThread"); - handleGetUserRequestThread.start(); - } - - Ride ridePayload = new Ride(payload); - boolean hasID = ridePayload.getID() != null; - boolean hasRequest = ridePayload.getRequest() != null; - boolean hasData = ridePayload.getData() != null; - - + if (isJson) { + final Ride ridePayload = new Ride(payload); + hasID = ridePayload.getID() != null; + hasRequest = ridePayload.getRequest() != null; + hasData = ridePayload.getData() != null; + } - if (hasID && hasRequest && hasData) { + if (isJson && hasID && hasRequest && hasData) { Thread handleGetRideRequestDataThread = new Thread(() -> { try { handleGetRideRequestData(request, response); @@ -64,8 +51,16 @@ public class BridgeServlet extends HttpServlet { }); handleGetRideRequestDataThread.setName("handleGetRideRequestDataThread"); handleGetRideRequestDataThread.start(); - } + } else { + Thread handleGetRequestThread = new Thread(() -> { + try { + handleGetRequest(request, response); + } catch (IOException | InterruptedException e) {e.printStackTrace(); } + }); + handleGetRequestThread.setName("handleGetRequestThread"); + handleGetRequestThread.start(); + } } @@ -124,7 +119,8 @@ public class BridgeServlet extends HttpServlet { final PrintWriter writer = response.getWriter(); writer.write(ride.getData()); writer.flush(); - writer.close(); } + writer.close(); + } /** @@ -181,7 +177,7 @@ public class BridgeServlet extends HttpServlet { } // ID is final/threadsafe - while(!(booked.containsKey(ride.getID()))){ + while (!(booked.containsKey(ride.getID()))) { } diff --git a/mispbridge/src/com/olexyn/misp/bridge/Debug.java b/mispbridge/src/com/olexyn/misp/bridge/Debug.java deleted file mode 100644 index 12e54f6..0000000 --- a/mispbridge/src/com/olexyn/misp/bridge/Debug.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.olexyn.misp.bridge; - -import com.olexyn.misp.helper.Ride; - -import java.util.Map; - -public class Debug { - - - public static String mapTables(BridgeServlet clientServlet){ - - - StringBuilder sb = new StringBuilder(); - sb.append(mapTable(clientServlet.available, "available")); - sb.append(mapTable(clientServlet.booked, "booked")); - sb.append(mapTable(clientServlet.loaded, "loaded")); - return sb.toString(); - } - - - private static String mapTable(Map foo, String type){ - StringBuilder sb = new StringBuilder(); - sb.append(""); - sb.append(""); - sb.append(""); - sb.append(""); - synchronized (foo){ - for(Map.Entry entry : foo.entrySet()){ - sb.append(""); - } - } - sb.append("
"); - sb.append("WebPrint: "+ type); - sb.append("
"+entry.getValue()+"
"); - return sb.toString(); - } -} diff --git a/mispbridge/war/mispbridge.war b/mispbridge/war/mispbridge.war index 2866fa771ddfb88aca744ddc55669611c9403907..a146f6abd1edb231cc37d35214ba0451b8407f36 100644 GIT binary patch delta 6856 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 delta 6305 zcmYk=Ra6w*_cw5c?(UQxy1P4-9vY;jOFBlnJBAPtkdRK1MrmP4>F)0C|2!A(yMAY_ z&)OGzow(fJ(-jpDNDYezU}~x%AQHl%qN2hrq@-Yq!7rrLt2|@CN}3Ypd$2)3AmI$r zE7QV?ieOks_!mIE7J)Lng$$lRAu3|}M^qj(&2l8>VTN{##>Uez*`lKA8KY*sN>Ka^ z=pqH=Kt%I9I)gZHrXr~OWMsC>$EE>&U)rz>{=4o)sawgh&b{TU`%@90+kT(? zK=K|kQuKxcJ$H9p!+mJKCD?=xS~7J!+8gnUJ$mFqhKL58j-+$Sq;RvBwTAuOn}Ce^ zpJovQwimCdK=uB?Fkm0ilnECUYiij54ry+C{aJiDJU1+Qo!DNIW!m_v4x?qK5T~W` zUYA<++@2P!nA0Bq;6iqiIVs^c;aY5F`Xu@8XRDKv=`R2E<2kkQ64);xLsTA=(22NY~E5)Xmj*f>W_qUWBTYVK{#WTS7^(I7vnVx z%+hrnNX?{f6x^RoPYD|&+V;?AsAy5dQg!#$1~HHuRSpg(FHs)EAAneY&y-|Ws!d^+ z3$b){L65PswTjDxz{H1%3|obDcnK6SnmXTC$_-U5LO|2YwoRV60yo|Pbqx4%25Lms z5Pc`j^-6&yX8}5%V%nJ%2L>a`e)L1AphTODhP?GDeh^4FRhK(pw6!`$IiL*B$ifGz zXc_RY&bOm`MSQM~kUwK7=Po>TOdIHAcroE1c)H58Rg|6rZgNO$w-U&)?J$ zGRZV`wI5XM4)#5(Dh>^kL_HdA%eY>*MUqL(jf856;K{|T*s8fMDXuSU=<|HDEQn?P zwRS}~$?eyt(@Pgvg!ZuIPiNm0u-%g=-^Yt@8A6pFP3EvIP%pT+O->ZXns2R}xb2?< z1O+f5FG3Y{5H-Ant?Af5MC%^wyP52wr%=zd8!z2xgQJ?Sbwzv52^+L{L*a=uv_c1^ zBUDKenb^MxKzZRsN@VV?CwpaL;2lb58KA+dF>liB%ip-QB|_ z(7{=3zA;B09JW?*pBE_wgNk%DAl4@-r~j(W6bDdoKu`)d=`-d zALA3`J+PXaN`pPk`djZ04KfB4i{3Hvf#lX+m6zfw51TT-Mz^mNeGaoM=yliUv*W

tFud%LV zrcpg@boV+3%Qo0X^!@kpO|KmSHoLbo{LE5Q9adrjA)TXxovq1|)gLOo4ioKU7*aHZ zXo`O|_EgcifVHGAydOb_>S06wF5OMPdw`P|Ko^5+S+#tez-eDzk9v!4LIWEFp6S@n z=S7d+`*^XVJlm^+7~je;)mjX5Po|_;!g@|pH@!v}uuE;6YCR9OSxD7(+$_7`ds?5Mr3A$%2o(&M^1W&+=@3h6Zq1 zNgh5zK{{q;&#&`^=1#`KmioFkxn8LYSF9z*xsva#%J{3p^u+R(OApDIGfO2&5%Omf zOQh7~Idc-cIu|qph54>ygd11dZD0%&zy~ZNXObQ3AB~N+?EFc6^HUT;uPq9DL&aC1 zc+={c;z`@b4A&5!<@iAL0AAJ+-zPWxVh`l*FM+}UyG{1s6$-}}| zE(!tje4g>0tXhnpY$~mA3zUFHwmX?0%Sl!5pORmM1L@`7hPdnIGV5cV0bl`u&68$$ zpn5N+`k=`7Pl^0r<7SSD{#js&_@-W>Kcl94zb(s@qvuP1=ndZ1cB@-t4yy5c> zYy`L?ev0i@5ZV0ci>e=^L6o9@Wm40X$_PkoX;8H(OVkz%(sL`4 z6+7UL)g|QA!L~}}odU6ZYMd;ez>xGi7S!?ev< z$zn|djDBt-c#Jah0fFsUNc&=@I+Qkwe_G=*tC-Kf8_~nOefMGPk0PXf9$a2fZn2C* zgo2&C?=yZeGFu_@H8mkYuYcKywGR(lPgr*Y^%o^T$=8tBr6mJH_%D*vj#(x7!tbpg zI3WUG7HXO(Q!+h2t`c@|M~fI{2}OIDX%;p9UDcrreBrM3AW9&wYxv$L23vv6* zA?i*~H{btjEecpNaNqoKlPv!c-T$8TwBLByj}*cxd92H{!CL|cS(-O_AJ1>eRN}OI z5Wma)DC{vgm=Xr=Vki-Nx&#)7314fi>gH23JtCTOpmxb+IO{6d^6dCvxu;^c$kqVl zI#fcmbUje9+gBs~Nm=a}Nrd?*z<~U2+%o)-r4I4N)SPWMj<5N4%YhqeQPDkrBBn_x z{mScvh@L1JTI+`TCd|Z`$IGbKUF%o4?9}@%t2@YyJ5j-)#fLNGpF&eoLMcbKqx~G$ z^VQq)3gfE-zPFQ}ElXMk@^6#aXS-3Ixiq&fuf&QVmseeF26V}%4x4i(dt%hIU&JIb*f6? zcJu1vb=lw=i!`(=QXO;e96F}fO|vW-x89CDREt~Qv3=CU0wELb`8lZxsq0;C&DbFO z%Bz)1se}gx0>mwopbfNywx`f^zT>~9P*wI9Vw3p1W1mg*cAw;iP;5AA%Rm}iYZ}_Q z;?emeJiH{&6ExeWvLQb>vGQ>};pijxXj1>kn;o!W+oOp1mpx}Cu9BmDy79>Xaiy~h z+|Mmh-%L3}U2NXdw04ec&=gfD0n|2dFS2mYEv&`$0~Y}EXTddUvGV~6^15E<)Q&-|zh{71KA?`|JS z9GCd1y5IfQaC50q#O&5ZU?CXs{fB~brYq&jP2bn{sqkE%d7+j;PT5NoAGEZ8R3RqM zaSEHxnFW=~TpL|U=RN{70{ZR68otFSZZ}|nrWy*WQYEjp5C$CF5eXdJ|4!avH6&3r zBmfwA7z7wZ7$g{E7!(*(7&I7k7z`Lp7%UiU7#tW}7(5t!7y=kV7$O*AnE%cug&~6> zhoOL>grS0=hM|FZ2SeLZLqfMQ3mg6+38!=%;7mXMe@8TfN|+51wxo1e4HP5sdFTl? zrDOzY98Z$*G1mX)L-z2WCV&khRwCwI2av5_^*4 zey_e`cYfVcdr#v}FMkSK{iNZ7gM)kGMp}h?G#t6UpnQ?pgbFyA%1u#C6 z!pvJDmT8^`#?9GT+bMU?b$>pmZCMpW)v zisbziI-};FrqJgYi&txofY1V|QON##aG|wur09tce!@88>{1&Qo1@PMwW-aufQaBh zFMd*A-cL9PWouN4PNxmJCM+sU8{uS9^5lws^S>u!7Oq}+v; z#rd_k*dheshXruI9xhEiepgsO&wMDfyNBOPLY0Q;UC)INR~8|a^O+QRR(D1 zYaR;OyngQ#N^lB>xP&m~$0VY*R`zZtZ2Ef;CQY*S6DUf!O}J+{?p}udmD?iNo6h%C zkmyg^o*C9WZ9a-r29~wgN#jlhf=|d;7~0MQhbu~tEIxh;etKa`DWr&-^AtbSWGPTZ zOO=!4X`I_&(`%W_1Pq@OPKs$mITolLs^>`+5MHu;RxY>cYrWz*CaAjk0Ol=<3X(0{|8)Q&V3`FHxifqw*Jf3FXQ%pNsq8^FE3OrxzwV((ZO zzlp>&;x=wB8?w^fLxrzO+ra{Bqj4t8cPuxbtPOvzB3Ki8Qcl_6kn=M+5J137R|DCO z^HiT_o2C_rv-7O|Am3Qo`zEROgG9cj`mxrmHdy^Jn75udtV}x(vfSnV+TZb2Q^DLr z*3H#)B!#`vC{nzks`dGYdKWv%@sli5Re2EJmcN_xMTPyiXlxa5UKf0|pmwEacQ8zw zv$c=}5SyuO<2`4^syAL%3zZSd`|xpq1seHz1)nn$Jxr-pYa8Uf1bT3FHO*=iNT zoob}glkraZ^@AWUclA&Ib?G><>CxHgu3*(4^v#ps^J)htwTz{>?m%pvt3QW@%?hw6-7!uWzcV}Q585h&BNWHViY>a*Pbl6okK;qT@1nM!R?MXDEGUV-Fal% zT0tJmwEGJ3nuaQJb$NjVP))(GAGj{T%zuvCST66Fh5TJVuFh{z+Xf>au3$HMxBBXh zPfF3N#a{fI&>IE+0Gj3}O3J94^diQ@LYzFcl0HtXp0_Gjxz5 z3XN%tlgUA~{A<96LZMwkvlPbC5^JeQuKIztmGatksw6W_NpX+A;IT?U1LdN))^G8P zRe}#gr9dT+ETR?TpyUp)y3@t056b1tnt8gPXji6+s(<)Ut_+dw7Sa|=G*v$VW+~hr z8kj^B*nS?MuC-KK0*U7*@mnp8&l8m%m~Br`-MDDROo6Wue0I=!JB>_gMccg0?QwF*rQH44iW>W1xNbI$KcKns^yMWd2*kBMk_C_KYexF zPT+q_j(Pue>v--7pSQkRDL(?uF;6vohKJ*yruz!>e5)pJ{-{%U11Ld!uAXgab>r){`E8$p$u7*!P1+wD2YO@4k*m!}WaF z-vf_jJsKNQz3z>FU{#KY+%hCri($-4cK-Owc_gC+*PLGf~ zIayfnn_Xt>YM$L|Yo@2E$Lo6(uod`ACDo%&-;5Mu&)RZP2C}%*im!0?8kieDn=Zr^ zQv7?gF#n4JhvntsD3_w&#APL8HzLU83o|%s^OCZu`B~HSRT_Q*ZQJ`00hD)O3J=Of zv2#APx8VHFIO%RUJ`x=s1a_C2C3b#IjAbN^kP-K`cGkOVpd2ic8@zM_4YY@kFgbsA<$B2Exz zTndZYii#5$;$Ys}+#7O*-u{(*j6@uKRI96u`RN)@Y;}gX2iRj>KJ$W0V77f1iGLpb z7#=WKqjl;m)wxM3(y~|YJVC$$;sm46ILwf*tY#f11j$r%dH!~nrCI{3NwE*l%*ASH zklL5=#|sMSf>v(K&Mh}7gt`qHfmu5ZfX6gom?BJvTutkj7D|SuRQ@7tiZMl++<<` zp7o*uPL>@H`sbcZ5#}zFkO#kJ@P^v1Tg{rK8<2M@38v%llAL$Cem7fM99sPX((UQDb8H|H`$nSXlY z%63lxrKoZZ4)3kK3XXSM{J^!7%kxBS$LE!3pOp(LoMhiOZa6i3M9$My^PeVY$Qyql zYi3w>p~$m;r%&FL?m9(KUQ*_LbRTQd)DwH7>o?m7Cua1FH!^@lyvAe?UJ-ze&i!?&1;yYjfl({lKQY)55))sp>imAIDL@N)ldjoNjbre3EqXjtZw28$ldU z*?)(v`JLBuz&BkM-4z`DlOwR=On;@@e%>w;YutmI$XqIsv%>Y4iFrc82eY4CC(LY7 zK8HEV)2oo|^1ph0V#c;$K3s7akys@T5Jqn;w#P{HuZsp2wBg{J~(&%Yb9F+tn{P5n>oP z!#hUFHesWAl#WOcl}QhTaJxi5J*9_3+v60v%VmXryQs*W1f^`W>zPXkPNq z%l2HJQ7;@79M9q4h@aapdYe%Y?=v#r1}EFgUydG;I^H;6vcqM%helrk?O^YD#@zx> zyvI1X>F$laf)fev-s`5+P|GWKvpGpq*zpM3>4w8RL RM*%5EpvOgyeWZgm{|{=@8GHZ$ diff --git a/mispbridge/war/wrapper/WEB-INF/classes/com/olexyn/misp/bridge/BridgeServlet.class b/mispbridge/war/wrapper/WEB-INF/classes/com/olexyn/misp/bridge/BridgeServlet.class index 9770e717116bf47a6c5025b9c4ea2686a0748e91..7a25294b6e9b230d9f0e6c6cdd7008233c4a168f 100644 GIT binary patch literal 6034 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 diff --git a/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar b/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar index c76904cec92f9cd63e0cc58f1b01ed0e3a15ff78..e819660ac748a4152513db089989ef474aef28d0 100644 GIT binary patch delta 2343 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 delta 1636 zcmV-q2Alc*9-bKtP)h>@6aWYa2mslUkqkQm*^!Y+cLF(Nleq#me^(P%5Pp_yvPoP( zqr6y)f-eXOl8UWb(P{-zXabc`Dd5`@7FbwzW3r*r+Sgyv{(zQqdiYS=iXMB~(@*`- z-{fig+?yo?Ts{4;d+(i{d1mIBnVbCm&+|V3oWnP99K>)8Ef|TT4$ZTtqv38G_i$f>A=X(1 z;k;XRJO#>#f;wwX!QRZ0v1+7k!&yjYTxX$QfmSphl+6;g5;Y%lUeS`D)j7j66htms zj^(|lAk@`;i_!si&Q#Etu^e->yfSMRCyZI!6c}#aux}Yfe@mQwq3SJKB?WDnyt|Ti zZS&!plU}h(h4i9n7tCUM+?q4#s;TSc0E9Dz5Um-vxR72dxlVc{H#U0hVcslwmg~?g zbWda!7vCyI6uGlY#M@~zHoIizJsQ;KJR`rHH3~934S5X$pk#XETU2N~49djg3pL^c zUEM((X$xE0e_`&12T8*YMW5;LY|+Rwm(HL(gK$Ihu1oZ?;~T0X7uJH|7e@tj*O=FK5X6fPzz(<^{<9K|smhw!Ej z6Z1OSa9F|q0D^^Pw}R&2dg)leq7DoFI*y=SM+e&3f0kEW*DHBNqmVVdMR%^$7{O8$ z%Q|c@Y~`o|=vV>GT@-XYz*!wdkb*<6X(MompQWZ{zjJ)R-*ED>^ ziOIO`a=D;DA9ftGD8n=v)3>!T`52WBykR(Vf3{gVUNP){Epa;xC)NsPfO=3WFGCC% zww<#)vtPs43Qqj5*c2Roy&gxbg+C8~inthH?h;~rxz>pplxv4v>!FA_=leKM*P(F- zG$o%xN&bww+i~L;)ICG!3Dn2Z>;&Hp2ni*^H{$?ZbwUiQG{i}CaTTE56;S07BK*Mu zf93_~ZwOC4MIrKqyF4vIEVw|yqG^wOW+-^-Iq?IHc zBt^nf*mg6Y6f-)HBvE>ZlP1zBWY9~rf78T!n}~h5k2Aa^&q*e3BSwr6EmC}U^64RJ zh^KlfQ)wOcclWD1^5b(ScBdE%dl%F6lP2ruxmHl#;`bz?|1#8&h87K{HDV|lq9OjZ zh`vCBhQ6EJMZ_^elrvkEzU#v_5o=kacUvAWxM zG{CqH7f4jaSgayBE%h9Gf!*d4HTi4R{55jiE)6eLfiAJGLMxU^>`Npzv41zzWDQiT z3KjFA6c%HPjiL|L>knEcm57Ple>QPoGL_gP2(D}!1YL5wiKcCT&2m(yIV3aK&sIK+ zJ1qI#8vnh%|0rd>K7p56?27*%sUt3jY%=u&!sQ{1}LkOb5oD7)}XvV9|z}(h`dlR*zJ4g>%M03QJW0BH*V0001HlKUb6 diff --git a/mispclient/src/com/olexyn/misp/client/ClientServlet.java b/mispclient/src/com/olexyn/misp/client/ClientServlet.java index 2d9f830..bef34ac 100644 --- a/mispclient/src/com/olexyn/misp/client/ClientServlet.java +++ b/mispclient/src/com/olexyn/misp/client/ClientServlet.java @@ -19,8 +19,8 @@ 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/mispclient"; - public static final int AVAILABLE_RIDES_OVERHEAD_TRIGGER = 32; - public static final int AVAILABLE_RIDES_OVERHEAD = 64; + public static final int AVAILABLE_RIDES_OVERHEAD_TRIGGER = 2; + public static final int AVAILABLE_RIDES_OVERHEAD = 4; public final Map available = new HashMap<>(); diff --git a/mispclient/war/mispclient.war b/mispclient/war/mispclient.war index f19396ae3a395e00d74a7dfc960e300a7bae61b3..6babad441079397016a5f65cb44286098641e48c 100644 GIT binary patch delta 6786 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 delta 6193 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 Vnf(7v77MjS2Xi8ufWWZue*qHuvl##Y diff --git a/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/ClientServlet.class b/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/ClientServlet.class index ed0541d8c6300ab33e5edf186d873395f87e3953..d01087921912a29d357e76de2af24ff4fc42936a 100644 GIT binary patch delta 27 icmdm`zDs>WDkBRMBZI_bTSf_1W(EcZmd$O9CPDyPy#;Lm delta 27 icmdm`zDs>WDkF;mBZI_bTSf_1W(EcZhs|w_CPDyTUj@ei diff --git a/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/PostRideRunnable.class b/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/PostRideRunnable.class index 754d52b0409c698335bc6e3db538c5314fb1e085..a4837325de6dc87017838e57612d48ed8d47cefe 100644 GIT binary patch delta 189 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 diff --git a/misphelper/src/com/olexyn/misp/helper/JsonHelper.java b/misphelper/src/com/olexyn/misp/helper/JsonHelper.java new file mode 100644 index 0000000..d8a9b4c --- /dev/null +++ b/misphelper/src/com/olexyn/misp/helper/JsonHelper.java @@ -0,0 +1,21 @@ +package com.olexyn.misp.helper; + +import org.json.JSONException; +import org.json.JSONObject; + +public class JsonHelper { + + + + + public static boolean isJson(String string){ + + try{ + new JSONObject(string); + }catch (JSONException | NullPointerException e){ + return false; + } + + return true; + } +} diff --git a/misphelper/src/com/olexyn/misp/helper/Ride.java b/misphelper/src/com/olexyn/misp/helper/Ride.java index f269491..4f693b7 100644 --- a/misphelper/src/com/olexyn/misp/helper/Ride.java +++ b/misphelper/src/com/olexyn/misp/helper/Ride.java @@ -32,7 +32,7 @@ public class Ride { } - Long _id; + long _id; try { _id = obj.getLong("id"); @@ -55,6 +55,31 @@ public class Ride { } + public Ride(JSONObject obj){ + long _id; + + try { + _id = obj.getLong("id"); + }catch (JSONException e){ + _id = count++; + } + id = _id; + try{ + request = obj.getString("request"); + } catch (JSONException e){ + request = null; + } + try{ + data = obj.getString("data"); + }catch (JSONException e){ + data = null; + } + } + + + + + public void setRequest(String request) { this.request = request; } diff --git a/mispmock/src/com/olexyn/misp/mock/AdapterMock.java b/mispmock/src/com/olexyn/misp/mock/AdapterMock.java new file mode 100644 index 0000000..0f7adbb --- /dev/null +++ b/mispmock/src/com/olexyn/misp/mock/AdapterMock.java @@ -0,0 +1,100 @@ +package com.olexyn.misp.mock; + +import com.olexyn.misp.client.ClientServlet; +import com.olexyn.misp.helper.Ride; +import com.olexyn.misp.mock.exchange.ExchangeMock; +import com.olexyn.mispl.adapter.Adapter; + +import javax.servlet.ServletException; +import java.io.IOException; + + +/** + * Wraps a ClientServlet so it can be debugged easily, i.e. without running Tomcat. + */ +public class AdapterMock extends Adapter { + + private MockSet mockSet; + + + public AdapterMock(MockSet mockSet) { + super(); + mockSet.adapterMock = this; + this.mockSet = mockSet; + } + + /** + * Send POST (Ride). + * Parse response. + */ + @Override + protected Ride doSendPostRide(Ride ride) throws IOException, InterruptedException, ServletException { + + // Mock Exchange + final ExchangeMock exchange = new ExchangeMock(); + exchange.request.setMethod("POST"); + exchange.request.setContentType("application/json"); + exchange.request.setContent(ride.json().getBytes()); + + synchronized (exchange) { + // Mock POST (Ride) + exchange.notify(); + mockSet.bridgeMock.doPost(exchange.request, exchange.response); + exchange.wait(); + exchange.notify(); + } + + // handle OK (Ride)(Request) + return new Ride(exchange.response.getContentAsString()); + } + + + /** + * Send GET (Request) to App. + * Parse response. + */ + @Override + protected String doSendGetRequest(String request) throws IOException { + + // Mock Exchange + final ExchangeMock exchange = new ExchangeMock(); + + exchange.request.setMethod("GET"); + exchange.request.setContent(request.getBytes()); + + synchronized (exchange) { + // Mock GET (Request) + exchange.notify(); + mockSet.appMock.doGet(exchange.request, exchange.response); + + // handle OK (Data) + exchange.notify(); + } + + return exchange.response.getContentAsString(); + } + + + /** + * Send GET (Ride)(Request)(Data). + * Parse response. + */ + @Override + protected void doSendGetRideRequest(Ride ride) throws IOException, InterruptedException { + + // Mock Exchange + final ExchangeMock exchange = new ExchangeMock(); + exchange.request.setMethod("GET"); + exchange.request.setContentType("application/json"); + exchange.request.setContent(ride.json().getBytes()); + + synchronized (exchange) { + // Mock GET (Ride)(Request)(Data) + exchange.notify(); + mockSet.bridgeMock.doGet(exchange.request, exchange.response); + exchange.wait(); + exchange.notify(); + } + } + +} \ No newline at end of file diff --git a/mispmock/src/com/olexyn/misp/mock/AdapterRunnable.java b/mispmock/src/com/olexyn/misp/mock/AdapterRunnable.java new file mode 100644 index 0000000..7cf08fa --- /dev/null +++ b/mispmock/src/com/olexyn/misp/mock/AdapterRunnable.java @@ -0,0 +1,20 @@ +package com.olexyn.misp.mock; + +/** + * Pass the MockSet. + * Provide a Runnable. + */ +public class AdapterRunnable implements Runnable { + + private MockSet mockSet; + + public AdapterRunnable(MockSet mockSet){ + super(); + this.mockSet = mockSet; + } + + @Override + public void run() { + new AdapterMock(mockSet); + } +} diff --git a/mispmock/src/com/olexyn/misp/mock/Main.java b/mispmock/src/com/olexyn/misp/mock/Main.java index c551ee8..5274457 100644 --- a/mispmock/src/com/olexyn/misp/mock/Main.java +++ b/mispmock/src/com/olexyn/misp/mock/Main.java @@ -15,20 +15,24 @@ public class Main { Runnable publicRunnable = new UserMock(mockSet); Runnable bridgeRunable = new BridgeRunnable(mockSet); - Runnable clientRunnable = new ClientRunnable(mockSet); + Runnable adapterRunnable = new AdapterRunnable(mockSet); + //Runnable clientRunnable = new ClientRunnable(mockSet); Runnable appRunnable = new AppMock(mockSet); Thread userThread = new Thread(publicRunnable); Thread bridgeThread = new Thread(bridgeRunable); - Thread clientThread = new Thread(clientRunnable); + Thread adapterThread = new Thread(adapterRunnable); + //Thread clientThread = new Thread(clientRunnable); Thread appThread = new Thread(appRunnable); userThread.setName("userThread"); userThread.start(); bridgeThread.setName("bridgeThread"); bridgeThread.start(); - clientThread.setName("clientThread"); - clientThread.start(); + adapterThread.setName("adapterThread"); + adapterThread.start(); + //clientThread.setName("clientThread"); + //clientThread.start(); appThread.setName("appThread"); appThread.start(); } diff --git a/mispmock/src/com/olexyn/misp/mock/MockSet.java b/mispmock/src/com/olexyn/misp/mock/MockSet.java index f726481..a431c67 100644 --- a/mispmock/src/com/olexyn/misp/mock/MockSet.java +++ b/mispmock/src/com/olexyn/misp/mock/MockSet.java @@ -6,6 +6,7 @@ import com.olexyn.misp.mock.actor.UserMock; public class MockSet { public UserMock userMock; public BridgeMock bridgeMock; + public AdapterMock adapterMock; public ClientMock clientMock; public AppMock appMock; } \ No newline at end of file