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 15:02:55 +02:00
String temp ;
2019-10-11 10:48:04 +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 09:03:14 +02:00
}
2019-10-04 16:52:14 +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-04 16:52:14 +02:00
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-04 16:52:14 +02:00
}
2019-10-11 10:48:04 +02:00
}