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 @@

+ + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+
+
+
+

Dashboard

+
+
+ +
+
+
+
+ + + +
+
+ +
+
+ +
+
+

150

+ +

Todo

+
+
+ +
+ More info +
+
+ +
+ +
+
+

42

+ +

Devices

+
+
+ +
+ More info +
+
+ +
+ + +
+ +
+ + +
+
+

+ + User Data +

+ +
+
+
+ + + + Please try to use no special + characters +
+
+ + + Please try to use no special + characters +
+ +
+ + +
+
+
+ +
+ + + + +
+ + +
+ +
+ +
+
+ +
+ +
+ By Gregor Dutzler & Lukas Heiligenbrunner & Emil Meindl +
+ Version 3.0.0 + Build 2019-8-8 9:30 +
+ + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/resources/wwwroot/js/device.js b/src/resources/wwwroot/js/device.js new file mode 100644 index 0000000..5c700d1 --- /dev/null +++ b/src/resources/wwwroot/js/device.js @@ -0,0 +1,37 @@ +$(document).ready(function () { + $('#btn-newdevice').click(function (e) { + e.preventDefault(); + + Swal.showLoading({ + title: 'No connection to Database', + html: 'Setup DB here --> click.', + }); + + // Swal.fire({ + // type: "error", + // title: 'No connection to Database', + // html: 'Setup DB here --> click.', + // onBeforeOpen: () => { + // Swal.showLoading() + // }, + // }).then((result) => { + // console.log('Popup closed. ') + // + // }); + + + // $.post('/senddata/loginget', 'username=' + username + '&password=' + password, function (data) { + // + // console.log(data); + // if (data.status == "nodbconn"){ + // + // } + // if (data.accept == true) { + // console.log("successfully logged in!"); + // document.cookie = "username=" + username; + // window.location = 'dashboard.html'; + // } + // }, 'json'); + }); +}); +