2019-10-04 16:52:14 +02:00
package com.wasteinformationserver.mqtt ;
2019-10-11 16:16:28 +02:00
import com.wasteinformationserver.basicutils.Log ;
2019-11-08 10:42:22 +01:00
import com.wasteinformationserver.db.JDCB ;
2019-10-04 16:52:14 +02:00
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
2019-10-11 10:48:04 +02:00
import java.text.DateFormat ;
import java.util.GregorianCalendar ;
2019-10-04 16:52:14 +02:00
public class mqtt {
2019-10-11 15:02:55 +02:00
2019-10-11 09:03:14 +02:00
public mqtt () {
2019-10-04 16:52:14 +02:00
}
2019-10-11 09:03:14 +02:00
public void notifymessage () {
2019-10-04 16:52:14 +02:00
2019-10-11 09:03:14 +02:00
mqttreceiver mr = new mqttreceiver ();
2019-10-04 16:52:14 +02:00
mr . addMessageReceivedListener ( new ActionListener () {
@Override
public void actionPerformed ( ActionEvent e ) {
2019-10-11 15:02:55 +02:00
String temp = e . getActionCommand ();
2019-11-08 14:13:32 +01:00
System . out . println ( temp );
2019-10-11 15:02:55 +02:00
String [] split = temp . split ( "," );
2019-11-08 14:13:32 +01:00
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 ] ));
2019-10-04 16:52:14 +02:00
}
});
2019-10-11 15:02:55 +02:00
mr . getmessage ();
2019-10-04 16:52:14 +02:00
}
2019-11-08 14:13:32 +01:00
public void getDatabasedata ( String message , String wastetyp , int clientidentify ) {
2019-10-11 10:48:04 +02:00
2019-10-11 15:02:55 +02:00
String temp ;
2019-10-04 16:52:14 +02:00
2019-10-11 16:16:28 +02:00
Log . debug ( message );
2019-11-08 10:42:22 +01:00
JDCB Database = new JDCB ( "placeuser" , "eaL956R6yFItQVBl" , "wasteinformation" );
2019-10-11 15:02:55 +02:00
ResultSet result = Database . executeQuery ( message );
2019-10-11 09:03:14 +02:00
try {
while ( result . next ()) {
2019-11-08 14:13:32 +01:00
String temptime = String . valueOf ( result . getString ( "pickupdate" ));
2019-10-11 15:02:55 +02:00
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 ( " " );
2019-10-25 09:36:51 +02:00
int abholtag ;
2019-10-11 15:02:55 +02:00
if ( partstwo [ 0 ] . contains ( newDate )) {
2019-10-25 09:36:51 +02:00
abholtag = 1 ;
2019-10-11 15:02:55 +02:00
} else {
2019-10-25 09:36:51 +02:00
abholtag = 0 ;
2019-10-11 15:02:55 +02:00
}
2019-11-08 14:13:32 +01:00
temp = clientidentify + "," + wastetyp + "," + abholtag ;
2019-10-25 15:58:19 +02:00
System . out . println ( temp );
2019-10-11 15:02:55 +02:00
if ( temp != null ) {
transmitmessageAbfallart ( temp );
} else {
2019-10-11 16:16:28 +02:00
Log . debug ( "NO Connection" );
2019-10-11 15:02:55 +02:00
}
2019-10-11 09:03:14 +02:00
}
} catch ( SQLException e ) {
2019-11-08 14:13:32 +01:00
System . out . println ( "Exception" );
2019-10-11 09:03:14 +02:00
e . printStackTrace ();
2019-10-04 16:52:14 +02:00
}
}
2019-10-11 10:48:04 +02:00
2019-11-08 14:13:32 +01:00
2019-10-11 16:14:05 +02:00
private void transmitmessageAbfallart ( String temp ) {
2019-10-11 10:48:04 +02:00
mqtttransmitter mt = new mqtttransmitter ();
2019-10-11 16:16:28 +02:00
Log . debug ( temp );
2019-10-11 16:14:05 +02:00
mt . sendmessage ( temp );
2019-10-11 10:48:04 +02:00
}
}