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 0e0f854..23b69ce 100644 Binary files a/mirror/war/mirror.war and b/mirror/war/mirror.war differ diff --git a/mirror/war/wrapper/WEB-INF/lib/misphelper.jar b/mirror/war/wrapper/WEB-INF/lib/misphelper.jar index c76904c..4ba063b 100644 Binary files a/mirror/war/wrapper/WEB-INF/lib/misphelper.jar and b/mirror/war/wrapper/WEB-INF/lib/misphelper.jar differ 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 2866fa7..a146f6a 100644 Binary files a/mispbridge/war/mispbridge.war and b/mispbridge/war/mispbridge.war differ 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 9770e71..7a25294 100644 Binary files a/mispbridge/war/wrapper/WEB-INF/classes/com/olexyn/misp/bridge/BridgeServlet.class and b/mispbridge/war/wrapper/WEB-INF/classes/com/olexyn/misp/bridge/BridgeServlet.class differ diff --git a/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar b/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar index c76904c..e819660 100644 Binary files a/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar and b/mispbridge/war/wrapper/WEB-INF/lib/misphelper.jar differ 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 f19396a..6babad4 100644 Binary files a/mispclient/war/mispclient.war and b/mispclient/war/mispclient.war differ 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 ed0541d..d010879 100644 Binary files a/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/ClientServlet.class and b/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/ClientServlet.class differ 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 754d52b..a483732 100644 Binary files a/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/PostRideRunnable.class and b/mispclient/war/wrapper/WEB-INF/classes/com/olexyn/misp/client/PostRideRunnable.class differ diff --git a/mispclient/war/wrapper/WEB-INF/lib/misphelper.jar b/mispclient/war/wrapper/WEB-INF/lib/misphelper.jar index c76904c..4ba063b 100644 Binary files a/mispclient/war/wrapper/WEB-INF/lib/misphelper.jar and b/mispclient/war/wrapper/WEB-INF/lib/misphelper.jar differ 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