diff --git a/build-install-all.sh b/build-install-all.sh
new file mode 100755
index 0000000..dfaebf8
--- /dev/null
+++ b/build-install-all.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+cd ./forward
+./install-locally.sh
+cd ..
+cd ./helper
+./install-locally.sh
+cd ..
+cd ./mirror
+./install-locally.sh
+cd ..
+cd ./reverse
+./install-locally.sh
+cd ..
\ No newline at end of file
diff --git a/embedded/pom.xml b/embedded/pom.xml
new file mode 100644
index 0000000..187fddf
--- /dev/null
+++ b/embedded/pom.xml
@@ -0,0 +1,208 @@
+
+
+
+ 4.0.0
+
+ com.olexyn.misp.embedded
+ embedded
+ 0.1
+
+ embedded
+
+ http://www.example.com
+
+
+ UTF-8
+ 1.11
+ 1.11
+
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+ com.olexyn.min.http.server
+ min-http-server
+ 0.1
+ compile
+
+
+ javax.servlet
+ javax.servlet-api
+ 4.0.1
+ compile
+
+
+ com.olexyn.misp.helper
+ misp-helper
+ 0.1
+ compile
+
+
+ commons-io
+ commons-io
+ 2.6
+ compile
+
+
+ org.eclipse.jetty
+ jetty-server
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-webapp
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-servlets
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-servlet
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-util
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-http
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-io
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty
+ jetty-client
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty.websocket
+ websocket-server
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty.websocket
+ websocket-client
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty.websocket
+ websocket-servlet
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty.websocket
+ websocket-api
+ 9.4.28.v20200408
+
+
+ org.eclipse.jetty.aggregate
+ jetty-all
+ 9.4.28.v20200408
+ pom
+ test
+
+
+ com.olexyn.misp.mirror
+ misp-mirror
+ 0.1
+ compile
+
+
+ com.olexyn.misp.rev
+ misp-rev
+ 0.1
+ compile
+
+
+ com.olexyn.misp.reverse
+ reverse
+ 0.1
+ compile
+
+
+ com.olexyn.misp.fwd
+ misp-fwd
+ 0.1
+ compile
+
+
+ com.olexyn.misp.forward
+ forward
+ 0.1
+ compile
+
+
+ com.olexyn.misp.mirror
+ mirror
+ 0.1
+ compile
+
+
+ org.json
+ json
+ 20190722
+
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+
+ maven-surefire-plugin
+ 2.22.1
+
+
+ maven-jar-plugin
+ 3.0.2
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+
+ maven-site-plugin
+ 3.7.1
+
+
+ maven-project-info-reports-plugin
+ 3.0.0
+
+
+
+
+
diff --git a/embedded/src/main/java/com/olexyn/misp/embedded/Embedded.java b/embedded/src/main/java/com/olexyn/misp/embedded/Embedded.java
new file mode 100644
index 0000000..d728ae6
--- /dev/null
+++ b/embedded/src/main/java/com/olexyn/misp/embedded/Embedded.java
@@ -0,0 +1,30 @@
+package com.olexyn.misp.embedded;
+
+import com.olexyn.min.http.server.MinJettyServer;
+import com.olexyn.misp.forward.Forward;
+import com.olexyn.misp.mirror.Mirror;
+
+/**
+ * Hello world!
+ */
+public class Embedded implements Runnable {
+
+
+ @Override
+ public void run() {
+ MinJettyServer server = new MinJettyServer();
+
+ server.PORT = 8090;
+ server.MAX_THREADS = 100;
+ server.MIN_THREADS = 10;
+ server.IDLE_TIMEOUT = 120;
+
+
+ server.addServletWithMapping("/mirror", Mirror.class);
+ server.addServletWithMapping("/app", Mirror.class);
+ server.addServletWithMapping("/forward", Forward.class);
+
+
+ server.start();
+ }
+}
diff --git a/embedded/src/main/java/com/olexyn/misp/embedded/RunAll.java b/embedded/src/main/java/com/olexyn/misp/embedded/RunAll.java
new file mode 100644
index 0000000..7e0b081
--- /dev/null
+++ b/embedded/src/main/java/com/olexyn/misp/embedded/RunAll.java
@@ -0,0 +1,19 @@
+package com.olexyn.misp.embedded;
+
+import com.olexyn.misp.reverse.ReverseApp;
+
+public class RunAll {
+
+ public static void main(String... args) throws InterruptedException {
+
+
+ Thread serverT = new Thread(new Embedded());
+ serverT.start();
+
+ Thread.sleep(2000);
+
+ Thread reverseT = new Thread(new ReverseApp());
+ reverseT.start();
+ }
+
+}
diff --git a/misp-fwd/README.md b/forward/README.md
similarity index 100%
rename from misp-fwd/README.md
rename to forward/README.md
diff --git a/misp-fwd/install-locally.sh b/forward/install-locally.sh
similarity index 66%
rename from misp-fwd/install-locally.sh
rename to forward/install-locally.sh
index 8282387..dac99ea 100755
--- a/misp-fwd/install-locally.sh
+++ b/forward/install-locally.sh
@@ -1,8 +1,8 @@
#!/bin/bash
version="0.1"
-file="target/misp-fwd-${version}.war"
-groupId="com.olexyn.misp.fwd"
-artifactId="misp-fwd"
+file="target/forward-${version}.war"
+groupId="com.olexyn.misp.forward"
+artifactId="forward"
diff --git a/test-proxy/pom.xml b/forward/pom.xml
similarity index 68%
rename from test-proxy/pom.xml
rename to forward/pom.xml
index 80b2939..f212905 100644
--- a/test-proxy/pom.xml
+++ b/forward/pom.xml
@@ -4,19 +4,19 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.olexyn.test.proxy
- test-proxy
+ com.olexyn.misp.forward
+ forward
0.1
war
- test-proxy Maven Webapp
+ forward Maven Webapp
http://www.example.com
UTF-8
- 1.11
- 1.11
+ 11
+ 11
@@ -27,60 +27,67 @@
test
- javax.servlet
- javax.servlet-api
- 4.0.1
- provided
+ com.olexyn.misp.helper
+ misp-helper
+ 0.1
+ compile
- org.eclipse.jetty
- jetty-servlet
- 9.4.28.v20200408
- provided
+ commons-io
+ commons-io
+ 2.6
+ compile
- org.eclipse.jetty
- jetty-util
- 9.4.28.v20200408
+ org.eclipse.jetty.orbit
+ javax.servlet
+ 3.0.0.v201112011016
+ compile
+
+
+ org.json
+ json
+ 20190722
+ compile
org.eclipse.jetty
- jetty-client
+ jetty-server
9.4.28.v20200408
- org.junit.jupiter
- junit-jupiter
- RELEASE
- test
+ com.olexyn.min.http.server
+ min-http-server
+ 0.1
+ compile
- org.eclipse.jetty.toolchain
- jetty-test-helper
- test
+ org.eclipse.jetty
+ jetty-util
+ 9.4.28.v20200408
+
- org.eclipse.jetty.toolchain
- jetty-test-helper
- 5.3
- test
+ org.eclipse.jetty
+ jetty-servlets
+ 9.4.28.v20200408
org.eclipse.jetty
- jetty-http
+ jetty-servlet
9.4.28.v20200408
- test
- org.eclipse.jetty
- jetty-io
+ org.eclipse.jetty.websocket
+ websocket-server
9.4.28.v20200408
- test
+
+
@@ -95,12 +102,6 @@
maven-compiler-plugin
3.8.0
-
-
- 11
- 11
- true
-
maven-surefire-plugin
diff --git a/misp-fwd/src/main/java/com/olexyn/misp/fwd/FwdProxy.java b/forward/src/main/java/com/olexyn/misp/forward/Forward.java
similarity index 98%
rename from misp-fwd/src/main/java/com/olexyn/misp/fwd/FwdProxy.java
rename to forward/src/main/java/com/olexyn/misp/forward/Forward.java
index 07d0b01..d0eaafc 100644
--- a/misp-fwd/src/main/java/com/olexyn/misp/fwd/FwdProxy.java
+++ b/forward/src/main/java/com/olexyn/misp/forward/Forward.java
@@ -1,4 +1,4 @@
-package com.olexyn.misp.fwd;
+package com.olexyn.misp.forward;
import com.olexyn.misp.helper.JsonHelper;
import com.olexyn.misp.helper.Ride;
@@ -15,7 +15,7 @@ import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
-public class FwdProxy extends HttpServlet {
+public class Forward extends HttpServlet {
protected static final String MISP_CLIENT_URL = "http://localhost:9090/mispclient/core";
@@ -189,6 +189,10 @@ public class FwdProxy extends HttpServlet {
* add Ride to AvailableRides
*/
protected void handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
+
+
+
+
String jsonPayload = IOUtils.toString(request.getReader());
final Ride ride = new Ride(jsonPayload);
@@ -199,7 +203,7 @@ public class FwdProxy extends HttpServlet {
// ID is final/threadsafe
while (!(booked.containsKey(ride.getID()))) {
-
+ Thread.sleep(50);
}
synchronized (booked) {
@@ -213,5 +217,6 @@ public class FwdProxy extends HttpServlet {
writer.write(ride.json());
writer.flush();
writer.close();
+
}
}
\ No newline at end of file
diff --git a/misp-fwd/src/main/webapp/WEB-INF/web.xml b/forward/src/main/webapp/WEB-INF/web.xml
similarity index 90%
rename from misp-fwd/src/main/webapp/WEB-INF/web.xml
rename to forward/src/main/webapp/WEB-INF/web.xml
index 26f5142..a7953d1 100644
--- a/misp-fwd/src/main/webapp/WEB-INF/web.xml
+++ b/forward/src/main/webapp/WEB-INF/web.xml
@@ -11,7 +11,7 @@
misp-fwd
- com.olexyn.misp.fwd.FwdProxy
+ com.olexyn.misp.forward.Forward
diff --git a/misp-fwd/src/main/webapp/images/io42630.png b/forward/src/main/webapp/images/io42630.png
similarity index 100%
rename from misp-fwd/src/main/webapp/images/io42630.png
rename to forward/src/main/webapp/images/io42630.png
diff --git a/misp-fwd/src/main/webapp/index.jsp b/forward/src/main/webapp/index.jsp
similarity index 100%
rename from misp-fwd/src/main/webapp/index.jsp
rename to forward/src/main/webapp/index.jsp
diff --git a/misp-helper/install-locally.sh b/helper/install-locally.sh
similarity index 100%
rename from misp-helper/install-locally.sh
rename to helper/install-locally.sh
diff --git a/misp-helper/pom.xml b/helper/pom.xml
similarity index 91%
rename from misp-helper/pom.xml
rename to helper/pom.xml
index a23a86e..933767b 100644
--- a/misp-helper/pom.xml
+++ b/helper/pom.xml
@@ -5,18 +5,18 @@
4.0.0
com.olexyn.misp.helper
- misp-helper
+ helper
0.1
- misp-helper
- A simple misp-helper.
+ helper
+ A simple helper.
http://www.example.com
UTF-8
- 1.11
- 1.11
+ 11
+ 11
diff --git a/misp-helper/src/main/java/com/olexyn/misp/helper/JsonHelper.java b/helper/src/main/java/com/olexyn/misp/helper/JsonHelper.java
similarity index 100%
rename from misp-helper/src/main/java/com/olexyn/misp/helper/JsonHelper.java
rename to helper/src/main/java/com/olexyn/misp/helper/JsonHelper.java
diff --git a/misp-helper/src/main/java/com/olexyn/misp/helper/Ride.java b/helper/src/main/java/com/olexyn/misp/helper/Ride.java
similarity index 100%
rename from misp-helper/src/main/java/com/olexyn/misp/helper/Ride.java
rename to helper/src/main/java/com/olexyn/misp/helper/Ride.java
diff --git a/misp-helper/src/main/java/com/olexyn/misp/helper/WebPrint.java b/helper/src/main/java/com/olexyn/misp/helper/WebPrint.java
similarity index 100%
rename from misp-helper/src/main/java/com/olexyn/misp/helper/WebPrint.java
rename to helper/src/main/java/com/olexyn/misp/helper/WebPrint.java
diff --git a/misp-helper/src/site/site.xml b/helper/src/site/site.xml
similarity index 100%
rename from misp-helper/src/site/site.xml
rename to helper/src/site/site.xml
diff --git a/misp-mirror/README.md b/mirror/README.md
similarity index 100%
rename from misp-mirror/README.md
rename to mirror/README.md
diff --git a/misp-mirror/install-locally.sh b/mirror/install-locally.sh
similarity index 100%
rename from misp-mirror/install-locally.sh
rename to mirror/install-locally.sh
diff --git a/misp-mirror/pom.xml b/mirror/pom.xml
similarity index 93%
rename from misp-mirror/pom.xml
rename to mirror/pom.xml
index 4f9c0ad..2a4004a 100644
--- a/misp-mirror/pom.xml
+++ b/mirror/pom.xml
@@ -5,18 +5,18 @@
4.0.0
com.olexyn.misp.mirror
- misp-mirror
+ mirror
0.1
war
- misp-mirror Maven Webapp
+ mirror Maven Webapp
http://www.example.com
UTF-8
- 1.11
- 1.11
+ 11
+ 11
diff --git a/misp-mirror/src/main/java/com/olexyn/misp/mirror/Mirror.java b/mirror/src/main/java/com/olexyn/misp/mirror/Mirror.java
similarity index 100%
rename from misp-mirror/src/main/java/com/olexyn/misp/mirror/Mirror.java
rename to mirror/src/main/java/com/olexyn/misp/mirror/Mirror.java
diff --git a/misp-mirror/src/main/webapp/WEB-INF/web.xml b/mirror/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from misp-mirror/src/main/webapp/WEB-INF/web.xml
rename to mirror/src/main/webapp/WEB-INF/web.xml
diff --git a/misp-mirror/src/main/webapp/images/io42630.png b/mirror/src/main/webapp/images/io42630.png
similarity index 100%
rename from misp-mirror/src/main/webapp/images/io42630.png
rename to mirror/src/main/webapp/images/io42630.png
diff --git a/misp-mirror/src/main/webapp/index.jsp b/mirror/src/main/webapp/index.jsp
similarity index 100%
rename from misp-mirror/src/main/webapp/index.jsp
rename to mirror/src/main/webapp/index.jsp
diff --git a/misp-rev/install-locally.sh b/misp-rev/install-locally.sh
deleted file mode 100755
index 9504c27..0000000
--- a/misp-rev/install-locally.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-version="0.1"
-file="target/misp-rev-${version}.war"
-groupId="com.olexyn.misp.rev"
-artifactId="misp-rev"
-
-
-
-mvn package
-mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=war -DgeneratePom=true
diff --git a/misp-rev/pom.xml b/misp-rev/pom.xml
deleted file mode 100644
index eff9fc0..0000000
--- a/misp-rev/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- 4.0.0
-
- com.olexyn.misp.rev
- misp-rev
- 0.1
- war
-
- misp-rev Maven Webapp
-
- http://www.example.com
-
-
- UTF-8
- 1.7
- 1.7
-
-
-
-
- junit
- junit
- 4.11
- test
-
-
- com.olexyn.misp.helper
- misp-helper
- 0.1
- compile
-
-
- commons-io
- commons-io
- 2.6
- compile
-
-
- org.eclipse.jetty.orbit
- javax.servlet
- 3.0.0.v201112011016
- compile
-
-
- org.json
- json
- 20190722
- compile
-
-
-
-
-
-
-
- maven-clean-plugin
- 3.1.0
-
-
-
- maven-resources-plugin
- 3.0.2
-
-
- maven-compiler-plugin
- 3.8.0
-
-
- maven-surefire-plugin
- 2.22.1
-
-
- maven-war-plugin
- 3.2.2
-
-
- maven-install-plugin
- 2.5.2
-
-
- maven-deploy-plugin
- 2.8.2
-
-
-
-
-
diff --git a/misp-rev/src/main/java/com/olexyn/misp/rev/ConnectionHelper.java b/misp-rev/src/main/java/com/olexyn/misp/rev/ConnectionHelper.java
deleted file mode 100644
index f66d3f8..0000000
--- a/misp-rev/src/main/java/com/olexyn/misp/rev/ConnectionHelper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.olexyn.misp.rev;
-
-import com.olexyn.misp.helper.Ride;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import org.json.JSONObject;
-
-public class ConnectionHelper {
-
-
-
-}
diff --git a/misp-rev/src/main/java/com/olexyn/misp/rev/Main.java b/misp-rev/src/main/java/com/olexyn/misp/rev/Main.java
deleted file mode 100644
index 22843e6..0000000
--- a/misp-rev/src/main/java/com/olexyn/misp/rev/Main.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.olexyn.misp.rev;
-
-public class Main {
-
-
-
- public static void main(String... args){
- new RevProxy();
- }
-
-
-}
diff --git a/misp-rev/src/main/webapp/WEB-INF/web.xml b/misp-rev/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index a99e628..0000000
--- a/misp-rev/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- misp-rev
-
-
- misp-rev
- com.olexyn.misp.rev.RevProxy
-
-
-
- misp-rev
- /core
-
-
-
diff --git a/misp-rev/src/main/webapp/images/io42630.png b/misp-rev/src/main/webapp/images/io42630.png
deleted file mode 100644
index 01d99bf..0000000
Binary files a/misp-rev/src/main/webapp/images/io42630.png and /dev/null differ
diff --git a/misp-rev/src/main/webapp/index.jsp b/misp-rev/src/main/webapp/index.jsp
deleted file mode 100644
index d53407d..0000000
--- a/misp-rev/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-misp-rev
-
-
-
-
-
-
-
-
-
-
-
-misp-rev
-
-
-
-
-
diff --git a/mispmock/README.md b/mispmock/README.md
deleted file mode 100644
index 742e46c..0000000
--- a/mispmock/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-#### About
-* Mockup for easy debugging.
- * Mock *requests* and *responses*.
- * Teleport them between *actors*.
-* There are 4 actors which are mocked:
- * `AppMock` : the App hosted on *localhost*.
- * `ClientMock` : the *mispclient* Servlet.
- * `BridgeMock` : the *mispbridge* Servlet.
- * `UserMock` : the user agent accessing the *mispbridge* from the internet.
-* `MockSet` knows all 4 actors, all the 4 actors know `MockSet`.
- * Thus all 4 actors know each other.
-
-
-
-##### Threads in Mock
- 
\ No newline at end of file
diff --git a/mispmock/src/com/olexyn/misp/mock/AdapterMock.java b/mispmock/src/com/olexyn/misp/mock/AdapterMock.java
deleted file mode 100644
index f8cfe9b..0000000
--- a/mispmock/src/com/olexyn/misp/mock/AdapterMock.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.olexyn.misp.mock;
-
-import com.olexyn.misp.helper.Ride;
-import com.olexyn.misp.mock.exchange.ExchangeMock;
-import com.olexyn.misp.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
deleted file mode 100644
index 7cf08fa..0000000
--- a/mispmock/src/com/olexyn/misp/mock/AdapterRunnable.java
+++ /dev/null
@@ -1,20 +0,0 @@
-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/BridgeMock.java b/mispmock/src/com/olexyn/misp/mock/BridgeMock.java
deleted file mode 100644
index 4948a5c..0000000
--- a/mispmock/src/com/olexyn/misp/mock/BridgeMock.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.olexyn.misp.mock;
-
-
-import com.olexyn.misp.mock.exchange.ExchangeMock;
-import com.olexyn.misp.mock.exchange.RequestMock;
-import com.olexyn.misp.bridge.BridgeServlet;
-
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class BridgeMock extends BridgeServlet {
-
- public BridgeMock(MockSet mockSet) {
- super();
- mockSet.bridgeMock = this;
- }
-
-
- /**
- * handle GET (Request)
- * - wait for availableRides to have an entry
- * - move move Ride to deliveredRides
- * - wait for Ride to have Data
- * - respond to the original request with Data
- */
- @Override
- protected void handleGetRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
-
- final ExchangeMock exchange;
-
- synchronized (exchange = ((RequestMock) request).exchange) {
-
- super.handleGetRequest(request,response);
-
- exchange.notify();
- }
- }
-
-
- /**
- * 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 void handleGetRideRequestData(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
-
- final ExchangeMock exchange;
-
- synchronized (exchange = ((RequestMock) request).exchange) {
-
- super.handleGetRideRequestData(request,response);
-
- exchange.notify();
- }
- }
-
-
- /**
- * handle POST (Ride)
- * - wait for Ride to be booked
- * - send OK to Client
- */
- @Override
- protected void handlePostRide(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
-
- final ExchangeMock exchange;
-
- synchronized (exchange = ((RequestMock) request).exchange) {
-
- super.handlePostRide(request,response);
-
- exchange.notify();
- }
- }
-}
diff --git a/mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java b/mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java
deleted file mode 100644
index 8874863..0000000
--- a/mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.olexyn.misp.mock;
-
-/**
- * Pass the MockSet.
- * Provide a Runnable.
- */
-public class BridgeRunnable implements Runnable {
-
- MockSet mockSet;
-
- public BridgeRunnable(MockSet mockSet){
- super();
- this.mockSet = mockSet;
- }
-
- @Override
- public void run() {
- new BridgeMock(mockSet);
- }
-
-}
diff --git a/mispmock/src/com/olexyn/misp/mock/Main.java b/mispmock/src/com/olexyn/misp/mock/Main.java
deleted file mode 100644
index 5274457..0000000
--- a/mispmock/src/com/olexyn/misp/mock/Main.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.olexyn.misp.mock;
-
-import com.olexyn.misp.mock.actor.AppMock;
-import com.olexyn.misp.mock.actor.UserMock;
-
-public class Main {
-
-
-
-
-
- public static void main(String... args){
-
- MockSet mockSet = new MockSet();
-
- Runnable publicRunnable = new UserMock(mockSet);
- Runnable bridgeRunable = new BridgeRunnable(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 adapterThread = new Thread(adapterRunnable);
- //Thread clientThread = new Thread(clientRunnable);
- Thread appThread = new Thread(appRunnable);
-
- userThread.setName("userThread");
- userThread.start();
- bridgeThread.setName("bridgeThread");
- bridgeThread.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
deleted file mode 100644
index 533a1ec..0000000
--- a/mispmock/src/com/olexyn/misp/mock/MockSet.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.olexyn.misp.mock;
-
-import com.olexyn.misp.mock.actor.AppMock;
-import com.olexyn.misp.mock.actor.UserMock;
-
-public class MockSet {
- public UserMock userMock;
- public BridgeMock bridgeMock;
- public AdapterMock adapterMock;
- public AppMock appMock;
-}
\ No newline at end of file
diff --git a/mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java b/mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java
deleted file mode 100644
index 115db66..0000000
--- a/mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.olexyn.misp.mock.actor;
-
-import com.olexyn.misp.mock.MockSet;
-import com.olexyn.misp.mock.exchange.ExchangeMock;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-
-
-/**
- * Generic Runnable.
- * Serves as basis for Actors that are not Servlets.
- */
-public abstract class ActorRunnable implements Runnable {
-
-
- List exchanges = new ArrayList<>();
-
- protected MockSet mockSet;
-
-
-
- public ActorRunnable(MockSet mockSet){
- this.mockSet = mockSet;
-
- }
-
-
-
-
- @Override
- public void run() {
- //
- }
-
-
- public void processExchange(ExchangeMock exchange) throws IOException, ServletException {
-
-
- if (exchange.request.getMethod().equalsIgnoreCase("GET")) {
- doGet(exchange.request, exchange.response);
- } else if (exchange.request.getMethod().equalsIgnoreCase("POST")) {
- doPost(exchange.request, exchange.response);
- }
- }
-
-
- public abstract void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException;
-
- public abstract void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException;
-
-}
diff --git a/mispmock/src/com/olexyn/misp/mock/actor/AppMock.java b/mispmock/src/com/olexyn/misp/mock/actor/AppMock.java
deleted file mode 100644
index b3463ea..0000000
--- a/mispmock/src/com/olexyn/misp/mock/actor/AppMock.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.olexyn.misp.mock.actor;
-
-
-
-import com.olexyn.misp.mock.MockSet;
-import com.olexyn.misp.mock.exchange.ExchangeMock;
-import com.olexyn.misp.mock.exchange.RequestMock;
-import org.apache.commons.io.IOUtils;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-public class AppMock extends ActorRunnable {
-
- public AppMock(MockSet mockSet) {
- super(mockSet);
- mockSet.appMock = this;
- }
-
-
- @Override
- public void run() {
- while (true) {
-
-
- }
- }
-
- @Override
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-
- RequestMock mockRequest = (RequestMock) request;
- ExchangeMock exchange = mockRequest.exchange;
-
- synchronized (exchange) {
- String parsedRequest = IOUtils.toString(request.getReader());
-
- String dataString = "DATA-" + parsedRequest;
-
- exchange.response.setStatus(200);
- PrintWriter writer = exchange.response.getWriter();
- writer.write(dataString);
- writer.flush();
- writer.close();
-
- exchange.notify();
- }
- }
-
- @Override
- public void doPost(HttpServletRequest request, HttpServletResponse response) {
-
- }
-}
diff --git a/mispmock/src/com/olexyn/misp/mock/actor/UserMock.java b/mispmock/src/com/olexyn/misp/mock/actor/UserMock.java
deleted file mode 100644
index cb384c1..0000000
--- a/mispmock/src/com/olexyn/misp/mock/actor/UserMock.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.olexyn.misp.mock.actor;
-
-import com.olexyn.misp.mock.MockSet;
-import com.olexyn.misp.mock.exchange.ExchangeMock;
-
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-
-
-
-public class UserMock extends ActorRunnable {
-
-
-
- final String longRequest;
-
- int requestCount = 0;
-
- public UserMock(MockSet mockSet){
- super(mockSet);
- mockSet.userMock = this;
-
-
- StringBuilder sb = new StringBuilder();
- for (int i=0;i<100;i++){
- sb.append("foo");
- }
- longRequest = sb.toString();
-
-
- }
-
- @Override
- public void run() {
- while (true){
- try {
- sendGetRequest();
- } catch (IOException | InterruptedException e) {
- e.printStackTrace();
- }
-
- }
- }
-
- @Override
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
-
- }
-
- @Override
- public void doPost(HttpServletRequest request, HttpServletResponse response) {
-
- }
-
-
-
- /**
- * # send GET (Request)
- * Generated by Loop
- */
- void sendGetRequest() throws IOException, InterruptedException {
-
- // Mock Exchange
- ExchangeMock exchange = new ExchangeMock();
-
- exchange.request.setMethod("GET");
- //exchange.request.setContentType("application/json");
-
- //String requestBody = longRequest+"-"+(++requestCount);
- String requestBody = "REQUEST-"+(++requestCount);
- String jsonString = "{\"request\":\""+requestBody+ "\"}";
- jsonString = "asdfasdfa";
- exchange.request.setContent(jsonString.getBytes());
-
- synchronized (exchange){
- // Mock GET (Request)
- exchange.notify();
- mockSet.bridgeMock.doGet(exchange.request,exchange.response);
- exchange.wait();
-
- // handle OK (Data)
- String data = exchange.response.getContentAsString();
- System.out.println(data + " of "+requestBody);
- exchange.notify();
- }
- }
-
-}
diff --git a/mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java
deleted file mode 100644
index 1e0c0e3..0000000
--- a/mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.olexyn.misp.mock.exchange;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * How "exchange" mocks an exchange:
- *
- * An "exchange" corresponds to request & reply pair.
- * - i.e. a GET & OK pair.
- * Steps:
- * 1. new Exchange()
- * 2. set properties of .request
- * 3. "send" request by using exchange.notify(); recipient.doGet();
- * 4. recipient does someting with request
- * - - recipient sets proerties of .response
- * - - recipient sends reply using exchange.notify();
- * 5. "receive" response by using exchange.wait();
- */
-public class ExchangeMock {
-
- public static List exchangeList = new ArrayList<>();
-
-
- private static int next_id=0;
- public int id;
-
- public RequestMock request =new RequestMock(this);
- public ResponseMock response = new ResponseMock(this);
-
- public ExchangeMock(){
- id = next_id++;
- exchangeList.add(this);
- }
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
diff --git a/mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java
deleted file mode 100644
index 0665303..0000000
--- a/mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.olexyn.misp.mock.exchange;
-
-import org.springframework.mock.web.MockHttpServletRequest;
-
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.Part;
-import java.io.IOException;
-import java.util.Collection;
-
-/**
- * - Contains reference to ExchangeMock
- * - Rest is dummy code.
- */
-public class RequestMock extends MockHttpServletRequest implements HttpServletRequest {
-
- public final ExchangeMock exchange;
-
- public RequestMock(ExchangeMock exchange){
- super();
- this.exchange = exchange;
- }
-
- @Override
- public boolean authenticate(HttpServletResponse httpServletResponse) throws IOException, ServletException {
- return false;
- }
-
- @Override
- public void login(String s, String s1) throws ServletException {
-
- }
-
- @Override
- public void logout() throws ServletException {
-
- }
-
- @Override
- public Collection getParts() throws IOException, ServletException {
- return null;
- }
-
- @Override
- public Part getPart(String s) throws IOException, ServletException {
- return null;
- }
-
- @Override
- public ServletContext getServletContext() {
- return null;
- }
-
- @Override
- public AsyncContext startAsync() throws IllegalStateException {
- return null;
- }
-
- @Override
- public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException {
- return null;
- }
-
- @Override
- public boolean isAsyncStarted() {
- return false;
- }
-
- @Override
- public boolean isAsyncSupported() {
- return false;
- }
-
- @Override
- public AsyncContext getAsyncContext() {
- return null;
- }
-
- @Override
- public DispatcherType getDispatcherType() {
- return null;
- }
-}
\ No newline at end of file
diff --git a/mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java
deleted file mode 100644
index fb7ff89..0000000
--- a/mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package com.olexyn.misp.mock.exchange;
-
-
-import org.springframework.mock.web.MockHttpServletResponse;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-
-/**
- * - Contains reference to ExchangeMock
- * - Rest is dummy code.
- */
-public class ResponseMock extends MockHttpServletResponse implements HttpServletResponse {
-
- public ExchangeMock exchange;
-
- public ResponseMock(ExchangeMock exchange){
- super();
- this.exchange = exchange;
- }
-
-
- @Override
- public void addCookie(Cookie cookie) {
-
- }
-
- @Override
- public boolean containsHeader(String s) {
- return false;
- }
-
- @Override
- public String encodeURL(String s) {
- return null;
- }
-
- @Override
- public String encodeRedirectURL(String s) {
- return null;
- }
-
- @Override
- public String encodeUrl(String s) {
- return null;
- }
-
- @Override
- public String encodeRedirectUrl(String s) {
- return null;
- }
-
- @Override
- public void sendError(int i, String s) throws IOException {
-
- }
-
- @Override
- public void sendError(int i) throws IOException {
-
- }
-
- @Override
- public void sendRedirect(String s) throws IOException {
-
- }
-
- @Override
- public void setDateHeader(String s, long l) {
-
- }
-
- @Override
- public void addDateHeader(String s, long l) {
-
- }
-
- @Override
- public void setHeader(String s, String s1) {
-
- }
-
- @Override
- public void addHeader(String s, String s1) {
-
- }
-
- @Override
- public void setIntHeader(String s, int i) {
-
- }
-
- @Override
- public void addIntHeader(String s, int i) {
-
- }
-
- @Override
- public void setStatus(int i) {
-
- }
-
- @Override
- public void setStatus(int i, String s) {
-
- }
-
- @Override
- public int getStatus() {
- return 0;
- }
-
- @Override
- public String getHeader(String s) {
- return null;
- }
-
- @Override
- public List getHeaders(String s) {
- return null;
- }
-
- @Override
- public Set getHeaderNames() {
- return null;
- }
-
- @Override
- public String getCharacterEncoding() {
- return null;
- }
-
- @Override
- public String getContentType() {
- return null;
- }
-
- @Override
- public ServletOutputStream getOutputStream() {
- return null;
- }
-
- @Override
- public PrintWriter getWriter() throws UnsupportedEncodingException {
- return super.getWriter();
- }
-
- @Override
- public void setCharacterEncoding(String s) {
-
- }
-
- @Override
- public void setContentLength(int i) {
-
- }
-
- @Override
- public void setContentType(String s) {
-
- }
-
- @Override
- public void setBufferSize(int i) {
-
- }
-
- @Override
- public int getBufferSize() {
- return 0;
- }
-
- @Override
- public void flushBuffer() {
-
- }
-
- @Override
- public void resetBuffer() {
-
- }
-
- @Override
- public boolean isCommitted() {
- return false;
- }
-
- @Override
- public void reset() {
-
- }
-
- @Override
- public void setLocale(Locale locale) {
-
- }
-
- @Override
- public Locale getLocale() {
- return null;
- }
-}
diff --git a/overview.png b/overview.png
index 69bfa46..56871ee 100644
Binary files a/overview.png and b/overview.png differ
diff --git a/overview.uxf b/overview.uxf
index b6101a3..878b565 100644
--- a/overview.uxf
+++ b/overview.uxf
@@ -4,8 +4,8 @@
UMLClass
- 1030
- 630
+ 1210
+ 480
90
30
@@ -16,8 +16,8 @@ lt=-
UMLClass
- 630
- 630
+ 810
+ 480
120
70
@@ -29,8 +29,8 @@ modem
UMLClass
- 800
- 630
+ 980
+ 480
100
30
@@ -42,8 +42,8 @@ layer=-1
UMLClass
- 1030
- 670
+ 1210
+ 520
90
30
@@ -54,12 +54,12 @@ bg=#90CAF9
UMLClass
- 800
- 670
+ 980
+ 520
100
30
- misp.fwd
+ forward
bg=#B39DDB
layer=-1
@@ -67,8 +67,8 @@ layer=-1
Relation
- 550
- 720
+ 730
+ 570
280
50
@@ -80,8 +80,8 @@ Generated by Loop
Relation
- 880
- 760
+ 1060
+ 610
200
40
@@ -93,12 +93,12 @@ fg=#1E88E5
UMLClass
- 470
- 670
+ 650
+ 520
100
30
- misp.rev
+ reverse
bg=#B39DDB
layer=-1
@@ -106,8 +106,8 @@ layer=-1
Relation
- 550
- 870
+ 730
+ 720
280
50
@@ -119,8 +119,8 @@ GET (Ride)(Request)
Relation
- 880
- 890
+ 1060
+ 740
200
40
@@ -132,8 +132,8 @@ fg=#1E88E5
Relation
- 550
- 930
+ 730
+ 780
280
40
@@ -144,8 +144,8 @@ OK (Ride)
UMLClass
- 270
- 670
+ 450
+ 520
80
30
@@ -156,8 +156,8 @@ bg=#90CAF9
Relation
- 310
- 800
+ 490
+ 650
190
40
@@ -169,8 +169,8 @@ fg=#1E88E5
Relation
- 310
- 850
+ 490
+ 700
190
40
@@ -182,8 +182,8 @@ fg=#1E88E5
Relation
- 550
- 780
+ 730
+ 630
280
40
@@ -194,8 +194,8 @@ OK (Ride)(Request)
UMLClass
- 270
- 630
+ 450
+ 480
300
30
@@ -206,8 +206,8 @@ lt=-
UMLClass
- 240
- 600
+ 420
+ 450
910
400
@@ -219,8 +219,8 @@ layer=-10
UMLClass
- 810
- 740
+ 990
+ 590
80
40
@@ -233,8 +233,8 @@ transparency=0
UMLClass
- 480
- 740
+ 660
+ 590
80
60
@@ -247,8 +247,8 @@ transparency=0
UMLClass
- 810
- 780
+ 990
+ 630
80
110
@@ -262,8 +262,8 @@ layer=1
UMLClass
- 480
- 800
+ 660
+ 650
80
70
@@ -276,8 +276,8 @@ transparency=0
UMLClass
- 480
- 870
+ 660
+ 720
80
80
@@ -290,8 +290,8 @@ transparency=0
UMLClass
- 810
- 890
+ 990
+ 740
80
60
@@ -304,8 +304,8 @@ transparency=0
Relation
- 1060
- 690
+ 1240
+ 540
30
310
@@ -316,8 +316,8 @@ fg=#1E88E5
Relation
- 300
- 690
+ 480
+ 540
30
310
@@ -328,8 +328,8 @@ fg=#1E88E5
UMLClass
- 1060
- 780
+ 1240
+ 630
20
130
@@ -342,8 +342,8 @@ layer=4
UMLClass
- 300
- 820
+ 480
+ 670
20
50
@@ -356,8 +356,8 @@ layer=4
Relation
- 840
- 690
+ 1020
+ 540
30
310
@@ -369,8 +369,8 @@ layer=-4
Relation
- 510
- 690
+ 690
+ 540
30
310
diff --git a/reverse/install-locally.sh b/reverse/install-locally.sh
new file mode 100755
index 0000000..ccf9951
--- /dev/null
+++ b/reverse/install-locally.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+version="0.1"
+artifactId="reverse"
+file="target/${artifactId}-${version}.jar"
+groupId="com.olexyn.misp.reverse"
+
+
+
+
+mvn package
+mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=jar -DgeneratePom=true
diff --git a/misp-fwd/pom.xml b/reverse/pom.xml
similarity index 61%
rename from misp-fwd/pom.xml
rename to reverse/pom.xml
index 1611c74..538df90 100644
--- a/misp-fwd/pom.xml
+++ b/reverse/pom.xml
@@ -4,18 +4,18 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.olexyn.misp.fwd
- misp-fwd
+ com.olexyn.misp.reverse
+ reverse
0.1
- war
- misp-fwd Maven Webapp
+ reverse
http://www.example.com
UTF-8
-
+ 11
+ 11
@@ -25,42 +25,28 @@
4.11
test
-
- com.olexyn.misp.helper
- misp-helper
- 0.1
- compile
-
-
- commons-io
- commons-io
- 2.6
- compile
-
-
- org.eclipse.jetty.orbit
- javax.servlet
- 3.0.0.v201112011016
- compile
-
+
+ com.olexyn.misp.helper
+ misp-helper
+ 0.1
+ compile
+
org.json
json
20190722
- compile
-
-
+
maven-clean-plugin
3.1.0
-
+
maven-resources-plugin
3.0.2
@@ -68,20 +54,14 @@
maven-compiler-plugin
3.8.0
-
-
- 11
- 11
- true
-
maven-surefire-plugin
2.22.1
- maven-war-plugin
- 3.2.2
+ maven-jar-plugin
+ 3.0.2
maven-install-plugin
@@ -91,6 +71,15 @@
maven-deploy-plugin
2.8.2
+
+
+ maven-site-plugin
+ 3.7.1
+
+
+ maven-project-info-reports-plugin
+ 3.0.0
+
diff --git a/reverse/src/main/java/com/olexyn/misp/reverse/GetRequestRunnable.java b/reverse/src/main/java/com/olexyn/misp/reverse/GetRequestRunnable.java
new file mode 100644
index 0000000..04fdfb7
--- /dev/null
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/GetRequestRunnable.java
@@ -0,0 +1,26 @@
+package com.olexyn.misp.reverse;
+
+import com.olexyn.misp.helper.Ride;
+
+import java.io.IOException;
+
+class GetRequestRunnable implements Runnable {
+
+ final private Reverse reverse;
+
+ public GetRequestRunnable(Reverse reverse) {
+ this.reverse = reverse;
+ }
+
+ @Override
+ public void run() {
+ while (true) {
+ synchronized (reverse.booked) {
+ if (reverse.booked.size() > 0) {
+ final Ride ride = reverse.booked.entrySet().iterator().next().getValue();
+ try { reverse.sendGetRequest(ride); } catch (IOException ignored) {}
+ }
+ }
+ }
+ }
+}
diff --git a/reverse/src/main/java/com/olexyn/misp/reverse/GetRideRequestDataRunnable.java b/reverse/src/main/java/com/olexyn/misp/reverse/GetRideRequestDataRunnable.java
new file mode 100644
index 0000000..be0cdb0
--- /dev/null
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/GetRideRequestDataRunnable.java
@@ -0,0 +1,26 @@
+package com.olexyn.misp.reverse;
+
+import com.olexyn.misp.helper.Ride;
+
+import java.io.IOException;
+
+class GetRideRequestDataRunnable implements Runnable {
+
+ final private Reverse reverse;
+
+ public GetRideRequestDataRunnable(Reverse reverse) {
+ this.reverse = reverse;
+ }
+
+ @Override
+ public void run() {
+ while (true) {
+ synchronized (reverse.loaded) {
+ if (reverse.loaded.size() > 0) {
+ final Ride ride = reverse.loaded.entrySet().iterator().next().getValue();
+ try { reverse.sendGetRideRequestData(ride); } catch (IOException ignored) {}
+ }
+ }
+ }
+ }
+}
diff --git a/reverse/src/main/java/com/olexyn/misp/reverse/PostRideRunnable.java b/reverse/src/main/java/com/olexyn/misp/reverse/PostRideRunnable.java
new file mode 100644
index 0000000..256f46a
--- /dev/null
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/PostRideRunnable.java
@@ -0,0 +1,25 @@
+package com.olexyn.misp.reverse;
+
+import java.io.IOException;
+
+class PostRideRunnable implements Runnable {
+
+ final private Reverse reverse;
+
+ public PostRideRunnable(Reverse reverse) {
+ this.reverse = reverse;
+ }
+
+ @Override
+ public void run() {
+ while (true) {
+ synchronized (reverse.available) {
+ if (reverse.available.size() < reverse.AVAILABLE_RIDES_OVERHEAD_TRIGGER) {
+ for (int i = 0; i < reverse.AVAILABLE_RIDES_OVERHEAD; i++) {
+ try {reverse.sendPostRide();} catch (IOException ignored) {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/reverse/src/main/java/com/olexyn/misp/reverse/README.md b/reverse/src/main/java/com/olexyn/misp/reverse/README.md
new file mode 100644
index 0000000..43d0100
--- /dev/null
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/README.md
@@ -0,0 +1,3 @@
+* Run from `ReverseApp` :
+ * as `main()`
+ * or as `Runnable` from somewhere else.
\ No newline at end of file
diff --git a/misp-rev/src/main/java/com/olexyn/misp/rev/RevProxy.java b/reverse/src/main/java/com/olexyn/misp/reverse/Reverse.java
similarity index 52%
rename from misp-rev/src/main/java/com/olexyn/misp/rev/RevProxy.java
rename to reverse/src/main/java/com/olexyn/misp/reverse/Reverse.java
index c171c00..32178f2 100644
--- a/misp-rev/src/main/java/com/olexyn/misp/rev/RevProxy.java
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/Reverse.java
@@ -1,4 +1,4 @@
-package com.olexyn.misp.rev;
+package com.olexyn.misp.reverse;
import com.olexyn.misp.helper.Ride;
@@ -13,13 +13,13 @@ import java.util.HashMap;
import java.util.Map;
-public class RevProxy {
+public class Reverse {
- protected static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core";
- protected static final String APP_URL = "http://localhost:9090/mirror/core";
+ public String FORWARD_URL = "http://localhost:8090/bridge";
+ public String APP_URL = "http://localhost:8090/app";
- public static final int AVAILABLE_RIDES_OVERHEAD_TRIGGER = 4;
- public static final int AVAILABLE_RIDES_OVERHEAD = 8;
+ public int AVAILABLE_RIDES_OVERHEAD_TRIGGER = 1;
+ public int AVAILABLE_RIDES_OVERHEAD = 2;
public final Map available = new HashMap<>();
@@ -27,8 +27,7 @@ public class RevProxy {
public final Map loaded = new HashMap<>();
- public RevProxy() {
-
+ public void start() {
Thread postRideThread = new Thread(new PostRideRunnable(this));
postRideThread.setName("postRideThread");
postRideThread.start();
@@ -49,7 +48,7 @@ public class RevProxy {
synchronized (available) { available.put(ride.getID(), ride); }
- final String result = send("POST", MISP_BRIDGE_URL, ride.json());
+ final String result = send("POST", FORWARD_URL, ride.json());
synchronized (available) {
available.remove(ride.getID());
@@ -73,7 +72,7 @@ public class RevProxy {
void sendGetRideRequestData(Ride ride) throws IOException {
- send("GET", MISP_BRIDGE_URL, ride.json());
+ send("GET", FORWARD_URL, ride.json());
synchronized (loaded) {loaded.remove(ride.getID()); }
}
@@ -87,10 +86,15 @@ public class RevProxy {
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
- outputStream.writeBytes(body);
+
+ if (body != null) {
+ outputStream.writeBytes(body);
+ }
+
outputStream.flush();
outputStream.close();
+ int i = connection.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String out;
StringBuilder sb = new StringBuilder();
@@ -100,70 +104,7 @@ public class RevProxy {
}
-}
-
-
-class PostRideRunnable implements Runnable {
-
- final private RevProxy adapter;
-
- public PostRideRunnable(RevProxy adapter) {
- this.adapter = adapter;
- }
-
- @Override
- public void run() {
- while (true) {
- synchronized (adapter.available) {
- if (adapter.available.size() < RevProxy.AVAILABLE_RIDES_OVERHEAD_TRIGGER) {
- for (int i = 0; i < RevProxy.AVAILABLE_RIDES_OVERHEAD; i++) {
- try {adapter.sendPostRide();} catch (IOException ignored) {}
- }
- }
- }
- }
- }
-}
-
-
-class GetRequestRunnable implements Runnable {
-
- final private RevProxy adapter;
- public GetRequestRunnable(RevProxy adapter) {
- this.adapter = adapter;
- }
-
- @Override
- public void run() {
- while (true) {
- synchronized (adapter.booked) {
- if (adapter.booked.size() > 0) {
- final Ride ride = adapter.booked.entrySet().iterator().next().getValue();
- try { adapter.sendGetRequest(ride); } catch (IOException ignored) {}
- }
- }
- }
- }
}
-class GetRideRequestDataRunnable implements Runnable {
-
- final private RevProxy adapter;
-
- public GetRideRequestDataRunnable(RevProxy adapter) {
- this.adapter = adapter;
- }
- @Override
- public void run() {
- while (true) {
- synchronized (adapter.loaded) {
- if (adapter.loaded.size() > 0) {
- final Ride ride = adapter.loaded.entrySet().iterator().next().getValue();
- try { adapter.sendGetRideRequestData(ride); } catch (IOException ignored) {}
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/reverse/src/main/java/com/olexyn/misp/reverse/ReverseApp.java b/reverse/src/main/java/com/olexyn/misp/reverse/ReverseApp.java
new file mode 100644
index 0000000..3c60553
--- /dev/null
+++ b/reverse/src/main/java/com/olexyn/misp/reverse/ReverseApp.java
@@ -0,0 +1,30 @@
+package com.olexyn.misp.reverse;
+
+public class ReverseApp implements Runnable {
+
+
+ public static void main(String... args) {
+ new ReverseApp().doRun();
+ }
+
+
+ @Override
+ public void run() {
+
+ doRun();
+
+ }
+
+
+ private void doRun() {
+ Reverse reverse = new Reverse();
+
+ reverse.FORWARD_URL = "http://localhost:8090/forward";
+ reverse.APP_URL = "http://localhost:8090/app";
+
+ reverse.AVAILABLE_RIDES_OVERHEAD_TRIGGER = 1;
+ reverse.AVAILABLE_RIDES_OVERHEAD = 2;
+
+ reverse.start();
+ }
+}
diff --git a/test-proxy/currentconfig.xml b/test-proxy/currentconfig.xml
deleted file mode 100644
index a956c02..0000000
--- a/test-proxy/currentconfig.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/test-proxy/install-locally.sh b/test-proxy/install-locally.sh
deleted file mode 100755
index aeb5dc0..0000000
--- a/test-proxy/install-locally.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-version="0.1"
-file="target/test-proxy-${version}.war"
-groupId="com.olexyn.test.proxy"
-artifactId="test-proxy"
-
-
-
-mvn package
-mvn install:install-file -Dfile=${file} -DgroupId=${groupId} -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=war -DgeneratePom=true
diff --git a/test-proxy/someconfig.xml b/test-proxy/someconfig.xml
deleted file mode 100644
index ab71816..0000000
--- a/test-proxy/someconfig.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
- org.eclipse.jetty.servlets.ProxyServlet$Transparent
- /proxy/*
-
- maxThreads
-
-
-
-
-
- maxConnections
-
-
-
-
-
- idleTimeout
-
-
-
-
-
- timeout
-
-
-
-
-
- ProxyTo
- http://localhost:8080/misp-mirror
-
-
- Prefix
- /proxy
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/test-proxy/src/main/webapp/WEB-INF/web.xml b/test-proxy/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index dcc0494..0000000
--- a/test-proxy/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- misp-proxy
-
-
- test-proxy
- com.olexyn.test.proxy.ProxyServlet
-
-
-
- test-proxy
- /core
-
-
-
diff --git a/test-proxy/src/main/webapp/index.jsp b/test-proxy/src/main/webapp/index.jsp
deleted file mode 100644
index 1ed1b19..0000000
--- a/test-proxy/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-test-proxy
-
-
-
-
-
-
-
-
-
-
-
-test-proxy
-
-
-
-
-
diff --git a/mispmock/threads-in-mock.png b/threads-in-mock.png
similarity index 100%
rename from mispmock/threads-in-mock.png
rename to threads-in-mock.png
diff --git a/mispmock/threads-in-mock.uxf b/threads-in-mock.uxf
similarity index 100%
rename from mispmock/threads-in-mock.uxf
rename to threads-in-mock.uxf