diff --git a/copy-restart.sh b/copy-restart.sh new file mode 100755 index 0000000..2899fd3 --- /dev/null +++ b/copy-restart.sh @@ -0,0 +1,5 @@ +#!/bin/bash +cp ./mispbridge.war /home/user/app/tomcat/webapps +cp ./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 diff --git a/make-war.sh b/make-war.sh new file mode 100755 index 0000000..a22da13 --- /dev/null +++ b/make-war.sh @@ -0,0 +1,21 @@ +#!/bin/bash +cwd=$(pwd) + + +cp -r ./production/mispbridge/core/ mispbridge-war-wrapper/WEB-INF/classes + + + + + +cd warbridge + + +jar -cvf ../mispbridge.war * + +cd $cwd + +cp -r ./production/mispclient/core/ mispclient-war-wrapper/WEB-INF/classes + +cd warclient +jar -cvf ../mispclient.war * \ No newline at end of file diff --git a/mispbridge/out/META-INF/MANIFEST.MF b/mirror-war-wrapper/META-INF/MANIFEST.MF similarity index 100% rename from mispbridge/out/META-INF/MANIFEST.MF rename to mirror-war-wrapper/META-INF/MANIFEST.MF diff --git a/mispbridge/out/META-INF/war-tracker b/mirror-war-wrapper/META-INF/war-tracker similarity index 100% rename from mispbridge/out/META-INF/war-tracker rename to mirror-war-wrapper/META-INF/war-tracker diff --git a/mirror-war-wrapper/WEB-INF/classes/core/BridgeServlet.class b/mirror-war-wrapper/WEB-INF/classes/core/BridgeServlet.class new file mode 100644 index 0000000..5e4ae8e Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/classes/core/BridgeServlet.class differ diff --git a/mirror-war-wrapper/WEB-INF/classes/core/Debug.class b/mirror-war-wrapper/WEB-INF/classes/core/Debug.class new file mode 100644 index 0000000..9461911 Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/classes/core/Debug.class differ diff --git a/mirror-war-wrapper/WEB-INF/classes/core/Ride.class b/mirror-war-wrapper/WEB-INF/classes/core/Ride.class new file mode 100644 index 0000000..93cf34f Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/classes/core/Ride.class differ diff --git a/mirror-war-wrapper/WEB-INF/lib/commons-io.jar b/mirror-war-wrapper/WEB-INF/lib/commons-io.jar new file mode 100644 index 0000000..00556b1 Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/commons-io.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar b/mirror-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar b/mirror-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar new file mode 100644 index 0000000..b135409 Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/json-20190722.jar b/mirror-war-wrapper/WEB-INF/lib/json-20190722.jar new file mode 100644 index 0000000..6db21f6 Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/json-20190722.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/junit-3.8.1.jar b/mirror-war-wrapper/WEB-INF/lib/junit-3.8.1.jar new file mode 100644 index 0000000..674d71e Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/junit-3.8.1.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/spring-1.2.6.jar b/mirror-war-wrapper/WEB-INF/lib/spring-1.2.6.jar new file mode 100644 index 0000000..f14370f Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/spring-1.2.6.jar differ diff --git a/mirror-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar b/mirror-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar new file mode 100644 index 0000000..cc4d4cd Binary files /dev/null and b/mirror-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar differ diff --git a/mispbridge/out/WEB-INF/web.xml b/mirror-war-wrapper/WEB-INF/web.xml similarity index 100% rename from mispbridge/out/WEB-INF/web.xml rename to mirror-war-wrapper/WEB-INF/web.xml diff --git a/mispbridge/out/hello.jsp b/mirror-war-wrapper/hello.jsp similarity index 100% rename from mispbridge/out/hello.jsp rename to mirror-war-wrapper/hello.jsp diff --git a/mispbridge/out/images/tomcat.gif b/mirror-war-wrapper/images/tomcat.gif similarity index 100% rename from mispbridge/out/images/tomcat.gif rename to mirror-war-wrapper/images/tomcat.gif diff --git a/mirror-war-wrapper/index.html b/mirror-war-wrapper/index.html new file mode 100644 index 0000000..547492b --- /dev/null +++ b/mirror-war-wrapper/index.html @@ -0,0 +1,25 @@ + + +BridgeServlet + + + + + + + + +
+ + +

BridgeServlet

+
+ + + + + diff --git a/mirror/mirror.iml b/mirror/mirror.iml new file mode 100644 index 0000000..cd83e41 --- /dev/null +++ b/mirror/mirror.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/misp.properties b/misp.properties new file mode 100644 index 0000000..05ab24f --- /dev/null +++ b/misp.properties @@ -0,0 +1,4 @@ +path.variable.kotlin_bundled=/home/user/app/intellij-idea/plugins/Kotlin/kotlinc +path.variable.maven_repository=/home/user/.m2/repository +jdk.home.11=/usr/lib/jvm/java-11-openjdk-amd64 +javac2.instrumentation.includeJavaRuntime=false \ No newline at end of file diff --git a/misp.xml b/misp.xml new file mode 100644 index 0000000..58d1903 --- /dev/null +++ b/misp.xml @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mispclient/out/META-INF/MANIFEST.MF b/mispbridge-war-wrapper/META-INF/MANIFEST.MF similarity index 100% rename from mispclient/out/META-INF/MANIFEST.MF rename to mispbridge-war-wrapper/META-INF/MANIFEST.MF diff --git a/mispclient/out/META-INF/war-tracker b/mispbridge-war-wrapper/META-INF/war-tracker similarity index 100% rename from mispclient/out/META-INF/war-tracker rename to mispbridge-war-wrapper/META-INF/war-tracker diff --git a/mispbridge-war-wrapper/WEB-INF/classes/core/BridgeServlet.class b/mispbridge-war-wrapper/WEB-INF/classes/core/BridgeServlet.class new file mode 100644 index 0000000..5e4ae8e Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/classes/core/BridgeServlet.class differ diff --git a/mispbridge-war-wrapper/WEB-INF/classes/core/Debug.class b/mispbridge-war-wrapper/WEB-INF/classes/core/Debug.class new file mode 100644 index 0000000..9461911 Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/classes/core/Debug.class differ diff --git a/mispbridge-war-wrapper/WEB-INF/classes/core/Ride.class b/mispbridge-war-wrapper/WEB-INF/classes/core/Ride.class new file mode 100644 index 0000000..93cf34f Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/classes/core/Ride.class differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/commons-io.jar b/mispbridge-war-wrapper/WEB-INF/lib/commons-io.jar new file mode 100644 index 0000000..00556b1 Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/commons-io.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar b/mispbridge-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar b/mispbridge-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar new file mode 100644 index 0000000..b135409 Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/json-20190722.jar b/mispbridge-war-wrapper/WEB-INF/lib/json-20190722.jar new file mode 100644 index 0000000..6db21f6 Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/json-20190722.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/junit-3.8.1.jar b/mispbridge-war-wrapper/WEB-INF/lib/junit-3.8.1.jar new file mode 100644 index 0000000..674d71e Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/junit-3.8.1.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/spring-1.2.6.jar b/mispbridge-war-wrapper/WEB-INF/lib/spring-1.2.6.jar new file mode 100644 index 0000000..f14370f Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/spring-1.2.6.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar b/mispbridge-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar new file mode 100644 index 0000000..cc4d4cd Binary files /dev/null and b/mispbridge-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar differ diff --git a/mispbridge-war-wrapper/WEB-INF/web.xml b/mispbridge-war-wrapper/WEB-INF/web.xml new file mode 100644 index 0000000..0d3a1af --- /dev/null +++ b/mispbridge-war-wrapper/WEB-INF/web.xml @@ -0,0 +1,23 @@ + + + + BridgeServlet, World Application + + This is a simple web application with a source code organization + based on the recommendations of the Application Developer's Guide. + + + + BridgeServlet + core.BridgeServlet + + + + BridgeServlet + /core + + + diff --git a/mispclient/out/hello.jsp b/mispbridge-war-wrapper/hello.jsp similarity index 100% rename from mispclient/out/hello.jsp rename to mispbridge-war-wrapper/hello.jsp diff --git a/mispclient/out/images/tomcat.gif b/mispbridge-war-wrapper/images/tomcat.gif similarity index 100% rename from mispclient/out/images/tomcat.gif rename to mispbridge-war-wrapper/images/tomcat.gif diff --git a/mispbridge-war-wrapper/index.html b/mispbridge-war-wrapper/index.html new file mode 100644 index 0000000..547492b --- /dev/null +++ b/mispbridge-war-wrapper/index.html @@ -0,0 +1,25 @@ + + +BridgeServlet + + + + + + + + +
+ + +

BridgeServlet

+
+ + + + + diff --git a/mispbridge.war b/mispbridge.war new file mode 100644 index 0000000..3902aa4 Binary files /dev/null and b/mispbridge.war differ diff --git a/mispbridge/out/WEB-INF/classes/core/BridgeServlet.class b/mispbridge/out/WEB-INF/classes/core/BridgeServlet.class deleted file mode 100644 index d704733..0000000 Binary files a/mispbridge/out/WEB-INF/classes/core/BridgeServlet.class and /dev/null differ diff --git a/mispbridge/out/index.html b/mispbridge/out/index.html deleted file mode 100644 index d6afb53..0000000 --- a/mispbridge/out/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - -Sample "BridgeServlet, World" Application - - - - - - - - -
- - -

Sample "BridgeServlet, World" Application

-

This is the home page for a sample application used to illustrate the -source directory organization of a web application utilizing the principles -outlined in the Application Developer's Guide. -

- -

To prove that they work, TESTyou can execute either of the following links: -

- - - diff --git a/mispbridge/out/mispbridge.war b/mispbridge/out/mispbridge.war deleted file mode 100644 index 8be650c..0000000 Binary files a/mispbridge/out/mispbridge.war and /dev/null differ diff --git a/mispbridge/src/core/BridgeServlet.java b/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java similarity index 87% rename from mispbridge/src/core/BridgeServlet.java rename to mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java index 6427779..9da117f 100644 --- a/mispbridge/src/core/BridgeServlet.java +++ b/mispbridge/src/com/olexyn/misp/bridge/BridgeServlet.java @@ -1,6 +1,8 @@ -package core; +package com.olexyn.misp.bridge; +import com.olexyn.misp.helper.Ride; import org.apache.commons.io.IOUtils; +import org.json.JSONException; import org.json.JSONObject; import javax.servlet.ServletException; @@ -27,23 +29,32 @@ public class BridgeServlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - String jsonPayload = IOUtils.toString(request.getReader()); - Ride ridePayload = new Ride(jsonPayload); + + + 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 (hasID & hasRequest & !hasData) { - Thread handleGetUserRequestThread = new Thread(() -> { - try { - handleGetRequest(request, response); - } catch (IOException | InterruptedException e) {e.printStackTrace(); } - }); - handleGetUserRequestThread.setName("handleGetUserRequestThread"); - handleGetUserRequestThread.start(); - } + if (hasID && hasRequest && hasData) { Thread handleGetRideRequestDataThread = new Thread(() -> { @@ -55,6 +66,7 @@ public class BridgeServlet extends HttpServlet { handleGetRideRequestDataThread.start(); } + } @@ -68,8 +80,7 @@ public class BridgeServlet extends HttpServlet { protected void handleGetRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException { final Ride ride; String parsedRequest = IOUtils.toString(request.getReader()); - final JSONObject obj = new JSONObject(parsedRequest); - parsedRequest = obj.getString("request"); + synchronized (available) { diff --git a/mispbridge/src/com/olexyn/misp/bridge/Debug.java b/mispbridge/src/com/olexyn/misp/bridge/Debug.java new file mode 100644 index 0000000..99afc2a --- /dev/null +++ b/mispbridge/src/com/olexyn/misp/bridge/Debug.java @@ -0,0 +1,37 @@ +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("Debug: "+ type); + sb.append("
"+entry.getValue()+"
"); + return sb.toString(); + } +} diff --git a/mispclient-war-wrapper/META-INF/MANIFEST.MF b/mispclient-war-wrapper/META-INF/MANIFEST.MF new file mode 100644 index 0000000..4ee800d --- /dev/null +++ b/mispclient-war-wrapper/META-INF/MANIFEST.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Ant-Version: Apache Ant 1.6.5 +Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.) + diff --git a/mispclient-war-wrapper/META-INF/war-tracker b/mispclient-war-wrapper/META-INF/war-tracker new file mode 100644 index 0000000..e69de29 diff --git a/mispclient/out/WEB-INF/classes/META-INF/mispclient.kotlin_module b/mispclient-war-wrapper/WEB-INF/classes/META-INF/mispclient.kotlin_module similarity index 100% rename from mispclient/out/WEB-INF/classes/META-INF/mispclient.kotlin_module rename to mispclient-war-wrapper/WEB-INF/classes/META-INF/mispclient.kotlin_module diff --git a/mispclient-war-wrapper/WEB-INF/classes/core/ClientServlet.class b/mispclient-war-wrapper/WEB-INF/classes/core/ClientServlet.class new file mode 100644 index 0000000..e95fb49 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/classes/core/ClientServlet.class differ diff --git a/mispclient-war-wrapper/WEB-INF/classes/core/ConnectionHelper.class b/mispclient-war-wrapper/WEB-INF/classes/core/ConnectionHelper.class new file mode 100644 index 0000000..b5530e5 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/classes/core/ConnectionHelper.class differ diff --git a/mispclient-war-wrapper/WEB-INF/classes/core/Debug.class b/mispclient-war-wrapper/WEB-INF/classes/core/Debug.class new file mode 100644 index 0000000..8c84f90 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/classes/core/Debug.class differ diff --git a/mispclient-war-wrapper/WEB-INF/classes/core/PostRideRunnable.class b/mispclient-war-wrapper/WEB-INF/classes/core/PostRideRunnable.class new file mode 100644 index 0000000..4dff78b Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/classes/core/PostRideRunnable.class differ diff --git a/mispclient-war-wrapper/WEB-INF/classes/core/Ride.class b/mispclient-war-wrapper/WEB-INF/classes/core/Ride.class new file mode 100644 index 0000000..93cf34f Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/classes/core/Ride.class differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/commons-io.jar b/mispclient-war-wrapper/WEB-INF/lib/commons-io.jar new file mode 100644 index 0000000..00556b1 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/commons-io.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar b/mispclient-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/commons-logging-1.0.4.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar b/mispclient-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar new file mode 100644 index 0000000..b135409 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/json-20190722.jar b/mispclient-war-wrapper/WEB-INF/lib/json-20190722.jar new file mode 100644 index 0000000..6db21f6 Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/json-20190722.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/junit-3.8.1.jar b/mispclient-war-wrapper/WEB-INF/lib/junit-3.8.1.jar new file mode 100644 index 0000000..674d71e Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/junit-3.8.1.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/spring-1.2.6.jar b/mispclient-war-wrapper/WEB-INF/lib/spring-1.2.6.jar new file mode 100644 index 0000000..f14370f Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/spring-1.2.6.jar differ diff --git a/mispclient-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar b/mispclient-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar new file mode 100644 index 0000000..cc4d4cd Binary files /dev/null and b/mispclient-war-wrapper/WEB-INF/lib/spring-mock-1.2.6.jar differ diff --git a/mispclient/out/WEB-INF/web.xml b/mispclient-war-wrapper/WEB-INF/web.xml similarity index 100% rename from mispclient/out/WEB-INF/web.xml rename to mispclient-war-wrapper/WEB-INF/web.xml diff --git a/mispclient-war-wrapper/hello.jsp b/mispclient-war-wrapper/hello.jsp new file mode 100644 index 0000000..9596088 --- /dev/null +++ b/mispclient-war-wrapper/hello.jsp @@ -0,0 +1,23 @@ + + +Sample Application JSP Page + + + + + + + + +
+ + +

Sample Application JSP Page

+This is the output of a JSP page that is part of the Hello, World +application. +
+ +<%= new String("Hello!") %> + + + diff --git a/mispclient-war-wrapper/images/tomcat.gif b/mispclient-war-wrapper/images/tomcat.gif new file mode 100644 index 0000000..32f7d80 Binary files /dev/null and b/mispclient-war-wrapper/images/tomcat.gif differ diff --git a/mispclient-war-wrapper/index.html b/mispclient-war-wrapper/index.html new file mode 100644 index 0000000..3612f57 --- /dev/null +++ b/mispclient-war-wrapper/index.html @@ -0,0 +1,23 @@ + + +ClientServlet + + + + + + + + +
+ + +

ClientServlet

+ +
+ + + diff --git a/mispclient.war b/mispclient.war new file mode 100644 index 0000000..dfa8c09 Binary files /dev/null and b/mispclient.war differ diff --git a/mispclient/out/WEB-INF/classes/core/ClientServlet.class b/mispclient/out/WEB-INF/classes/core/ClientServlet.class deleted file mode 100644 index 2a64018..0000000 Binary files a/mispclient/out/WEB-INF/classes/core/ClientServlet.class and /dev/null differ diff --git a/mispclient/out/WEB-INF/classes/core/PostRideRunnable.class b/mispclient/out/WEB-INF/classes/core/PostRideRunnable.class deleted file mode 100644 index 12b0067..0000000 Binary files a/mispclient/out/WEB-INF/classes/core/PostRideRunnable.class and /dev/null differ diff --git a/mispclient/out/index.html b/mispclient/out/index.html deleted file mode 100644 index f61084e..0000000 --- a/mispclient/out/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - -Sample "BridgeServlet, World" Application - - - - - - - - -
- - -

Sample "BridgeServlet, World" Application

-

This is the home page for a sample application used to illustrate the -source directory organization of a web application utilizing the principles -outlined in the Application Developer's Guide. -

- -

To prove that they work, you can execute either of the following links: -

- - - diff --git a/mispclient/out/mispclient.war b/mispclient/out/mispclient.war deleted file mode 100644 index e3c5bf3..0000000 Binary files a/mispclient/out/mispclient.war and /dev/null differ diff --git a/mispclient/src/core/ClientServlet.java b/mispclient/src/com/olexyn/misp/client/ClientServlet.java similarity index 78% rename from mispclient/src/core/ClientServlet.java rename to mispclient/src/com/olexyn/misp/client/ClientServlet.java index e38bd68..2d9f830 100644 --- a/mispclient/src/core/ClientServlet.java +++ b/mispclient/src/com/olexyn/misp/client/ClientServlet.java @@ -1,9 +1,14 @@ -package core; +package com.olexyn.misp.client; + +import com.olexyn.misp.helper.Ride; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.DataOutputStream; import java.io.IOException; +import java.io.PrintWriter; import java.net.HttpURLConnection; import java.util.HashMap; import java.util.Map; @@ -12,7 +17,7 @@ import java.util.Map; public class ClientServlet extends HttpServlet { protected static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core"; - protected static final String APP_URL = "http://www.google.ch"; + 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; @@ -31,6 +36,29 @@ public class ClientServlet extends HttpServlet { postRideThread.start(); } + /** + * Debugging + */ + @Override + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + PrintWriter print = response.getWriter(); + + print.println(""); + + print.println(""); + print.println(""); + print.println(""); + print.println("title"); + print.println(""); + print.println(""); + print.println(""); + print.println(""); + print.println(Debug.mapTables(this)); + + print.println(" "); + + + } /** * Generated by Loop. @@ -73,7 +101,9 @@ public class ClientServlet extends HttpServlet { outputStream.flush(); outputStream.close(); - return ConnectionHelper.parseRide(connection); + Ride rideXa= ConnectionHelper.parseRide(connection); + rideXa.setRequest("ff"); + return rideXa; } @@ -164,6 +194,11 @@ class PostRideRunnable implements Runnable { if (clientServlet.available.size() < ClientServlet.AVAILABLE_RIDES_OVERHEAD_TRIGGER) { for (int i = 0; i < ClientServlet.AVAILABLE_RIDES_OVERHEAD; i++) { try {clientServlet.sendPostRide();} catch (IOException | ServletException | InterruptedException e) { e.printStackTrace(); } + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } } } } diff --git a/misphelper/src/core/ConnectionHelper.java b/mispclient/src/com/olexyn/misp/client/ConnectionHelper.java similarity index 94% rename from misphelper/src/core/ConnectionHelper.java rename to mispclient/src/com/olexyn/misp/client/ConnectionHelper.java index 11013a3..1220408 100644 --- a/misphelper/src/core/ConnectionHelper.java +++ b/mispclient/src/com/olexyn/misp/client/ConnectionHelper.java @@ -1,4 +1,6 @@ -package core; +package com.olexyn.misp.client; + +import com.olexyn.misp.helper.Ride; import java.io.BufferedReader; import java.io.IOException; diff --git a/mispclient/src/com/olexyn/misp/client/Debug.java b/mispclient/src/com/olexyn/misp/client/Debug.java new file mode 100644 index 0000000..d243d63 --- /dev/null +++ b/mispclient/src/com/olexyn/misp/client/Debug.java @@ -0,0 +1,55 @@ +package com.olexyn.misp.client; + +import com.olexyn.misp.helper.Ride; + +import java.util.Map; + +public class Debug { + + + public static String mapTables(ClientServlet clientServlet){ + + + StringBuilder sb = new StringBuilder(); + sb.append("

Debug:

"); + 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("

"+type+"

"); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + synchronized (foo){ + for(Map.Entry entry : foo.entrySet()){ + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + sb.append(""); + } + } + sb.append("
"); + sb.append("ID"); + sb.append(""); + sb.append("Request"); + sb.append(""); + sb.append("Data"); + sb.append("
"); + sb.append(entry.getValue().getID()); + sb.append(""); + sb.append(entry.getValue().getRequest()); + sb.append(""); + sb.append(entry.getValue().getData()); + sb.append("
"); + return sb.toString(); + } +} diff --git a/misphelper/README.md b/misphelper/README.md deleted file mode 100644 index 1c970a2..0000000 --- a/misphelper/README.md +++ /dev/null @@ -1,2 +0,0 @@ -#### About -Helper files used by `mispbridge` and `mispclient`. \ No newline at end of file diff --git a/misphelper/make-war.sh b/misphelper/make-war.sh deleted file mode 100755 index 9b5e77f..0000000 --- a/misphelper/make-war.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -cd ../mispbridge/mispbridge -jar -cvf mispbridge.war * -cd ../ -cd ../mispclient/mispclient -jar -cvf mispclient.war * \ No newline at end of file diff --git a/misphelper/src/core/Ride.java b/misphelper/src/com/olexyn/misp/helper/Ride.java similarity index 92% rename from misphelper/src/core/Ride.java rename to misphelper/src/com/olexyn/misp/helper/Ride.java index 517ea7e..f269491 100644 --- a/misphelper/src/core/Ride.java +++ b/misphelper/src/com/olexyn/misp/helper/Ride.java @@ -1,4 +1,4 @@ -package core; +package com.olexyn.misp.helper; import org.json.JSONException; import org.json.JSONObject; @@ -12,7 +12,6 @@ public class Ride { final private Long id; private String request; private String data; - private State state; // FUTURE it might be possible to use a ride for many requests. // private List requests = new ArrayList<>(); @@ -65,10 +64,7 @@ public class Ride { } - public Ride setState(State state) { - this.state = state; - return this; - } + public String getRequest() { return this.request; @@ -82,7 +78,7 @@ public class Ride { return this.id; } - public State getState() {return this.state;} + private String brace(String foo) { return "\"" + foo + "\""; diff --git a/misphelper/src/core/RideMapHelper.java b/misphelper/src/core/RideMapHelper.java deleted file mode 100644 index cd31df1..0000000 --- a/misphelper/src/core/RideMapHelper.java +++ /dev/null @@ -1,57 +0,0 @@ -package core; - -import core.Ride; - -import java.util.Map; - -public class RideMapHelper { - - public Map rideMap; - - - RideMapHelper(Map rideMap){ - this.rideMap = rideMap; - } - - - - public boolean containsMore(int i, State state){ - long availableRides = 0L; - for (Map.Entry entry : rideMap.entrySet()){ - if (entry.getValue().getState() == state){ - availableRides++; - } - if (availableRides > i){ - return true; - } - } - return false; - } - - - public boolean containsLess(int i, State state){ - long availableRides = 0L; - for (Map.Entry entry : rideMap.entrySet()){ - if (entry.getValue().getState() == state){ - availableRides++; - } - if (availableRides < i){ - return true; - } - } - return false; - } - - - public Ride pickAvailable(){ - for (Map.Entry entry : rideMap.entrySet()){ - if (entry.getValue().getState() == State.AVAILABLE){ - return entry.getValue(); - } - - } - return null; - } - - -} diff --git a/misphelper/src/core/State.java b/misphelper/src/core/State.java deleted file mode 100644 index 5dd1ad7..0000000 --- a/misphelper/src/core/State.java +++ /dev/null @@ -1,5 +0,0 @@ -package core; - -public enum State { - AVAILABLE, BOOKED, LOADED -} diff --git a/mispmock/src/core/BridgeMock.java b/mispmock/src/com/olexyn/misp/mock/BridgeMock.java similarity index 91% rename from mispmock/src/core/BridgeMock.java rename to mispmock/src/com/olexyn/misp/mock/BridgeMock.java index 44a62b1..4948a5c 100644 --- a/mispmock/src/core/BridgeMock.java +++ b/mispmock/src/com/olexyn/misp/mock/BridgeMock.java @@ -1,14 +1,14 @@ -package core; +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 exchange.ExchangeMock; -import exchange.RequestMock; -import org.apache.commons.io.IOUtils; -import org.json.JSONObject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.io.PrintWriter; public class BridgeMock extends BridgeServlet { diff --git a/mispmock/src/core/BridgeRunnable.java b/mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java similarity index 91% rename from mispmock/src/core/BridgeRunnable.java rename to mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java index b740775..8874863 100644 --- a/mispmock/src/core/BridgeRunnable.java +++ b/mispmock/src/com/olexyn/misp/mock/BridgeRunnable.java @@ -1,4 +1,4 @@ -package core; +package com.olexyn.misp.mock; /** * Pass the MockSet. diff --git a/mispmock/src/core/ClientMock.java b/mispmock/src/com/olexyn/misp/mock/ClientMock.java similarity index 93% rename from mispmock/src/core/ClientMock.java rename to mispmock/src/com/olexyn/misp/mock/ClientMock.java index 87e0e66..0595a38 100644 --- a/mispmock/src/core/ClientMock.java +++ b/mispmock/src/com/olexyn/misp/mock/ClientMock.java @@ -1,6 +1,9 @@ -package core; +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 exchange.ExchangeMock; import javax.servlet.ServletException; import java.io.IOException; diff --git a/mispmock/src/core/ClientRunnable.java b/mispmock/src/com/olexyn/misp/mock/ClientRunnable.java similarity index 91% rename from mispmock/src/core/ClientRunnable.java rename to mispmock/src/com/olexyn/misp/mock/ClientRunnable.java index f2c199e..79e4b41 100644 --- a/mispmock/src/core/ClientRunnable.java +++ b/mispmock/src/com/olexyn/misp/mock/ClientRunnable.java @@ -1,4 +1,4 @@ -package core; +package com.olexyn.misp.mock; /** * Pass the MockSet. diff --git a/mispmock/src/core/Main.java b/mispmock/src/com/olexyn/misp/mock/Main.java similarity index 88% rename from mispmock/src/core/Main.java rename to mispmock/src/com/olexyn/misp/mock/Main.java index 9f1a47d..c551ee8 100644 --- a/mispmock/src/core/Main.java +++ b/mispmock/src/com/olexyn/misp/mock/Main.java @@ -1,7 +1,7 @@ -package core; +package com.olexyn.misp.mock; -import actor.AppMock; -import actor.UserMock; +import com.olexyn.misp.mock.actor.AppMock; +import com.olexyn.misp.mock.actor.UserMock; public class Main { diff --git a/mispmock/src/core/MockSet.java b/mispmock/src/com/olexyn/misp/mock/MockSet.java similarity index 56% rename from mispmock/src/core/MockSet.java rename to mispmock/src/com/olexyn/misp/mock/MockSet.java index 56d898b..f726481 100644 --- a/mispmock/src/core/MockSet.java +++ b/mispmock/src/com/olexyn/misp/mock/MockSet.java @@ -1,7 +1,7 @@ -package core; +package com.olexyn.misp.mock; -import actor.AppMock; -import actor.UserMock; +import com.olexyn.misp.mock.actor.AppMock; +import com.olexyn.misp.mock.actor.UserMock; public class MockSet { public UserMock userMock; diff --git a/mispmock/src/actor/ActorRunnable.java b/mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java similarity index 90% rename from mispmock/src/actor/ActorRunnable.java rename to mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java index 9901e58..115db66 100644 --- a/mispmock/src/actor/ActorRunnable.java +++ b/mispmock/src/com/olexyn/misp/mock/actor/ActorRunnable.java @@ -1,4 +1,7 @@ -package actor; +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; @@ -7,8 +10,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import core.MockSet; -import exchange.ExchangeMock; + /** * Generic Runnable. diff --git a/mispmock/src/actor/AppMock.java b/mispmock/src/com/olexyn/misp/mock/actor/AppMock.java similarity index 82% rename from mispmock/src/actor/AppMock.java rename to mispmock/src/com/olexyn/misp/mock/actor/AppMock.java index 2a3b843..b3463ea 100644 --- a/mispmock/src/actor/AppMock.java +++ b/mispmock/src/com/olexyn/misp/mock/actor/AppMock.java @@ -1,11 +1,11 @@ -package actor; +package com.olexyn.misp.mock.actor; -import core.Main; -import core.MockSet; -import exchange.ExchangeMock; -import exchange.RequestMock; + + +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 org.json.JSONObject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -37,7 +37,7 @@ public class AppMock extends ActorRunnable { synchronized (exchange) { String parsedRequest = IOUtils.toString(request.getReader()); - String dataString = "DATA-" + parsedRequest.split("-")[1]; + String dataString = "DATA-" + parsedRequest; exchange.response.setStatus(200); PrintWriter writer = exchange.response.getWriter(); diff --git a/mispmock/src/actor/UserMock.java b/mispmock/src/com/olexyn/misp/mock/actor/UserMock.java similarity index 92% rename from mispmock/src/actor/UserMock.java rename to mispmock/src/com/olexyn/misp/mock/actor/UserMock.java index 757545f..cb384c1 100644 --- a/mispmock/src/actor/UserMock.java +++ b/mispmock/src/com/olexyn/misp/mock/actor/UserMock.java @@ -1,11 +1,15 @@ -package actor; +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; -import core.*; -import exchange.ExchangeMock; + + public class UserMock extends ActorRunnable { @@ -68,6 +72,7 @@ public class UserMock extends ActorRunnable { //String requestBody = longRequest+"-"+(++requestCount); String requestBody = "REQUEST-"+(++requestCount); String jsonString = "{\"request\":\""+requestBody+ "\"}"; + jsonString = "asdfasdfa"; exchange.request.setContent(jsonString.getBytes()); synchronized (exchange){ diff --git a/mispmock/src/exchange/ExchangeMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java similarity index 95% rename from mispmock/src/exchange/ExchangeMock.java rename to mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java index aca954b..1e0c0e3 100644 --- a/mispmock/src/exchange/ExchangeMock.java +++ b/mispmock/src/com/olexyn/misp/mock/exchange/ExchangeMock.java @@ -1,4 +1,4 @@ -package exchange; +package com.olexyn.misp.mock.exchange; import java.util.ArrayList; diff --git a/mispmock/src/exchange/RequestMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java similarity index 97% rename from mispmock/src/exchange/RequestMock.java rename to mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java index a95490d..0665303 100644 --- a/mispmock/src/exchange/RequestMock.java +++ b/mispmock/src/com/olexyn/misp/mock/exchange/RequestMock.java @@ -1,4 +1,4 @@ -package exchange; +package com.olexyn.misp.mock.exchange; import org.springframework.mock.web.MockHttpServletRequest; diff --git a/mispmock/src/exchange/ResponseMock.java b/mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java similarity index 98% rename from mispmock/src/exchange/ResponseMock.java rename to mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java index dad1a3f..fb7ff89 100644 --- a/mispmock/src/exchange/ResponseMock.java +++ b/mispmock/src/com/olexyn/misp/mock/exchange/ResponseMock.java @@ -1,4 +1,4 @@ -package exchange; +package com.olexyn.misp.mock.exchange; import org.springframework.mock.web.MockHttpServletResponse; diff --git a/production/misphelper/META-INF/misphelper.kotlin_module b/production/misphelper/META-INF/misphelper.kotlin_module new file mode 100644 index 0000000..a49347a Binary files /dev/null and b/production/misphelper/META-INF/misphelper.kotlin_module differ diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..b3b399e --- /dev/null +++ b/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash +./make-war.sh +./copy-restart.sh \ No newline at end of file