From cfddff4d8d397d3bce6b1d26000a94912dfabbdc Mon Sep 17 00:00:00 2001 From: Gregor_Dutzler Date: Fri, 15 Nov 2019 10:51:50 +0100 Subject: [PATCH] 1051 --- .idea/artifacts/WasteinformationServer.xml | 2 +- src/com/wasteinformationserver/main.java | 2 +- src/com/wasteinformationserver/mqtt/mqtt.java | 101 +++++++++++------- .../mqtt/mqttreceiver.java | 11 +- .../mqtt/mqtttransmitter.java | 15 +-- 5 files changed, 74 insertions(+), 57 deletions(-) diff --git a/.idea/artifacts/WasteinformationServer.xml b/.idea/artifacts/WasteinformationServer.xml index 99a538f..6537e3a 100644 --- a/.idea/artifacts/WasteinformationServer.xml +++ b/.idea/artifacts/WasteinformationServer.xml @@ -1,5 +1,5 @@ - + $PROJECT_DIR$/out/artifacts/WasteinformationServer diff --git a/src/com/wasteinformationserver/main.java b/src/com/wasteinformationserver/main.java index 35da912..2869882 100644 --- a/src/com/wasteinformationserver/main.java +++ b/src/com/wasteinformationserver/main.java @@ -21,7 +21,7 @@ public class main { })); Thread mythread = new Thread(() -> new Webserver().startserver()); - mythread.start(); + //mythread.start(); Log.message("thread started"); diff --git a/src/com/wasteinformationserver/mqtt/mqtt.java b/src/com/wasteinformationserver/mqtt/mqtt.java index 2218d23..d335100 100644 --- a/src/com/wasteinformationserver/mqtt/mqtt.java +++ b/src/com/wasteinformationserver/mqtt/mqtt.java @@ -2,16 +2,22 @@ package com.wasteinformationserver.mqtt; import com.wasteinformationserver.basicutils.Log; import com.wasteinformationserver.db.JDCB; +import org.eclipse.paho.client.mqttv3.MqttClient; +import org.eclipse.paho.client.mqttv3.MqttConnectOptions; +import org.eclipse.paho.client.mqttv3.MqttException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.GregorianCalendar; public class mqtt { - + MqttClient client = null; public mqtt() { @@ -19,60 +25,63 @@ public class mqtt { public void notifymessage() { - mqttreceiver mr = new mqttreceiver(); + try { + client = new MqttClient("tcp://192.168.65.15:1883", "JavaSample"); + MqttConnectOptions connOpts = new MqttConnectOptions(); + connOpts.setCleanSession(true); + client.connect(connOpts); + + } catch (MqttException e) { + e.printStackTrace(); + } + + mqttreceiver mr = new mqttreceiver(client); mr.addMessageReceivedListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String temp = e.getActionCommand(); - System.out.println(temp); String[] split = temp.split(","); - getDatabasedata("SELECT pickupdates.pickupdate FROM pickupdates WHERE pickupdates.citywastezoneid=(SELECT cities.zone FROM cities WHERE cities.name='" + split[1] + "' AND cities.wastetype='" + split[2] + "' AND cities.zone=" + split[3] + ")",split[2], Integer.parseInt(split[0])); + getDatabasedata("SELECT pickupdates.pickupdate FROM pickupdates WHERE pickupdates.citywastezoneid=(SELECT cities.zone FROM cities WHERE cities.name='" + split[1] + "' AND cities.wastetype='" + split[2] + "' AND cities.zone=" + split[3] + ")", split[2], Integer.parseInt(split[0])); } }); mr.getmessage(); } - public void getDatabasedata(String message,String wastetyp, int clientidentify) { - - String temp; + public void getDatabasedata(String message, String wastetyp, int clientidentify) { Log.debug(message); JDCB Database = new JDCB("placeuser", "eaL956R6yFItQVBl", "wasteinformation"); ResultSet result = Database.executeQuery(message); try { - while (result.next()) { - String temptime = String.valueOf(result.getString("pickupdate")); + if (!result.isBeforeFirst()) { + int abholtag = 0; + transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); + } else { + while (result.next()) { + String temptime = String.valueOf(result.getString("pickupdate")); - GregorianCalendar now = new GregorianCalendar(); - DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); - String date = df.format(now.getTime()); - - String[] parts = temptime.split("-"); - String tempyear = parts[0]; - - String[] yearsplit = tempyear.split("0"); - String tempyearnew = yearsplit[1]; - - String newDate = parts[2] + "." + parts[1] + "." + tempyearnew; - - String[] partstwo = date.split(" "); + GregorianCalendar now = new GregorianCalendar(); + DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); + String date = df.format(now.getTime()); + String[] parts = temptime.split("-"); + String tempyear = parts[0]; + String[] yearsplit = tempyear.split("0"); + String tempyearnew = yearsplit[1]; + String newDate = parts[2] + "." + parts[1] + ".20" + tempyearnew; + String[] partstwo = date.split(" "); + String Datetomorrow=nexDayDate(); - int abholtag; - if (partstwo[0].contains(newDate)) { - abholtag = 1; - } else { - abholtag = 0; - } - temp = clientidentify+","+ wastetyp + "," + abholtag; - System.out.println(temp); + int abholtag; + if (partstwo[0].contains(newDate)||partstwo[0].contains(Datetomorrow)) { + abholtag = 1; + transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); + }else { + abholtag=0; + transmitmessageAbfallart(clientidentify + "," + wastetyp + "," + abholtag); + } - - if (temp != null) { - transmitmessageAbfallart(temp); - } else { - Log.debug("NO Connection"); } } } catch (SQLException e) { @@ -83,11 +92,29 @@ public class mqtt { } - private void transmitmessageAbfallart(String temp) { - mqtttransmitter mt = new mqtttransmitter(); + mqtttransmitter mt = new mqtttransmitter(client); Log.debug(temp); mt.sendmessage(temp); } + + private String nexDayDate() { + + final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); + Date currentDate = new Date(); + + Calendar c = Calendar.getInstance(); + c.setTime(currentDate); + c.add(Calendar.DATE, 1); + Date currentDatePlusOne = c.getTime(); + + String temp=dateFormat.format(currentDatePlusOne); + String split[]=temp.split("/"); + String newDate=split[2]+"."+split[1]+"."+split[0]; + return newDate; + + + + } } \ No newline at end of file diff --git a/src/com/wasteinformationserver/mqtt/mqttreceiver.java b/src/com/wasteinformationserver/mqtt/mqttreceiver.java index a745d63..cca19b0 100644 --- a/src/com/wasteinformationserver/mqtt/mqttreceiver.java +++ b/src/com/wasteinformationserver/mqtt/mqttreceiver.java @@ -17,20 +17,17 @@ public class mqttreceiver { public ArrayList mylisteners = new ArrayList<>(); public String message; - public mqttreceiver() { - + public mqttreceiver(MqttClient mqtt) { + this.client = mqtt; } public String getmessage() { try { - client = new MqttClient("tcp://192.168.65.15:1883", "JavaSample"); - client.connect(); - - client.setCallback(new MqttCallback() { + client.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable throwable) { - +Log.error("connection lost"); } @Override diff --git a/src/com/wasteinformationserver/mqtt/mqtttransmitter.java b/src/com/wasteinformationserver/mqtt/mqtttransmitter.java index 362ca94..daf2d21 100644 --- a/src/com/wasteinformationserver/mqtt/mqtttransmitter.java +++ b/src/com/wasteinformationserver/mqtt/mqtttransmitter.java @@ -9,32 +9,25 @@ import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; public class mqtttransmitter { + MqttClient client; - public mqtttransmitter() { + public mqtttransmitter(MqttClient client) { + this.client=client; } public void sendmessage(String temp) { String topic = "TopicOut"; String content = temp; int qos = 2; - String broker = "tcp://192.168.65.15:1883"; - String clientId = "JavaSample"; MemoryPersistence persistence = new MemoryPersistence(); try { - MqttClient sampleClient = new MqttClient(broker, clientId, persistence); - MqttConnectOptions connOpts = new MqttConnectOptions(); - connOpts.setCleanSession(true); - Log.debug("Connecting to broker: " + broker); - sampleClient.connect(connOpts); Log.debug("Connected"); Log.debug("Publishing message: " + content); MqttMessage message = new MqttMessage(content.getBytes()); message.setQos(qos); - sampleClient.publish(topic, message); + client.publish(topic, message); Log.debug("Message published"); - sampleClient.disconnect(); - Log.debug("Disconnected"); } catch (MqttException me) {