Class UserPanelService
java.lang.Object
it.unisa.diem.wordageddon_g16.services.UserPanelService
Classe di 'servizio' associata alla gestione pannello utente.
Fornisce funzionalità per la gestione dei documenti, delle WDM, degli utenti e delle stopword. Opera come interfaccia tra il livello GUI e il livello DAO.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AppContext
private final DocumentDAO
private final GameReportDAO
private final JDBCStopWordDAO
private final JDBCUserDAO
private final JDBCWdmDAO
-
Constructor Summary
ConstructorsConstructorDescriptionUserPanelService
(GameReportDAO gameReportDAO, JDBCUserDAO userDAO, DocumentDAO documentDAO, JDBCStopWordDAO stopWordDAO, JDBCWdmDAO wdmDAO, AppContext appContext) Costruttore delUserPanelService
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addStopWords
(String tfRaw) Aggiunge nuove stopword dal campo di testo dell'interfaccia grafica.void
addStopwordsFromFile
(File file) Aggiunge le stopword contenute in un file al database.void
deleteDocument
(Document doc) Elimina un documento dal database e dal filesystem se non è più utilizzato.void
deleteStopword
(String word) Rimuove una stopword dal sistema.void
demoteUser
(String username) Declassa un amministratore a semplice utente.Restituisce tutti i documenti presenti nel sistema.Restituisce tutti gli utenti eccetto quello attualmente loggato.Recupera tutti i report di gioco dell'utente attualmente loggato.Recupera tutte le stopword.Restituisce le statistiche (punteggio massimo, medio, numero totale) dell'utente corrente.void
moveDocument
(File tempFile) Aggiunge un nuovo documento al sistema e copia fisicamente il file nella cartella di lavoro.void
promoteUser
(String username) Promuove un utente a ruolo di amministratore.stopWordsParser
(String tfRaw) Estrae tutte le stopword (parole e simboli di punteggiatura) da una singola riga di testo.symbolicNameOf
(String filename) Converte un nome file in un titolo simbolico con la prima lettera maiuscola di ogni parola.void
Inserisce o aggiorna una WDM nel database.
-
Field Details
-
gameReportDAO
-
userDAO
-
documentDAO
-
stopWordDAO
-
appContext
-
wdmDAO
-
-
Constructor Details
-
UserPanelService
public UserPanelService(GameReportDAO gameReportDAO, JDBCUserDAO userDAO, DocumentDAO documentDAO, JDBCStopWordDAO stopWordDAO, JDBCWdmDAO wdmDAO, AppContext appContext) Costruttore delUserPanelService
.- Parameters:
gameReportDAO
- DAO per i report di giocouserDAO
- DAO per gli utentidocumentDAO
- DAO per i documentistopWordDAO
- DAO per le stopwordappContext
- Contesto applicativo
-
-
Method Details
-
updateWDM
Inserisce o aggiorna una WDM nel database. Se il documento associato esiste già, aggiorna la WDM eliminando la precedente.- Parameters:
wdm
- la matrice parola-documento da salvare
-
getCurrentUserReports
Recupera tutti i report di gioco dell'utente attualmente loggato.- Returns:
List<GameReport>
lista di report
-
getUserStatsForCurrentUser
-
promoteUser
Promuove un utente a ruolo di amministratore.- Parameters:
username
- il nome dell'utente da promuovere
-
demoteUser
Declassa un amministratore a semplice utente.- Parameters:
username
- il nome dell'utente da declassare
-
getAllUsersExceptCurrent
-
addStopwordsFromFile
Aggiunge le stopword contenute in un file al database.- Parameters:
file
- file di testo contenente le stopword- Throws:
IOException
- se si verifica un errore di lettura
-
symbolicNameOf
-
getAllDocuments
Restituisce tutti i documenti presenti nel sistema.- Returns:
Collection<Document>
-
moveDocument
Aggiunge un nuovo documento al sistema e copia fisicamente il file nella cartella di lavoro.- Parameters:
tempFile
- file da importare- Throws:
IOException
- se il file esiste già o non è accessibile
-
deleteDocument
Elimina un documento dal database e dal filesystem se non è più utilizzato.- Parameters:
doc
- documento da eliminare
-
getStopwords
-
addStopWords
Aggiunge nuove stopword dal campo di testo dell'interfaccia grafica.- Parameters:
tfRaw
- contenuto grezzo del campo testo
-
deleteStopword
Rimuove una stopword dal sistema.- Parameters:
word
- la parola da rimuovere
-
stopWordsParser
Estrae tutte le stopword (parole e simboli di punteggiatura) da una singola riga di testo. Il metodo effettua il parsing della stringa fornita, estraendo:- Le parole (sequenze di caratteri alfabetici) separate da spazi o punteggiatura
- Tutti i simboli di punteggiatura presenti
Set<String>
per garantire l’unicità. La stringa viene convertita in minuscolo e ripulita da spazi iniziali/finali.- Parameters:
tfRaw
- la riga di testo da analizzare (può contenere parole e simboli)- Returns:
- un insieme di stopword estratte dalla riga (parole e simboli di punteggiatura)
-