1051
This commit is contained in:
		@@ -21,7 +21,7 @@ public class main {
 | 
			
		||||
        }));
 | 
			
		||||
 | 
			
		||||
        Thread mythread = new Thread(() -> new Webserver().startserver());
 | 
			
		||||
        mythread.start();
 | 
			
		||||
        //mythread.start();
 | 
			
		||||
 | 
			
		||||
        Log.message("thread started");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -17,20 +17,17 @@ public class mqttreceiver {
 | 
			
		||||
    public ArrayList<ActionListener> 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
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user