Documentazione

Spiegazione Codice

Tabella Contenuti

FileUtils

getFileName

Il metodo prende come parametro il percorso della cartella da cui prendere i file
Crea una lista in cui andranno inseriri tutti i nomi dei file, effettua un for per tutti i file presenti nel percorso dato. Se l'oggetto attuale è una cartella possiamo esaminare i file contententi al suo interno richiamando il metodo.
Altrimenti controlla se il file attuale è un PDF, se lo è aggiungiamo alla lista prima creata il file e stampiamo in console / in un log (textarea) il file che è stato aggiunto. Alla fine del ciclo ritorna la lista dei file.

Parametri: percorso cartella da cui prendere i file
Return: una lista di stringhe contenente tutti i file trovati

getOggettoMail

Prende come parametro il nome di un file e lo spezza ad ogni -
Il formato del nome è:

1 - Gennaio 2022 - Nome e Cognome.pdf
Ritorna il secondo argomento (Gennaio 2022) e aggiunge "Busta Paga:"

Paramentri: nome del file
Return: oggetto della mail

getNominativo

Prende come parametro il nome di un file e lo spezza ad ogni -
Il formato del nome è:

1 - Gennaio 2022 - Nome e Cognome.pdf
Il nominativo è il 2 elemento, toglie il .pdf dal nome, elimina gli spazi in eccesso, imposta tutte le lettere iniziali del nome in maiuscolo, se trova qualche carattere speciale lo sostituisce.
Avvisa in console il nome finale e lo ritorna.

Paramentri: nome del file
Return: nominativo

getEmail

Prende come parametro il nominativo di una persona, carica in una Map composta dalla chave il nome e il valore l'email tutte le informazioni che vengono presi da un file CSV online
Il CSV sarà composto nel seguente formato:

Nome e Cognome;email@dominio.com
Nome e Cognome;email@dominio.com
Nome e Cognome;email@dominio.com
Scompatta e inserisce nella Map tutte le infoemazioni ritorna l'email dato il nome.

Paramentri: nominativo
Return: email

getAllEmail

Carica in una Map composta dalla chave il nome e il valore l'email tutte le informazioni che vengono presi da un file CSV online
Il CSV sarà composto nel seguente formato:

Nome e Cognome;email@dominio.com
Nome e Cognome;email@dominio.com
Nome e Cognome;email@dominio.com
Ritorna la Map con tutte le informazioni

Paramentri: //
Return: map con chiave il nome e il valore l'email

Main

Crea Cartella

Crea una cartella "Inviate" dove andranno spostati tutti i documenti inviati, avvisa in console se non è stato possibile effettuare l'operazione.

GUI

Il costruttore va a creare e posizionare tutti gli oggetti dell'interfaccia grafica e ne setta le proprietà come colore, posizione, font, icona ecc.

bottoneActionPerformed

Il metodo effettua alcune azioni preliminari come impostare la barra di progresso a 0 e il bottone non cliccabile, va a caricare i file in una List ed imposta il valore massimo della barra di progresso al numero dei file.
Effettua un ciclo in cui per ogni file va a prendere il nome, l'oggetto e l'email ed invia la mail.
Se non ci sono stati errori sposta il file nella cartella "Inviate", controlla se ci sono stati degli errori generali e mostra la scritta del programma terminato

saveLogActionPerformed

Il metodo racchude tutto il log in una varibile e se la lunghezza del contenuto è maggiore di 0 va a creare un nuovo file e salvare il log al suo interno.
Il nome del file sarà salvato con il seguente formato:

log-dd-MM-yyyy_HH.mm.ss.txt

scaricaGuidaActionPerformed

Il metodo apre una pagina web (il pdf della guida) nel browser predefinito e scarica il pdf o nel caso in cui sia leggibile online apre il PDF.

ImpostazioniGUI

La classe effettua tutti i preparativi dell'interfaccia grafica

salvaActionPerformed

Il metodo prende dal campo email e password i calori e li salva in un file bp3em.properties
Il file verrà salvato nella cartella APPDATA.

SendMail

Send

Il metodo si occupa di mandare la mail al dato destinatario con l'oggettoe e il file allegato.
Svolge le seguenti operazioni:

1 - imposta le proprietà dell'server SMTP
2 - effettua il login con le credenziali
3 - imposta il mittente
4 - imposta il destinatario
5 - imposta l'oggetto della mail
6 - imposta il corpo della mail
7 - allega il file
8 - invia il messaggio

Paramentri: destinatario, oggetto, allegato

setCredenziali

Il metodo carica dal file bp3em.properties l'email e la password precedentemente salvati ed imposta le variabili per il login dell'account del mittente con quei valori.