From 0518c1c8098a58cb1c88454d46a945c5bc90d0b5 Mon Sep 17 00:00:00 2001
From: lukas-heiligenbrunner
Date: Fri, 10 Jan 2020 16:38:18 +0100
Subject: [PATCH] mqtt improvements new device page
---
.idea/misc.xml | 2 +-
build.gradle | 2 +-
src/java/com/wasteinformationserver/main.java | 3 +
.../com/wasteinformationserver/mqtt/mqtt.java | 11 +-
.../mqtt/mqttreceiver.java | 1 +
.../website/Webserver.java | 68 +---
src/resources/wwwroot/dashboard.html | 9 +
src/resources/wwwroot/device.html | 317 ++++++++++++++++++
src/resources/wwwroot/js/device.js | 37 ++
9 files changed, 381 insertions(+), 69 deletions(-)
create mode 100644 src/resources/wwwroot/device.html
create mode 100644 src/resources/wwwroot/js/device.js
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6619eb6..5cd2caa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 3e1f9b2..3dc023a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ plugins {
}
group 'com.wasteinformationserver'
-version '0.2-Beta'
+version '0.2.1-Beta'
sourceCompatibility = 1.8
diff --git a/src/java/com/wasteinformationserver/main.java b/src/java/com/wasteinformationserver/main.java
index 0cd7f91..8a10a43 100644
--- a/src/java/com/wasteinformationserver/main.java
+++ b/src/java/com/wasteinformationserver/main.java
@@ -14,6 +14,7 @@ public class main {
Log.setLevel(Log.INFO);
Log.info("startup of WasteInformationServer");
+ Log.info("mem: "+Runtime.getRuntime().totalMemory());
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
try {
@@ -56,5 +57,7 @@ public class main {
} catch (Exception e) {
Log.error("An error occured in the class mqtt");
}
+
+ Log.info("mem: "+Runtime.getRuntime().totalMemory());
}
}
\ No newline at end of file
diff --git a/src/java/com/wasteinformationserver/mqtt/mqtt.java b/src/java/com/wasteinformationserver/mqtt/mqtt.java
index 3621338..a7ec039 100644
--- a/src/java/com/wasteinformationserver/mqtt/mqtt.java
+++ b/src/java/com/wasteinformationserver/mqtt/mqtt.java
@@ -27,7 +27,7 @@ public class mqtt {
public void notifymessage() {
try {
- client = new MqttClient("tcp://192.168.65.15:1883", "JavaSample");
+ client = new MqttClient("tcp://192.168.65.15:1883", "JavaSample42");
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
client.connect(connOpts);
@@ -39,6 +39,7 @@ public class mqtt {
mr.addMessageReceivedListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
+ Log.debug("received message");
String[] split = e.getActionCommand().split(",");
String wastetyp = getTyp(Integer.parseInt(split[2]));
getDatabasedata("SELECT pickupdates.pickupdate FROM pickupdates WHERE pickupdates.citywastezoneid=(SELECT cities.zone FROM cities WHERE cities.name='" + split[1] + "' AND cities.wastetype='" + wastetyp + "' AND cities.zone=" + split[3] + ")", wastetyp, Integer.parseInt(split[0]));
@@ -63,6 +64,12 @@ public class mqtt {
ResultSet result = Database.executeQuery(message);
try {
+ result.last();
+ if (result.getFetchSize() == 0){
+ //if not found in db --> send zero
+ transmitmessageAbfallart(clientidentify + "," + wastenumber + "," + 0);
+ }
+ result.first();
while (result.next()) {
String newDate = getDateDatabase(String.valueOf(result.getString("pickupdate")));
String currentDate = getcurrentDate();
@@ -81,7 +88,7 @@ public class mqtt {
private void transmitmessageAbfallart(String temp) {
-
+ Log.debug("sending message >>>"+temp);
mqtttransmitter mt = new mqtttransmitter(client);
Log.debug(temp);
mt.sendmessage(temp);
diff --git a/src/java/com/wasteinformationserver/mqtt/mqttreceiver.java b/src/java/com/wasteinformationserver/mqtt/mqttreceiver.java
index 469e36a..b9ed5bb 100644
--- a/src/java/com/wasteinformationserver/mqtt/mqttreceiver.java
+++ b/src/java/com/wasteinformationserver/mqtt/mqttreceiver.java
@@ -29,6 +29,7 @@ public class mqttreceiver {
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
message = new String(mqttMessage.getPayload());
+ Log.info("received Request from PCB");
notifylisteners(message);
}
diff --git a/src/java/com/wasteinformationserver/website/Webserver.java b/src/java/com/wasteinformationserver/website/Webserver.java
index 6551af8..79e62e8 100644
--- a/src/java/com/wasteinformationserver/website/Webserver.java
+++ b/src/java/com/wasteinformationserver/website/Webserver.java
@@ -17,9 +17,9 @@ import java.net.InetSocketAddress;
public class Webserver {
public void startserver() {
Log.info("starting Webserver");
- HttpServer server = null;
+
try {
- server = HttpServer.create(new InetSocketAddress(8000), 0);
+ HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/", new MainPage());
@@ -33,72 +33,10 @@ public class Webserver {
server.setExecutor(null); // creates a default executor
server.start();
Log.info("Server available at http://127.0.0.1:8000 now");
- }catch (BindException e){
+ } catch (BindException e) {
Log.criticalerror("The Port 8000 is already in use!");
} catch (IOException e) {
e.printStackTrace();
}
-
-
-
-
- /*
-
- try {
- server = HttpsServer.create(new InetSocketAddress(8000), 0);
-
- // initialise the HTTPS server
- SSLContext sslContext = SSLContext.getInstance("TLS");
-
- // initialise the keystore
- char[] password = "password".toCharArray();
- KeyStore ks = KeyStore.getInstance("JKS");
- FileInputStream fis = new FileInputStream("testkey.jks");
- ks.load(fis, password);
-
- // setup the key manager factory
- KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
- kmf.init(ks, password);
-
- // setup the trust manager factory
- TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
- tmf.init(ks);
-
- // setup the HTTPS context and parameters
- sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
- server.setHttpsConfigurator(new HttpsConfigurator(sslContext) {
- public void configure(HttpsParameters params) {
- try {
- // initialise the SSL context
- SSLContext context = getSSLContext();
- SSLEngine engine = context.createSSLEngine();
- params.setNeedClientAuth(false);
- params.setCipherSuites(engine.getEnabledCipherSuites());
- params.setProtocols(engine.getEnabledProtocols());
-
- // Set the SSL parameters
- SSLParameters sslParameters = context.getSupportedSSLParameters();
- params.setSSLParameters(sslParameters);
-
- } catch (Exception ex) {
- System.out.println("Failed to create HTTPS port");
- }
- }
- });
- } catch (IOException e) {
- e.printStackTrace();
- } catch (CertificateException e) {
- e.printStackTrace();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- } catch (UnrecoverableKeyException e) {
- e.printStackTrace();
- } catch (KeyStoreException e) {
- e.printStackTrace();
- } catch (KeyManagementException e) {
- e.printStackTrace();
- }
- */
-
}
}
diff --git a/src/resources/wwwroot/dashboard.html b/src/resources/wwwroot/dashboard.html
index f86d109..7c0a082 100644
--- a/src/resources/wwwroot/dashboard.html
+++ b/src/resources/wwwroot/dashboard.html
@@ -98,6 +98,15 @@
+
+
+
+
+
+ Devices
+
+
+
diff --git a/src/resources/wwwroot/device.html b/src/resources/wwwroot/device.html
new file mode 100644
index 0000000..c9d1bd8
--- /dev/null
+++ b/src/resources/wwwroot/device.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+ WasteInformation Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+