Database MySql per memorizzazione dati metereologici

Il programma che sto per esporvi tratta la realizzazione di un servizio Java per la raccolta e la memorizzazione in un database relazionale mysql dei dati acquisiti dai servizi http://www.campanialive.it e http://www.campaniameteo.it  in modo periodico.
Il software in questione oltre a popolare il db, dispone di una semplice interfaccia Java Desktop per visualizzare i dati memorizzati nel database.
Il programma in sostanza acquisisce dai siti sopra citati i dati generati dai sensori delle stazioni meteo campane e li inserisce nell'apposite tabelle MySql per poi essere visualizzati dal programma di interfaccia Java Desktop.
Innanzitutto c'è da precisare una distinzione dei dati acquisiti (che sono stati separati in tabelle diverse); dati statici, cioè quei dati che sarebbe stato inutile acquisire ogni volta, cioè il nome della stazione meteo, i dati di georeferenziazione ecc.; e dati dei sensori meteo, cioè la temperatura, l'umidità la velocità del vento ecc., insomma quei  dati che sono acquisiti periodicamente soggetti ad aggiornamenti costanti.
 
Per campanialive.it è stata utilizzata la libreria “html parser” che permette di trattare la pagina HTML come una pagina XML ed è stato creato un filtro apposito (basato su questa libreria) che ha permesso di acquisire i valori specifici che indicavano i sensori della stazione meteo.
Per campaniameteo.it si è dovuta utilizzare la libreria “JTidy” che ha “trasformato” la pagina HTML in XML, correggendo gli errori di sintassi e permettendo l’acquisizione dei valori utili. 
 
Per quanto riguarda i dati delle stazioni meteo (id stazione, nome stazione , provincia, latitudine, longitudine, sito di provenienza) è stato riempito manualmente un ArrayList di “stazioni meteo” dove vi erano presenti tutte le stazioni meteo sia di campanialive.it che campaniameteo.it che, in base al sito di provenienza, verrà utilizzato il filtro apposito citato precedentemente per l’acquisizione dei valori utili.
 
Per far si che la scansione dei sensori meteo avvenisse periodicamente una volta avviato il programma, si è utilizzata l’interfaccia ScheduledExecutorService della libreria java.util.concurrent.
Grazie ad una gestione multithread infatti, si è potuto far avviare ogni intervallo di tempo prestabilito il metodo “ExecuteQuery”, che va ad eseguire la Query per l’inserimento dei parametri acquisiti dagli url delle stazioni meteo.
 
L’interfaccia di visualizzazione presenta due ComboBox che permettono la scelta, prima della provincia in una ComboBox, e poi (solo una volta scelta la provincia) la scelta della stazione meteo tra l’elenco che si viene a creare nell’altra ComboBox.
Fatte entrambe le scelte cliccando su un pulsante, appare nella TextArea sottostante l’elenco dei sensori con i rispettivi parametri acquisiti alla rispettiva data e ora.
Mentre in un Label poco sopra, appaiono altre info sulla stazione meteo selezionata.
 
Il progetto completo e altro materiale di spiegazione del codice lo potete scaricare al seguente link